Bibo Posted February 22, 2022 Report Share Posted February 22, 2022 Moin, ich versuche mich gerade in einem Spiel ähnlich "Antichamber". Dieses nutzt eine ziemlich coole Idee der Teleportation. Der Spieler kommt teilweise, egal welchen Weg er nutzt, immer an der gleichen Stelle heraus. Die Technik dahinter ist klar. Teleportation. Sprich, er wird an bestimmten Stellen im Level wieder zurück zum Ausgangspunkt teleportiert. Eine sehr spannende Mechanik wie ich finde. Leider bekomme ich das nicht hin. Das Problem ist, dass ich immer exakt zu dem Transform meines Teleporters teleportiert werde. Beispiel. Ich laufe einen Gang an der linken Wand entlang. Wenn ich nun in den Trigger laufe und zum anderen "Teleporter" komme, bin ich genau in der Mitte von diesem. Also zwar an der gleiche stelle im Gang, jedoch nicht mehr an der linken Seite. Ich hoffe man kann meinen wirren Ausführungen folgen. Hat jemand eine Idee wie ich das lösen kann? Quote Link to comment Share on other sites More sharing options...
Sascha Posted February 22, 2022 Report Share Posted February 22, 2022 Moin! Du brauchst einen Teleporter-Eingang zu deinem Ausgang. Die beiden Punkte sind dann relativ zu ihren Räumen in genau derselben Stelle. Wenn du den Teleporter auslöst, wird geschaut, wo in Relation zum Teleporter-Eingang der Spieler ist: var offset = player.position - teleporterEntrance.position; Und diesen Abstand rechnest du dann auf die Position des Ausgangs drauf: player.position = teleporterExit.position + offset; Wenn du also 5m "links" vom Eingang stehst, kommst du auch 5m "links" vom Ausgang heraus. Auf dieselbe Art kannst du auch die Rotation des Spielers setzen, sodass du dem Eingang und dem Ausgang unterschiedliche Ausrichtungen geben kannst und der Spieler sich beim Teleportieren dreht. Was du damit bauen kannst, kannst du dir sicher vorstellen Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.