在Unity3D中,我正在努力控制球。我的目标如下:
我试图做的事情几乎是用我写的character controller
脚本完成的:
transform.Rotate (new Vector3(-Input.GetAxis ("Horizontal") * rotationSpeed, 0, 0));
Vector3 forward = Input.GetAxis ("Vertical") * transform.forward * moveSpeed;
controller.Move (forward);
controller.SimpleMove (Physics.gravity);
我对这个剧本的问题是球在视觉上不会“滚动”。
我尝试使用Rigidbody
:
float movementHorizontal = Input.GetAxis("Horizontal");
float movementVertical = Input.GetAxis("Vertical");
Vector3 movementVector = new Vector3(movementHorizontal, 0.0f, movementVertical);
GetComponent<Rigidbody>().AddForce(movementVector * moveSpeed * Time.deltaTime);
但是在这种情况下,你不能像第一个例子那样使用WAD旋转180度。虽然它确实解决了视觉问题。
如何让我的球能够用“A”和“D”键旋转,然后朝着“W”方向朝球方向旋转,同时还能在视觉上旋转?
答案 0 :(得分:2)
看看这个例子: http://unity3d.azurewebsites.net/Labyrinth/
运动背后的代码在这里:
https://github.com/heldersepu/hs-unity/blob/master/Labyrinth/Assets/Movement.cs