unity物体的移动和旋转脚本实现
用Transform组件移动物体
transform.Translate
transform.Translate该方法可以将物体从当前位置,移动到指定位置,并且可以选择参照的坐标系。 没有指定坐标系时默认为spsce.self。
transform.Translate(Vector3.up*Time.deltaTime,Space.World);
transform.Translate(Vector3.up* Time.deltaTime,Space.Self);
transform.position
直接操作Transform组件的positon来控制物体的位置。 Vector3为世界坐标的方向,transform为物体自身的轴方向。
transform.position += Vector3.forward * Time.deltaTime;
transform.position += transform.forward * Time.deltaTime;
用Rigidbody组件移动物体
通过Rigidbody组件移动物体Rigidbody组件用于模拟物体的物理状态(Rigidbody的调用均应放在FixedUpdate方法中,该方法会在每一次执行物理模拟前被调用)。
Rigidbody.velocity
设置刚体速度可以让物体运动并且忽略静摩擦力
private void FixedUpdate()
{
rigidbody.velocity = new Vector3(0,0,1);
}
Rigidbody.AddForce
给刚体添加一个方向的力,可以模拟因为外力的运动
private void FixedUpdate()
{
rigidbody.AddForce(Vector3.up*Time.deltaTime);
}
|