旋转球向左或向右而不是滚动
本文关键字:滚动 旋转 | 更新日期: 2023-09-27 18:07:28
我正在尝试学习Unity3D,我正在使用这个教程来开始。
在我的PlayerController
下面的"球"滚动的方向,按箭头键。但我的问题是:当我按左或右箭头时,我不想让它朝这个方向移动,而是朝这个方向转动。
在上下箭头键上,球向前/向后移动,在左/右箭头键上,球向左/向右旋转。
public class PlayerController : MonoBehaviour {
public float speed;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody> ();
}
void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rb.AddForce (movement * speed);
}
}
我已经在谷歌上搜索过了,但还没有找到解决方案。
这是我的相机控制器。
public class CameraController : MonoBehaviour {
public GameObject player;
private Vector3 offset;
// Use this for initialization
void Start () {
offset = transform.position - player.transform.position;
}
// Update is called once per frame
void LateUpdate () {
transform.position = player.transform.position + offset;
}
}
float delta = Input.GetAxis("Horizontal");
Vector3 axis = Vector3.forward;
rb.AddTorque (axis * speed * delta);
或
transform.Rotate (axis * speed * delta);
而不是:
rb.AddForce (movement * speed);
可以使用:
rb.AddTorque (movement * speed);
这将增加球的角力