Kojote Geschrieben 22. Juli 2017 Melden Share Geschrieben 22. Juli 2017 Grüße! Mal ne Frage, man sieht es ab und an immer mal wieder - die unendliche Welt. Man rennt immer weiter nach Westen und irgendwann kommt man wieder am Osten heraus. Man wird also irgendwie von der westlichen Seite der Karte an die östliche Seite der Karte teleportiert, ohne das man es merkt. Die Welte bzw. das Terrain ist wie eine Kugel, egal wo man hin rennt, man kommt immer wieder an der Gegenüberliegenden Seite heraus. So etwas würde ich gern umsetzen, hoffe mal ich hab mich net zu umständlich ausgedrückt. Problem ist, ich weiß nicht einmal wie dieses Funktion / System heißt. Hat einer ne Ahnung, nach was für Stichworten ich da bei Google suchen soll? Beispiel wäre das Spiel: MANA - Der Weg der schwarzen Macht Grüße von Kojote Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 22. Juli 2017 Melden Share Geschrieben 22. Juli 2017 Ich kenne dieses Verfahren vom "Parallax Scrolling" 2D. Der Spieler läuft hier ja nur von links nach rechts. Man nimmt dabei eine bestimmte Anzahl von Hintergrundplanes (Texturen) (beispielsweise 3) um die 2D-Landschaft zu bilden. Wenn der Spieler nun die Position zwischen der 2. und 3. Plane erreicht, dann wird die 1. Plane wieder vor die 3. gesetzt. Dies macht man nun immer wieder und somit kann der Spieler nie den rechten Rand erreichen: p 123 231 312 123 p * p = Position Spieler * 1 = einzelne Texturplane * 123 = 3 Texturplanes hintereinander (2D Landschaft) Das Ganze kann man nun auch in 4 Richtungen machen und dabei nicht Planes sondern ganze 3D-Terrain(segmente) umsortieren (neu setzen). Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 22. Juli 2017 Autor Melden Share Geschrieben 22. Juli 2017 Ja das kenne ich auch, den Thread hab ich vorhin gelesen.^^ Es verhällt sich etwas anders, ich hab mal ne Skizze angehangen. Schwarz sollen andere NPCs sein, Rot ist der Spieler, Grün wäre die Laufrichtung und das Blaue wäre sein Sichtfeld. Es verhällt sich nun so, dass wenn der Spieler an den "Rand" der Karte kommt (links) er wieder irgendwann auf der anderen Seite erscheint (rechts). Deswegen auch das Blickfeld. Ich hab nun mittlerweile was in die Richtung gefunden, nennt sich "Spherial Terrain" man läuft also um eine Kugel drum herum. Geh ich von einem Punkt aus und umrunde die Kugel, komm ich irgendwann wieder, so fern ich immer gerade aus gehe, wieder am selben Punkt an. Damit hätte ich schon mal den Namen, wie ich es umsetze ist das andere Problem. Eine Kugel erstellen, die Gravitation ändern und den Charkter drüber rennen lassen, geht recht einfach. Jedoch nun die Kugel als Terrain bearbeiten das andere und große Probem derzeit! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 22. Juli 2017 Melden Share Geschrieben 22. Juli 2017 Wenn du die obige Methode verwendest, dann kommt der Spieler auch wieder an seiner Ursprungsposition an. Da gibt es keinen Unterschied zu der Bewegung auf einer Kugel. Der einzige Unterschied ist, daß du keine Horizontkrümmung hast und keinen Horizont in dem Sinne, daß beispielsweise Gebäude dahinter verschwinden. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 22. Juli 2017 Autor Melden Share Geschrieben 22. Juli 2017 Es geht dabei aber auch um die NPCs die sollen statisch bleiben, wenn du also immer nach links läufst müssen sie sich hinter dir entfernen und vor dir näher kommen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 22. Juli 2017 Melden Share Geschrieben 22. Juli 2017 Die NPCs werden mit den Terrainsegmenten umgesetzt und da die NPCs ab einer gewissen Entfernung nicht mehr angezeigt werden, fällt dem Spieler das Umsetzen der NPCs auch nicht auf. Die Segmente müsse natürlich groß genug sein, damit dieses "Umschichten" dem Spieler nicht auffällt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 22. Juli 2017 Autor Melden Share Geschrieben 22. Juli 2017 Naja so ein Script in der Art hab ich schon, falls dichs interessiert, ich habs mal in den Anhang gelegt. Das Script wird nur aufs Terrain gelegt, der Spieler zugewiesen und los gehts. Problem hierbei ist jedoch, du rennst unendlich und kommst nie wieder da an, wo du warst. Des weiteren, NPC war vielleicht nen doof gemeiter Begriff, ich wollte es für mehrere Nutzer machen. Es rennen also mehrere Spieler auf der Karte herum, dem NPC würde es nun nichts ausmachen teleportiert zu werden, anderen Mitspielern vermutlich schon.^^ InfiniteTerrain.cs Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 22. Juli 2017 Melden Share Geschrieben 22. Juli 2017 Eine echte "Kugelwelt" würde ich nur verwenden, wenn deine Welt sehr klein sein soll und wenn man wirklich das "Gefühl" haben soll auf einer Kugel zu laufen. Der große Nachteil dann ist aber, daß du kein Unity-Terrain mehr verwenden kannst. Es gibt dafür allerdings auch spezielle Shader, die eine "Kugelwelt" auch auf einer flachen Welt simulieren. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 22. Juli 2017 Autor Melden Share Geschrieben 22. Juli 2017 Jop, hab ich schon einen im Asset Store gefunden, 45,- das gute Stück. Jedoch soll die Welt nicht alt zu klein sein, von daher wird diese Möglichkeit ausscheiden. Irgendwie muss es doch gehen.^^ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 22. Juli 2017 Melden Share Geschrieben 22. Juli 2017 Wie gesagt, richtig programmiert und du kommst wieder dort an wo du gestartet bist... Und das es bei einem Multiplayerspiel nicht funktioniert ist ein Trugschluss. Umsortiert wird nur auf dem Client und nicht auf dem Server. Aber natürlich ist das Ganze nicht trival. Somit hat jeder Client seine eigene "umsortierte" Welt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 22. Juli 2017 Melden Share Geschrieben 22. Juli 2017 Wie gesagt, wenn du keine Unity-Terrains verwenden willst, dann kannst du auch den anderen den Weg gehen. Ansonsten wäre der Weg - wie ich ihn dir beschrieben habe - und ich bin mir zu 90% sicher das dies ein gangbarer Weg ist. Solltest du eine Kugel verwenden, dann könntest du auf die Kugeloberfläche eine Mesh-Deformation anwenden. Diese Deformation wird bspw. über eine Highmap erzeugt (gibt da wieder Skripte für im Netz). Dann müsst du nur noch Vegetation auf diese Oberfläche bekommen, da gibt es auch wieder Assets für. Vor allem Gras benötigt ein spezielles Asset. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 22. Juli 2017 Autor Melden Share Geschrieben 22. Juli 2017 Puh ich werds mal versuchen, nachfragen garantiert.^^ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 22. Juli 2017 Melden Share Geschrieben 22. Juli 2017 Du kannst dir die Methode auch so vorstellen: 1) Man nimmt eine Kugel und legt dafür eine bestimmte Größe fest (in Relation zu der Quadrantengröße) 2) Du legst eine bestimmte Größe für deine Quadranten fest 3) Du legst die Quadranten auf die Kugeloberfläche (Projektion) Anhand der Position des Spielers (auf dem Client) wird nun die individuelle Sicht des Spielers auf der Kugel berechnet und die passenden Quadranten um den Spieler herum positioniert.. (ich habe leider keinen Quellcode dafür, aber es ist mathematisch lösbar)https://de.wikipedia.org/wiki/UV-Koordinaten#/media/File:UVMapping.png Aber ich vermute einmal, die Welt muss nicht eine perfekte Kugel sein, es sollte auch ein Würfel reichen und damit wird das ganze wieder viel einfacher ...https://de.wikipedia.org/wiki/UV-Koordinaten#/media/File:Cube_Representative_UV_Unwrapping.png Auch wenn du einen Würfel umrundest kommst du wieder bei deiner Ausgangsposition an und der Spieler merkt nicht wirklich ob seine Welt eine Sphere oder ein Würfel ist . Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 22. Juli 2017 Melden Share Geschrieben 22. Juli 2017 Ich denke dieses Asset sollte den Job auch tun, aber ich kenne es nicht. Zumindest behauptet es eine "loopable world" erstellen zu können:https://www.assetstore.unity3d.com/en/#!/content/36486 Hier ist noch eine Methode mit 9 (seamless tiling) Quadranten beschrieben (ich denke diese Methode ist einfacher als die Methode mit dem Cube die ich oben beschrieben habe):http://answers.unity3d.com/questions/626777/endless-terrain-loop.html Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 22. Juli 2017 Autor Melden Share Geschrieben 22. Juli 2017 Jetzt hab ich aber zu lesen, danke! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
HortusLongus Geschrieben 24. Juli 2017 Melden Share Geschrieben 24. Juli 2017 Am 22.7.2017 um 18:13 schrieb Kojote: Jetzt hab ich aber zu lesen, danke! Wenns nur darum geht ;-), auf dieser Seite findest du alles, was du benötigst. Dann mußt du es "nur noch" zu deinem Spiel zusammenbauen. Es sieht viel schwieriger aus, als es letztendlich ist. Zero hat dir ja auch schon Ansätze gegeben. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 25. Juli 2017 Autor Melden Share Geschrieben 25. Juli 2017 vor 23 Stunden schrieb HortusLongus: Wenns nur darum geht ;-), auf dieser Seite findest du alles, was du benötigst. Dann mußt du es "nur noch" zu deinem Spiel zusammenbauen. Es sieht viel schwieriger aus, als es letztendlich ist. Zero hat dir ja auch schon Ansätze gegeben. Erst mal vielen Dank, die Tutorials sind Hammer! Jedoch, dass was ich Suche finde ich nicht, welches Tutorial meinst du? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 25. Juli 2017 Melden Share Geschrieben 25. Juli 2017 Ja, die Tutorials sehen interessant aus. Ich vermute er meint den Beitrag über die Meshverformung bei einer Kugel. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
HortusLongus Geschrieben 25. Juli 2017 Melden Share Geschrieben 25. Juli 2017 Ja, auch. Zuerst würde ich mir "Swirly Pipe" ansehen, dann entscheiden, ob ich innerhalb oder außerhalb der Röhre arbeite und dann mit " Bumpiness " weitermachen. Dann hast du das Grundgerüst und kannst anfangen zu bauen. Viel Spaß. ;-) Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.