Dach modellieren

  • Hallo,

    ich bin mit dem Dach meines Hauses nicht zufrieden. Es ist ein Schieferdach und trotz Normal-Map sieht mir das je nach Beleuchtung zu flach aus. Was spricht den dagegen, einige verschiedene Schieferplatten zu modellieren und als Instanzen das Dach in UE4 zu bauen. Man kann doch meines Wissens nach hunderte Meshes benutzen, so lange sie gleich sind. (Instanzen) Lieg ich damit richtig?

  • Ich denke mal, es wird so oder so funktionieren. Ich meine, du wirst ja wahrscheinlich trotz allem wenige Poligone haben als professionelle Spiele wie zum Beispiel Cyberpunk 2077 oder so. Wenn du jetzt nicht übertreibst und ein 1000 m² Dach mit 10 cm Ziegeln bestückst und der Spieler die ganze Fläche dann auch noch sehen kann, neben allen anderen Objekten.

    • Offizieller Beitrag

    Poste doch mal ein Screenshot von deinem Dach vielleicht können wir dir ein paar Tipps geben.


    Was letztlich zählt ist die Summe des Polycounts die im Worstcase auf einmal zu sehen ist.

    Darum gibt es beispielsweise LODs: Ist man weit entfernt, sieht man mehr Meshes diese aber nicht so detailliert mit niedrigem Polycount ist man näher dran, sieht man weniger Meshes dafür kann man aber den Polycount der Meshes hochdrehen.


    Aus sehr weiter Entfernung ist dein Dach einfach nur eine Plane (2 Tris) kommt man näher besteht jeder Ziegel aus einem Quader bei 100 Ziegel ) vielleicht 800 Tris. Wobei man man wahrscheinlich die Unterseite jedes Ziels löschen könnte. Somit wären es wohl eher 700 Tris. kommt man noch näher könnte der Polycount deutlich höher sein.


    Das mit den Instanzen kannst du machen, auch hier gibt es Möglichkeiten zu optimieren. Du kannst zb 10 Ziegel bauen die du durch horizontales und vertikales Spiegeln plazieren könntest. So hast du auch nur 10 Ziegel unzählige Kombinationen.


    Letzlich kommt es auch darauf an ob Spiel auf einem Tablet, einem Büro Rechner oder einem Highend PC laufen soll.


    Wie gesagt wenn du Screenshots zeigst, kann ich dir mehr sagen.

  • Je nachdem wie viel das Schieferdach bzw. die Textur verwendet wird, wäre meine Idee vielleicht noch ne' Displacementmap zu nutzten (bzw. Tesselation + Displacementmap). Damit spart man sich dann ggf. unnötiges modelling.

    Allerdings muss man dann eventuell aufpassen, weil das sonst die Performance in Mitleidenschaft zieht.

    Look behind you! A three-headed monkey!

  • Vielen dank für eure Vorschläge. Ich hab mal eine Displacementmap probiert, aber das sind dann deutlich mehr Polys als wenn ich es manuell modelliere. Das modellieren macht mir nichts aus, ist ja nur ein Hobby. Hier mal ein Screenshot von dem Dach mit Normal-Map.

    Das ist bei diesem Lichtwinkel einfach zu flach. Hier fallen auch die geraden Kanten sehr auf.

    Wenn man eine Schiefertafel modelliert, sie normal importiert und dann mehrmals aus dem Contentbrowser in die Szene zieht, ist dann jede Schiefertafel automatisch eine Instanz?

    • Offizieller Beitrag

    Schau dir mal das Assassins Creed Dach an:


    https://external-preview.redd.…edf3e8952563c8fdabcbaa3e2


    1.Da siehst du keine Seams weil die Seams durch Horizontale Ziegel verdeckt werden. Dass ist im grunde der Trick.

    2.Wenn du dir die Dachziegel genauer anschaust, wirst du feststellen das die ganze Ziegelreihe von oben bis nach unten aus einem Zylinder oder sogar einem Cube bestehen. Ich schätze mal eine Unterteilung von 4 oder 5 Somit hat eine Ziegelreihe wahrscheinlich 8 Tris und für das ganze Dach vielleicht 200 Tris oder so.

    3. Auf dem Zylinder nochmals eine Dachtextur.


    4.Was ich oft mache bei solchen dingen: Erstell dir eine plane die Power of two ist. Die Größe ist dabei egal.

    zb Eine plane 1024 * 1024 Meter groß. Diese Plane ist dein Lowpoly.

    Auf dieser Plane plazierst du nun deine einzelnen Ziegel. Du musst darauf achten, das deine Ziegeltextur am Schluss Tileable ist.

    Dort wo deine Plane aufhört, hört im Grunde auch Ziegel auf. Alles was sich außerhalb des Plane befindet, muss auf die andere Seite. So hast die Bildwiederholung die du brauchst.

    Die Plane hat eine einfache UV von 0 -1 geht du kannst von dieser Plane Kopie erstellen, diese nennst du Cage und schiebst die Cage so nach oben dass sich alle Ziegel innerhalb der Plane und der Cage befinden.

    Du hast die Plane, du das Highpoly das aus Hunderten Ziegel bestehen kann. und die Cage. Jetzt kannst du das ganze in einem Programm wie zb Substance Designer (Mein Favorit) Substance Painter oder XNormals (falls du kein Geld ausgeben wilslt) baken.

    So würde ich eine Ziegeltextur erstellen.


    Diese Textur kannst du jetzt entweder auf einzelne Ziegel mappen oder so wie Assassins Creed das gemacht hat, die Textur auf einen Zylinder mappen. Das schöne dabei ist auch, du kannst ein Material für ganz viele Dächer verwenden statt für jedes Dach eine extra Textur erstellen zu müssen.


    Ich glaube übrigens auf der Assassins Creed Dachtextur ist keine Normal drauf. (Darauf haben sie sicherlich wegen der Performance verzichtet)

    Normals funktionieren auch nur wenn Licht vorhanden ist. Das solltest du berücksichtigen falls es in deiner Szene dunkel werden soll. Normals im dunkel sehen richtig bescheiden aus.

    DU hast in einer Szene immer Restlicht damit der Player überhaupt noch etwas sieht. (zb vom Mond) Mit diesem Licht sehen Normals eben ziemlich bescheiden aus. (Normals im dunklen kannst du ja gerne mal ausprobieren)


    Thats it: