一、位移与旋转
一般对物体的位移与旋转操作都是通过修改对象的Transform(变换属性)和Rigidbody(刚体属性)组件参数来实现的。
旋转:
使用Rotate方法
public class BNUTransR : MonoBehaviour {
void Update(){
this.transform.Rotate(2,0,0); /*绕x轴每帧旋转2°(x轴,y轴,z轴)
在Rotate方法中数字为旋转度数而非速度*/
}
}
位移:
使用Translate方法
public class BNUTransT : MonoBehaviour{
void Update(){
this.transform.Translate(0,0,1); //每帧朝z轴方向移动1个单位长度
}
}
关于单位长度的设定在Edit菜单的Snap Settings中。
普通物体和添加了刚体组件的物体都可以使用tranrform变换下的Translate函数进行移动的。不过添加刚体组件的物体具备物理属性,受力后会有移动旋转碰撞,都是通过物理引擎进行计算的,这时这类物体如果再同时使用变换方式进行移动,就会出错。
二、有关时间的方法
在Unity中需要记录时间的功能都需要用到Time类,其中最重要的变量就是deltaTime(为只读变量),它代表了最近一次调用FixedUpdate或者Update方法到现在的时间。
如果想要在不考虑帧率的情况下匀速的完成一个效果,就可以乘以T