一直致力于在3D空间中进行的Unity 3D游戏。我可以在Z轴上不断移动的同时左右上下移动。我希望能够使用Q和E按钮旋转我的Player gameObject以在曲线中移动。 在普通的3D游戏中,这不是问题,但是如何让我的玩家游戏对象不断朝着它的方向移动?
这是我目前的代码,我只能在不断被Z轴推动的同时上,下,左,右。
public float moveSpeed;
private Vector3 input;
private float maxSpeed = 10.0f;
private float bloodStream = 0.5f;
public float timer = 40.0f;
void Update () {
if (Time.timeSinceLevelLoad >= timer)
{
while (bloodStream <= 0.75f)
{
bloodStream += Time.timeSinceLevelLoad / 10000;
}
}
if (Time.timeSinceLevelLoad >= timer + 40.0f)
{
bloodStream = 0.5f;
}
input = new Vector3(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), bloodStream);
if (GetComponent<Rigidbody>().velocity.magnitude < maxSpeed)
{
GetComponent<Rigidbody>().AddForce(input * moveSpeed);
}