Ich habe eine Kamerarotation gemacht (nur auf der x-Achse). Derweil ist das der Code mit dem ich den Charakter bewege:
public class PlayerMovement : MonoBehaviour
{
public Rigidbody rb;
public float forwardForce = 2000f;
public float sidewaysForce = 500f;
public int forceConst = 50;
public float forward = 500f;
public GameObject completeLevelUI;
public bool isGrounded;
public Vector3 RotateAmount;
void Start()
{
}
void OnCollisionStay()
{
isGrounded = true;
}
// Update is called once per frame
void FixedUpdate()
{
if (Input.GetKey("e"))
{
completeLevelUI.SetActive(false);
}
if (Input.GetKey("w"))
{
rb.AddForce(0, 0, forward * Time.deltaTime, ForceMode.VelocityChange);
}
if (Input.GetKey("s"))
{
rb.AddForce(0, 0, -forward * Time.deltaTime, ForceMode.VelocityChange);
}
if (Input.GetKey("d"))
{
rb.AddForce(sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
}
if (Input.GetKey("a"))
{
rb.AddForce(-sidewaysForce * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
}
if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
{
rb.AddForce(new Vector3(0, forceConst, 0), ForceMode.Impulse);
isGrounded = false;
}
}
}
Jetzt möchte ich aber, dass, wenn ich z.B. nach hinten schaue, dass, wenn ich w drücke, er sich in die Richtung bewegt, in die ich schaue.