Transfrom.eulerAngles 具有get和set属性的Vector3类型的值 返回物体世界坐标上的欧拉角。
欧拉角:代指物体的Rotation属性,Transfrom中的Rotation属性表示的是该物体的四元数。可以通过给物体的欧拉角直接赋值可以改变物体的角度。
Transform.localEulerAngles 同上,返回相对坐标上的欧拉角。
Transfrom.parent 返回物体的父物体
Transfrom.root 返回物体的根物体
Transform.Rotate可以传入第二个参数指定围着世界坐标旋转
Transform.RotateAround(Vectot3 a , Vector3 up ,float)(非静态方法)让物体围绕着物体a旋转,第二个参数是旋转的轴,第三个参数是旋转的速度。(未实践)
Transform.Setparent(Transform , bool) 通过进行写入来绑定或解除父子关系 第一个参数为父集属性,如果解除父集则为null,第二个参数为是否保持原先的世界坐标,true为保持当前坐标,flase为把当前的世界坐标转换为父集的相对坐标。(不传入默认为true)(transfrom.parent = null)同理
Transform.InverseTransformDirection(Vector3)传入一个向量,通过传入的参数根据自身位置和世界坐标系(xyz轴)来创建并记录一个坐标点(如果传入0,0,1,就会记录根据自身物体的位置移动世界坐标的z轴往前1位置的坐标点)。然后返回一个自身物体指向该坐标点的向量(参照自身坐标,视为该坐标点作为自己子集时的position)。
Transform.TransformDirection(Vector3)与上面方法相反。根据自身位置和自身坐标系记录坐标点,然后返回对于自身的世界坐标该坐标点的位置。
Trasnform.InverseTransformPoint(Vector3)在世界位置以世界坐标根据传入参数创建并记录一个坐标点,返回一个自身物体指向坐标点的向量。
Transform.TransformPoint(Vector3)在自身位置以自身坐标根据传入参数创建并记录一个坐标点,返回世界坐标指向坐标点的向量。
Transform.TransformVector(Vector3)在世界位置以自身坐标根据传入的参数创建并记录一个坐标点,返回世界原点指向坐标点的向量。
Transform.InverseTransformVector(Vector3)在世界位置以自身坐标根据传入的参数创建并记录一个坐标点,返回自身物体指向坐标点的向量。
Rotation相关
gameobject.transfrom.rotation = Quaternion.Euler(0,0,0);将一个固定角度赋值给当前物体角度
Quaternion.identity 赋予一个从0 0 0的四元数
Quaternion.Angle(Quaternion a, Quaternion b) 判断一个物体(角度)对一个物体(角度)的偏移量
Quaternion.AngleAxis(30, Vector3.up) 给物体的角度的Y轴赋值为30
Quaternion.Dot(transform.rotation, Quaternion.identity)计算物体角度与世界正方向的点积
transform.rotation = Quaternion.FromToRotation(Vector3.up, Vector3.forword);将自身的上方向和正方向设置为世界坐标的上方向和正方向
gameObject.transform.rotation = Quaternion.Lerp(gameObject.transform.rotation, Quaternion.Euler( 0,90,0), time);
使A物体缓慢转向固定角度
a.transform.rotation=Quaternion.Slerp
(a.transform.rotation,Quaternion.LookRotation(b.transform.position-a.transform.position),Time.deltaTime*10);
使A物体能始终缓慢的转向B物体