一、Rigidbody刚体组件中position和MovePosition控制移动
public class API15RigidbodyPosition : MonoBehaviour
{
public Rigidbody playerRgd
void Start ()
{
}
void Update ()
{
//不推荐直接用position修改(一两次还好),用moveposition比较好,更平滑
//playerRgd.position = playerRgd.transform.position + Vector3.forward * Time.deltaTime;//向前移动
playerRgd.MovePosition(playerRgd.transform.position + Vector3.forward * Time.deltaTime);
}
}
二、通过刚体控制游戏物体旋转
有刚体的情况下推荐使用刚体,比较节约性能,如果持续不断的修改转向,使用moverotation
public class API15RigidbodyPosition : MonoBehaviour
{
public Rigidbody playerRgd;
public Transform enemy;
void Start ()
{
}
void Update ()
{
//不推荐直接用position修改(一两次还好),用moveposition比较好,更平滑
//playerRgd.position = playerRgd.transform.position + Vector3.forward * Time.deltaTime;//向前移动
//playerRgd.MovePosition(playerRgd.transform.position + Vector3.forward * Time.deltaTime);
if (Input.GetKey(KeyCode.Space))
{
Vector3 dir = enemy.position - playerRgd.position;
dir.y = 0;
Quaternion target = Quaternion.LookRotation(dir);
//使用MoveRotation比较节约性能,在持续不断改变方向的情况下
p