【发布时间】:2015-11-08 06:02:38
【问题描述】:
我正在使用这个简单的功能移动游戏对象,移动身体取决于相机视图。唯一的问题是相机 X 旋转不是 0 并且身体试图移动到地面但没有向前清除并且移动缓慢
void VerySimpleMove()
{
if (_controllerBody.isGrounded)
{
_moveDirection.x = _mj.GetAxis("Horizontal");
_moveDirection.y = 0;
_moveDirection.z = _mj.GetAxis("Vertical");
_moveDirection = _camera.TransformDirection(_moveDirection);
if (Mathf.Abs(_moveDirection.x) > 0 || Mathf.Abs(_moveDirection.y) > 0)
{
_body.rotation = Quaternion.LookRotation(_moveDirection);
}
if (_jumpButton)
{
_jumpButton = false;
_moveDirection.y = _jumpHeight;
}
}
_moveDirection.y -= _gravity * Time.deltaTime;
_controllerBody.Move(_moveDirection * Time.deltaTime);
}
如何通过 _camera.eulerAngle.x 旋转 _moveDirection 以使其真正向前?
【问题讨论】:
-
看起来我需要通过 _camera.angleEulers.x 旋转 Vector3
标签: c# unity3d game-physics