//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)