Hier ist eine Technik, mit der ich kürzlich experimentiert habe. Mein RenderMonkey-Prototyp zeigt einen Abschnitt einer Schlucht im Ödland-Stil, aber das gleiche Prinzip sollte in Höhlen funktionieren.
Die Idee ist, mit Fliesen zu beginnen, die generisch, geradezu langweilig und mit einfachen vorhersehbaren Kanten versehen sind, damit sie ohne Nähte oder Lücken leicht ausgerichtet werden können:
Diese Startkacheln können von Ihnen modellierte Formen oder prozedural erzeugte Makkaroni-Röhren mit zylintrischer Geometrie sein (diese Form ist eine Variante der Vorschläge von bcrist und Steven Stadnicki). Die Verwendung von Modellen, die Sie erstellt haben, erleichtert die Verarbeitung beliebiger Topologien wie Verzweigungspfade oder Sonderziele wie offener Kavernen. Dies ist immer noch mit reinem Verfahren möglich (siehe Gyroninjas Vorschlag zu Metaball-Techniken), aber herausfordernd.
Sobald eine Kachel in die Welt gelegt wurde, verschieben Sie ihre Scheitelpunkte mithilfe der im Weltraum angewendeten Rauschfunktionen. Dies bewahrt die Konnektivität und Nahtlosigkeit zwischen Kacheln (da zusammenfallende Scheitelpunkte dieselbe Weltraumeingabe haben und dieselbe Verschiebungsausgabe erhalten), lässt jedoch jede Kachel einzigartig und organisch aussehen:
Texturen und Normalen werden auch im Weltraum angewendet - hier mithilfe der triplanaren Abbildung -, sodass benachbarte Kacheln ohne schwierige UV-Entpackungsbeschränkungen vollständig nahtlos sind.
Die Hoffnung ist, dass eine solche Technik Ihnen die einfache Planung und Kontrolle des Level-Designs einer gekachelten Karte ermöglicht, ohne sichtbare Wiederholungen oder mechanisch aussehende Strukturen im spielbaren Ergebnis.
Sie können ein Netz mit niedrigerer Auflösung nur mit den niederfrequenten Rauschkomponenten verwenden, die zum Erstellen der Kollisionsdarstellung angewendet werden. Wie bcrist feststellt, müssen Sie die maximale Amplitude des Rauschens im Verhältnis zum Radius und zur Schärfe der Tunnelwindungen steuern, um sicherzustellen, dass es niemals vollständig abklemmt.
Ein weiterer Hinweis: Wenn Ihre Höhle wirklich unendlich ist, müssen Sie sie möglicherweise regelmäßig "neu zentrieren", wenn sich der Spieler immer weiter vom Ursprung entfernt. Da Gleitkommazahlen bei hohen Größen an Genauigkeit verlieren, können sich Physik- und Rendering-Artefakte in extremen Entfernungen einschleichen. Wenn Sie dies tun, möchten Sie, dass Ihr Weltraumrauschen in großem Maßstab periodisch ist, wobei der Zeitraum genau auf Ihren Versatz der erneuten Zentrierung abgestimmt ist, sodass Sie nach der erneuten Zentrierung nicht auf Nähte stoßen.