Unity学习笔记:Transfrom相关属性

60 篇文章 2 订阅

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物体

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值