Unity Objekt bewegen?

2 Antworten

Zerteile dein Problem in kleinere Probleme:

  1. Wie prüfe ich, ob ein Objekt einen bestimmten Punkt erreicht hat?
  2. Wie prüfe ich, ob eine Taste gedrückt wird?
  3. Wie kombiniere ich beides?

Antworten darauf wären beispielsweise:

  1. Die Position deines Objektes erhälst du über die Komponente Transform. Jedes GameObject besitzt diese Komponente. Ein Punkt ist in den meisten Fällen ein dreidimensionaler Vektor, ein Vector3. Um nun zu prüfen, ob ein Objekt einne Punkt erreicht hat, bietet es sich an, die Distanz zwischen der Objektposition und dem Punkt gegen einen Wert zu prüfen, mithilfe von Vector3.Distance. Achtung, dein Objekt wird aus natürlicher Bewegung heraus nie genau den Punkt erreichen, deswegen ist eine annäherende Distanz erforderlich.
  2. Einen Tastendruck bekommst du über den Input. Da bietet sich beispielsweise Input.GetKeyDown in Update() an.
  3. Beides kombinieren kannst du über ein bedingtes Statement, mit dem Schlüsselwort if. In Worten, wenn die bestimmte Taste gedrückt wird und die Distanz zu dem Punkt kleiner ist als ein konstanter Grenzwert, dann mach was.

Bei allen Links sind Beispiele dabei, die dir das Verständnis erleichtern.