Frage von Player894,

Unity Flugsimulator mit Maussteuerung

Hallo!

Kennt ihr eine Seite, wo beschrieben wird, wie man ein Flugzeug in Unity3D fliegen lässt? Man sollte es mit der Maus steuern können, also nach unten ziehen = nach oben fliegen usw.

Dankeschön im Voraus!

Hilfreichste Antwort von GameplayGuy,
1 Mitglied fand diese Antwort hilfreich

Prinzipiell ist das recht einfach. Dein Flugzeug braucht nen Rigidbody (Gravity aus). Dann schreibst du eine Script-Komponente, die diesen Rigidbody steuert:

float flightSpeed = 50; // gewünschte Geschwindigkeit
float acceleration = 10; // wie schnell beschleunigen
float pitchSpeed = 1; // wie schnell nach vorne/hinten kippen
float yawSpeed = 1; // wie schnell nach links/rechts drehen

Update()
{
  // die aktuelle Geschwindigkeit berechnen
  var currentSpeed = transform.InverseTransformDirection(rigidbody.velocity);

  // zu langsam? beschleunigen
  if(currentSpeed < flightSpeed)
    rigidbody.AddRelativeForce(Vector3.forward*acceleration, ForceMode.Acceleration);

  // Steuerung auslesen
  var pitch = Input.GetAxis("Mouse Y") * pitchSpeed;
  var yaw = Input.GetAxis("Mouse X") * yawSpeed;

  // nach vorne/hinten kippen
  rigidbody.AddRelativeTorque(Vector3.right*pitch, ForceMode.Acceleration);
  // links/rechts drehen
  rigidbody.AddRelativeTorque(Vector3.up *yaw, ForceMode.Acceleration);
}

Das hab ich jetzt nicht getestet, aber es sollte dir zumindest schonmal die richtige Richtung weisen. Wenn das mit nach vorne/hinten kippen in die falsche Richtung geht, musst du nur pitchSpeed auf -1 ändern.

Antwort von Player894,

siehe oben

Sind Sie zufrieden mit Ihrem Besuch auf gutefrage.net?

Vielen Dank für Ihre Bewertung!

Wenn Sie möchten, können Sie uns hier noch Ihre Begründung hinterlassen:

Vielen Dank für Ihr Feedback!

Bis zum nächsten Mal ...

Keine passende Antwort gefunden?

Verwandte Fragen

Fragen Sie die Community