一、Transform
变换
Transform组件是Unity3D的重点之一,主要用于控制物体的旋转、移动、缩放。
API:application program interface 应用程序接口
成员变量
A、transform.position位置移动
transform.position = new Vector3(+10, 0, 0);
B、transform.rotation旋转角度
transform.rotation = Quaternion.Euler(0, 45, 0)
C、transform.localScale 自身缩放
transform.localScale=new Vector3(2,1,1);
成员方法
A、Translate (translation : Vector3, relativeTo : Space = Space.Self) : void
向某方向移动物体多少距离。
如果要操作脚本当前的gameObject,则可以省略不写要操作的gameObject。
例如:
transform.Translate(Vector3.up)
让游戏对象沿着vector3向量的垂直方向移动
向前移动
transform.Translate(Vector3.forwad);
transform.Translate(new Vector3(0,0,1));
transform.Translate(0,0,1);
B、Rotate (eulerAngles : Vector3, relativeTo : Space = Space.Self) : void
旋转
游戏对象围绕Y轴旋转
transform.Rotate(new Vector3(0,1,0));
C、RotateAround (point : Vector3, axis : Vector3, angle : float) : void
按照多少度在世界坐标的某位置轴旋转物体。
D、一个游戏对象围绕另一个游戏对象旋转
transform.RotateAround(sphere.position,Vector3.up,1)
transform.rotation和Rotate的区别:
Rotate()方法是:旋转多少度。在原有的基础上累加,即旋转了多少角度
rotation属性是:旋转到某个角度,就是是在update中每帧都执行。但每次旋转到的角度都是5,所以是旋转到5度。
比如你只想让他旋转到多少, 用rotation; 假如想让他一直转,可以用Rotate
rotation直接改变了数值, 以达到旋转效果
Rotate应用一个的旋转角度每秒1度慢慢的旋转物
二、Vector3
向量(Vector3)
既有大小又有方向的量叫做向量。在空间中,向量用一段有方向的线段来表示。
可用于描述具有大小和方向两个属性的物理量,例如物体运动的速度、加速度、摄像机观察方向、刚体受到的力等都是向量。
三、GameObject
GameObject和gameObject的区别
GameObject是游戏对象类的基类
gameObject是脚本挂载的对象
四、Time
Time.time:表示从游戏开始到现在的时间,会随着游戏的暂停而停止计算。
Time.deltaTime:表示从上一帧到当前帧的时间,以秒为单位。
Time.timeScale:时间缩放,默认值为1,若设置<1,表示时间减慢,若设置>1,表示时间加快,可以用来加速和减速游戏,非常有用。