Frage von Wulthan, 22

Unity3D Objekte bei Sichtkontakt bewegen?

Hey, in Zusammenhang mit einem Schulprojekt erstellen wir mit ein paar Freunden ein 3D-Rätsel Spiel in Unity. Für eines unserer Rätsel haben wir nun ein kleines Problem. Auf dem Boden in einem Raum gibt es ein kleines Labyrinth. Der Spieler kann sich in diesem Raum frei bewegen, im Labyrinth ist ein kleiner Zylinder. Nun soll der Zylinder zum Ziel geführt werden. Dieser soll sich jedoch nur bewegen, wenn der Spieler auch Sichtkontakt zu ihm hat d.h. bei Sichtkontakt bewegt der Zylinder sich wie der Spieler mit WASD, ansonsten bleibt er wo er ist. Nun ist meine Frage, wie sieht dies Programmtechnisch aus, denn Tutorials im Internet konnten uns bisher nicht helfen. (C# oder Javascript)

Antwort
von Kirschnkiller, 22

Ein direkten Codevorschlag kann ich dir nicht geben, da ich die Unity API nicht kenne, aber ich denke mal:

1. Messen wenn in welchem Winkel das Objekt aus Sicht des Spielers mit X=0° Absolut als Standardwert

2. Range definieren: Aktueller Kamerawinkel - FOV ist der erste Wert, Aktueller Kamerawinkel + FOW ist der zweite Wert

3. Wenn sich der Wert aus dem ersten Schritt in der Range aus dem zweiten befindet dann true

Das ganze dann entsprechend als Bedingung ne While Schleife mit eurer Logik was dann passieren soll und es sollte laufen :>

Keine passende Antwort gefunden?

Fragen Sie die Community