Progressive Dev Geschrieben 6. Februar 2017 Melden Share Geschrieben 6. Februar 2017 Ich überlege gerade wie ich eine Unendliche Map für mein Spiel erstellen kann. Man muss sich das wie bei Clash of Clans vorstellen, nur das man die Map mit der Maus bewegen sollte und das sie unendlich ist. Ich finde keinen Ansatz wie ich dies umsetzen könnte. Kann mir vielleicht jemand der eine Idee hat wie man dies machen könnte einen Denkanstoß geben ? Danke im voraus Edit Mit einer Unendlichen Map meine ich ein Bild welches immer wieder geladen wird und ich je nach Koordinate die Objekte die dort sind hinzulade. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MarcoMeter Geschrieben 6. Februar 2017 Melden Share Geschrieben 6. Februar 2017 Mit einer Unendlichen Map meine ich ein Bild welches immer wieder geladen wird und ich je nach Koordinate die Objekte die dort sind hinzulade. Also du möchtest ein Verhalten haben, als wenn du einen Globus drehst? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Progressive Dev Geschrieben 6. Februar 2017 Autor Melden Share Geschrieben 6. Februar 2017 Also du möchtest ein Verhalten haben, als wenn du einen Globus drehst? Ja ganz genau, nur vorerst brauche ich Hilfe bei dem unendlichen Laden wenn man das ganze mit dem Mauszeiger bewegt, da ich nicht weiß wie man das umsetzen muss. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MarcoMeter Geschrieben 6. Februar 2017 Melden Share Geschrieben 6. Februar 2017 Eine ästethetische Vorraussetzung ist, dass die Kanten deiner Map "seamless" sind. Also so, dass beispielsweise das linke Ende auch an das rechte passt. Für deine Funktionalität gibt es bestimmt viele Möglichkeiten. Du könntest deine Spielwelt in passende Rechteckeunterteilen und diese einfach in Abhängigkeit der Kameraposition neu positionieren. Das würde allerdings eine absolut fließende Anzeige verhindern. Ggf. kannst du echte Duplikate nutzen. Eventuell kann da bei der Umsetzung eine Render Texture helfen, wenn du Duplikate der Welt faken möchtest. Ansonsten hast du immer einen definierten Bereich zum Navigieren. Wenn die Kamera diesen Bereich verlässt, muss diese entsprechend an der gegenüber liegenden Seite auskommen. Ein Trick könnte es sein, wenn du als Spielwelt eine Insel hast. Weil von Wasser kannst du so viel machen um einen passenden Übergang zu gewährlisten. Das jetzt mal so als Anreiz für entsprechende Ansätze. Detailiertere Nachfragen oder Infos wären dann hilfreich, damit es konkreter wird. So kann man eben nur oberflächlich mitdenken. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sleepy Geschrieben 6. Februar 2017 Melden Share Geschrieben 6. Februar 2017 Unendlich ? Das ist nicht möglich aus dem einfachen Grund: Alle Daten müssen irgend wo gespeichert werden und früher oder später ist jeder Speicher voll. Selbst bei Minecraft gibt es ein Ende. Falls du eine sehr große Map erstellen willst ähnlich wie Fallout4 dann übernimmt das Culling diese Aufgabe für dich. Falls du automatisch ein großes Level erstellen willst dann brauchst du wie MarcoMeter schon angedeutet hat, einen Shader der Automatisch die maps aneinander fügt. Dann macht es auch Sinn die Level immer als Chunks zu laden und das Terrain nur so groß zu machen wie du kucken kannst. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MarcoMeter Geschrieben 6. Februar 2017 Melden Share Geschrieben 6. Februar 2017 @Sleepy Ich glaube du hast das falsch verstanden. Es geht um eine fixe Karte. Wenn man über diese Karte scrollt und das Limit überschreitet, dann soll die Karte an der anderen Seite weiter machen. Wenn du bei GoogleMpas zum Beispiel die ganze Zeit nach Norden verschiebst kommst du ja auch nach Süden. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Progressive Dev Geschrieben 6. Februar 2017 Autor Melden Share Geschrieben 6. Februar 2017 Ich habe im Canvas ein Image. Wenn ich zum Beispiel die "D" druecke, soll sich die Map (Source Image) wie auf dem Bild nach rechts bewegen, und das gleiche Bild aber hinten mit, sodass das ganze "Infinite" aussieht. Zum Verständnis, es soll sich quasi nur das "innere" vom Image bewegen. Aber man kann ja die Position vom Source Image nicht verändern, daher weiß ich nicht wie ich das umsetzen soll. Mit einem Quad kann ich es nicht umsetzten da man es nicht richtig sieht durch das zusaetzliche Licht was man braucht. (Es sieht einfach nicht gut aus) Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sleepy Geschrieben 6. Februar 2017 Melden Share Geschrieben 6. Februar 2017 Du könntest die ganze UV verschieben (Das Mesh bleibt gleich nur das innere bewegt sich) Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 6. Februar 2017 Melden Share Geschrieben 6. Februar 2017 Gibt es verschiedene Methoden, hier eine Variante als 2D (mit GameObjects + Spriterenderer), die man aber auch auf 3D Terrains übertragen könnte. Wenn du hier noch eine Scrollebene nach oben und unten ergänzt sollte es dem entsprechen was du suchst. Hier eine Variante die nur mit Texturen arbeitet: Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Progressive Dev Geschrieben 6. Februar 2017 Autor Melden Share Geschrieben 6. Februar 2017 Du könntest die ganze UV verschieben (Das Mesh bleibt gleich nur das innere bewegt sich) Danke, hat so einwandfrei funktioniert und ist genau das was ich gesucht habe ! 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.