-
Unity中的游戏体的父子级关系是有Transform维持的。
-
先创建一个拥有父子关系的游戏体,挂载一个脚本(挂载到子物体上),下面是一些常用的transform属性
Debug.Log(transform.position);//在世界坐标的位置
Debug.Log(transform.localPosition);//相对于父物体的位置
//获取旋转
Debug.Log(transform.rotation);
Debug.Log(transform.localRotation);
Debug.Log(transform.eulerAngles);
Debug.Log(transform.localEulerAngles);
//获取缩放
Debug.Log(transform.localScale);
//向量
Debug.Log(transform.forward);//Z轴,前方
Debug.Log(transform.right);//X轴,右方
Debug.Log(transform.up);//Y轴,上方
- 看向原点
void Update()
{
//时时刻刻看向000点
transform.LookAt(Vector3.zero);
}
- 绕某一轴旋转
void Update()
{
transform.RotateAround(Vector3.zero, Vector3.up,5);
}
- 向这前方移动每一帧0.1
void Update()
{
transform.Translate(Vector3.forward*0.1f);
}
父子关系
- 获取父物体
transform.parent.gameObject
- 获取子物体个数
Debug.Log(transform.childCount);
- 解除与子物体的父子关系
//
transform.DetachChildren();
- 获取子物体
Transform trans = transform.Find("子物体名称");//第一种方式
trans=transform.GetChild(0);
- 判断一个物体是不是另外一个物体得子物体
bool res = trans.IsChildOf(transform);//判断trans是否是transform的子物体
- 设置父物体
trans.SetParent(transform);