Unity中如果一个物体有Rigidbody组件,可以通过Rigidbody组件控制该物体移动和旋转
Rigidbody.position
Rigidbody.rotation
void Start()
{
//设置游戏物体的位置及旋转
GetComponent<Rigidbody>().position = Vector3.zero;
GetComponent<Rigidbody>().rotation = Quaternion.identity;
}
Rigidbody.MovePosition()
void Update()
{
//控制物体移动
GetComponent<Rigidbody>().MovePosition(transform.position + transform.forward * Time.deltaTime);
}
Rigidbody.MoveRotation()
public Transform target;//要面向的目标物体
public float speed = 1f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
//控制物体旋转
//得到一个由当前物体指向目标物体的向量
Vector3 direction = target.position - transform.position;
direction.y = 0;