Höhle in Landscape vs Asset - Performance

  • Hi, würde gerne eine Höhle machen. Am besten in ue4 mit dem visibilitytool aber das soll performancelastig sein. Man Könnte das auch als Asset machen was ich aber eigentlich nicht will. Wie würde ein Profi das machen?

  • Gibt da verschiedene Möglichkeiten. Ich glaube, die häufigste ist wohl, das eine extra Map erstellt wird, eben halt mit der Höhle, diese Map wird dann halt beim Betreten der Höhle geladen und ausgeführt. Das wäre dann zum Beispiel die Methode von Skyrim und Fallout so, und natürlich noch viele weitere Spiele, wie z.B. Saints Row oder GTA. Bei letzteren sind es dann halt nicht unbedingt Höhlen, sondern Häuser die du betreten kannst.


    Ultima Online, auch wenn es kein 3D-Spiel war, hatte eine ähnliche Technik, dort wurden die Dungeons außerhalb der frei begehbaren Map dargestellt und der Spieler wurde dann halt dort hin teleportiert, wenn er einen Höhleneingang betreten hat. Also ähnliches gab es damals schon.


    Scheint mir also die verbreitetste und übliche Technik zu sein.

    • Offizieller Beitrag

    Ja Level wechsel ist eine Möglichkeit hat ja eben Tomarr schon gesagt.


    Eine Höhle mit dem Terrain zu machen, ist aus technischen Gründen nicht möglich. Ein Terrain ist eine Heightmap und da kann man kein Loch hinein sculpten.


    Profis würdes an der Stelle wo die Höhle hinsoll das Terrain absenken so das quasi ein Baugraben für die Höhle entsteht und dann Meshes für die eigentlich Höhle verwenden.


    Wie gesagt es gibt einige technischen Probleme das mit einem Terrain zu lösen.

  • Eine Methode fällt mir da noch ein, ich weiß gar nicht bei welchem Spiel das war und wie das genau umgesetzt wurde. Aber da konnte man Minen halt in ein Terrain bohren, indem Meshes in Form eines Bauschachts da reingetrieben wurden. Sah jetzt aber nicht wirklich schön aus, und funktionierte auch nicht so hundertprozentig.


    Das Problem ist halt, Terrain ist eigentlich nichts anderes als ein Teppich mit vielen Wellen drin. Dazu kommen dann halt noch die Normals, wenn du unterhalb des Terrains bist, dann siehst du nichts, und so eine richtig schöne Höhlendecke kriegst du damit halt niemals hin. Also Stalagmiten und Stalaktiten, das ist damit halt nicht so ganz möglich. Also ein Stalagmit schon, aber Stalaktiten halt nicht. Weil von Oben nach unten, das funktioniert nicht.


    Du wirst also, egal was du machst, viel Zeit und Mühe in die Modellierung investieren müssen. Wobei das ja auch generell gilt.

  • Also mit dem visibility tool müsste das gehen, in ue4 bei "modes" im reiter "sculpt".


    Beschreibung: Mask out individual quads in the landscape, leaving a hole.


    Deswegen war in yt videos vllt von performancefressend die rede weil in die heightmap eingreifen extra berechnungen gemacht werden müssen..

    Habs noch nicht probiert. Vllt kennt sich da jmd aus und google ichs später mal. Mir gehts auch erstmal nur um kleine Höhlen. Für größere würd ich auch neues Level nehmen aber danke für den Tipp!

  • Ja, das gibt es. Allerdings mit den von mir bereits genannten Problemen. Du hast dann ein Loch in einem extrem dünnen Teppich, der auch noch lückenhaft ist. Und du fällst dahinter auch noch durch den Boden. Also musst du eh eine komplette Höhle darin modellieren. Dan kannst es lieber gleich richtig machen.

    • Offizieller Beitrag

    Deswegen war in yt videos vllt von performancefressend die rede weil in die heightmap eingreifen extra berechnungen gemacht werden müssen..

    Berechnungen müssen immer gemacht werden die Heightmap ist da sehr performant.

    Durch die Heightmap können Terrains sehr detailliert ohne UVs und Verzerrungen dargestellt werden.


    Mal ein paar Fakten zum Terrain.

    1.Ein Terrain ist flach und wird erst zu einem Gebirge tesseliert wenn der Player hinschaut. Ist das dass was beim Mesh das Culling ist.

    2.Durch diese tesselierung kann das Terrain riesen groß sein und er Polycount kann auch beinahe unendlich groß sein. Weil ja nur das in dreiecke aufgetreilt wird, was vom Player gesehen wird.

    3.Terrains haben keine UV Maps da alles Texturen durch Vertex Paint dargestellt wird. Auf ein Riesen Terrain muss also keine Riesen Textur gespannt werden sondern es werden einfach mehre Texturen als Kacheltextur über das Terrain gelegt. Durch dein Painting sagst du den Vertecies des Terrains welche Textur an welcher Stelle sichtbar ist.


    Das sind die wichtigsten Vorteil von Terrains gegenüber Meshes.


    Also mit dem visibility tool müsste das gehen, in ue4 bei "modes" im reiter "sculpt".

    DU hast noch ein anderes Problem:


    Ein Terrain ist niemals Twosidet du wirst von unten also immer durch die Map sehen können bzw du kannst die Höhle nicht aussculpten. Du wirst auch merken das du das Terrain nicht einfach umdrehen kannst.


    Du kannst auf jeden Fall auch mit Visibillity arbeiten.