2 回答

TA贡献1788条经验 获得超4个赞
您可以使用刚体的速度观察您正在移动的方向。
transform.rotation = Quaternion.LookRotation(rb.velocity);
如果您想要平滑过渡:
Quaternion desiredRotation = Quaternion.LookRotation(rb.velocity);
transform.rotation = Quaternion.Slerp(transform.rotation, desiredRotation, Time.deltaTime);

TA贡献1866条经验 获得超5个赞
假设此脚本附加到要指向其移动方向的对象,请尝试此操作。
void Update()
{
moveDirection = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical")).normalized;
Vector3 lookDirection = moveDirection + gameObject.Transform.Position;
gameObject.Transform.LookAt(lookDirection);
}
因为您的 moveDirection 是规范化的,所以您必须将其添加到您的当前位置,以便在对象的本地空间中获得 moveDirection。然后你可以用LookAt()它来指向它。
- 2 回答
- 0 关注
- 1244 浏览
添加回答
举报