unity——TransFrom(物体姿态)

//TransLate物体移动方法
transfrom.TransLate(x,y,z)

unity物体姿态--transfrom

transfrom除去在unity编辑器的面板上静态调整外就是在C#脚本中动态调整

transfronm一共主要有三个方法ponsition(位置),Rotate(旋转),Scale(缩放)

ponsition是物体的位置信息是一组Vector3的向量使用他可以直接改变物体的位置

//直接赋值会直接将物体变动到相应位置
transfrom.position = new Vector3(x,y,z)
//在update中使用 +=就是一个移动效果
transfrom.position += new Vector(x,y,z)
//这里的xyz是浮点数

Rotate是一个四元数所以我们需要使用欧拉角来更改物体旋转

//eulerAmgles(欧拉角)欧拉角方法可以旋转物体,同position一样的超控方式
//直接修改位置
transfrom.eulerAmgles = new Vector3(x,y,z)
//在update中做旋转运动
transfrom.eulerAmgles += new Vector3(x,y,z)

Scale同position大致相同别在于操控方法不是他本身

//lossScale是超控物体缩放的方法
transfrom.lossScale = new Vector3(x,y,z)
//在update中做缩放运动
transfrom.lossScale += new Vector33(x,y,z)

上诉的方法都是基于世界坐标要使用相对坐标操作方法和世界坐标一样只是方法名有点不同,位置

locaPosition,旋转:locaEulerAmgles,缩放:locaScale

当然上述方法使用起来略显丑陋在unity提供简便的方法

Translate

//TramsLate unity中控制物体移动
transfrom.Translate(x,y,z)

Rotate

//Rotate 控制物体旋转
transfrom.Rotate(x,y,z)

RotateAround

//RotateAround 也是旋转不过同于Rotate相对于自己进行自转,他是相对一个物体进行公转
transfrom.RotateAround(旋转目标原点,转动轴,转动数度)
//旋转目标原点:相当于太阳系中的太阳其他星系都围绕太阳做公转
//转动轴:朝哪个方向进行公转
//转动速度:浮点速

小知识:在update中每帧的时间不相同会导致物体运动看起来不太匀速可以使用Time.dateTime

//Time.dateTime 
transfrom.TransLate(x * Time.dateTie,y,z)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值