#一、描述 此课程讲解TransForm的定义以及使用方法
#二、简介说明
TransForm是对游戏对象的移动,旋转,缩放做操作的,并且如果一个游戏对象他没有父布局的话,他的作用的坐标是世界坐标,如果他有父布局的话,他的坐标是相对于父布局的.
//获取游戏对象的世界坐标
Vector3 vector3 = transform.position;复制代码
//获取游戏对象的相对坐标
Vector3 vector3 = transform.localPosition;复制代码
都是对应着物体的朝向,前面,右边,上边,是用于判断当前的朝向,返回对应的数值
transform.forwardtransform.righttransform.up复制代码
//设置游戏对象的世界坐标
transform.position = Vector3.zero;transform.position = new Vector3 (0f,0,0);复制代码
//设置游戏对象的相对坐标
transform.localPosition = Vector3.zero;复制代码
Note:所以总的来说,如果游戏对象有父容器,则应该设置相对坐标localPosition,没有的话,就直接用世界坐标position即可。
//获取游戏对象的缩放
Vector3 vector3 = transform.localScale;复制代码
//设置游戏对象的缩放
transform.localScale = new Vector3 (2,2,2); 复制代码
//设置游戏对象的移动,以自身的position为基础,进行增加减少
//Translate方法是在自身的坐标基础上移动,比如现在的坐标是1,0,0 ,你设置他移动-1,0,0则他会在之前的坐标基础上进行增加或者减少transform.Translate(new Vector3(-1,0,0));复制代码
//设置游戏对象的旋转,第一个参数为以什么方向作为轴进行旋转,第二个参数为旋转的角度,设置up或者down是左右进行旋转,left或者right是上下进行旋转,至于区别就是顺时针或者逆时针的区别了。
transform.Rotate (Vector3.right, 10f);复制代码
//此方法也是设置旋转(欧拉角),不过只会执行一遍不会在原来的基础上进行变化
transform.eulerAngles = new Vector3(45,0,0);复制代码
//获取父对象Transform属性以及获取root根对象的Transform属性
Transform transform = transform.parent; //此获取的Transform可以set/getTransform transforms = transform.root; //获取的跟对象的Transform只能get复制代码
//获取子对象的名称,find获取一个子对象的名称的transform,而FindChild的时候,如果有多个同名的子对象,则只取第一个,find可以查找到没有开启的子物体
transform.Find("自对象名称");transform.FindChild("子对象名称");复制代码
//此方法是根据子对象的索引来查找所有子对象中的某一个
transform.GetChild (i)复制代码
设置这个物体在根目录下子物体集合中的第几个索引
transform .SetSiblingIndex复制代码
设置物体成为另一个物体的子物体
GameObject game = GameObject.Find ("Sphere");game.transform.parent = gameObject.transform;复制代码
消除自身是根物体的方法,本来下面有多个子物体,调用此方法后,就解散了所有的子物体
transform.DetachChildren ();复制代码
看向一个Transform的位置
public Transform target;void Update() { // Rotate the camera every frame so it keeps looking at the target transform.LookAt(target);}复制代码