Lightmaps -- Verständnis Frage

  • Hallo,


    ich bin gerade am grübeln, wie ich sehr große Objekte, eine Lightmap verpasse.


    Ich habe z.b. eine Wand 2x2m die bei mir ein 128er Lightmap bekommt... was aber wenn ich eine Wand 12x40m hätte ?
    Würde sich dann die Lightmap auch so extrem mit vergrössern ?


    Im Moment baue ich diese große Wand aus vielen 3x2m Teilen... macht evtl. ja sinn wegen Occlusion Culling ?
    Aber macht es auch Sinn wegen der dann vielen kleineren Lightmaps ?


    Hoffe versteht meine Frage in etwa...


    Gruß Olli

  • Ich kann dir empfehlen "modular" zu arbeiten wie du es jetzt auch tust!


    1. Baue die Wand modular aus deinen 2mx2m Teilen zusammen (12mx40m) z.B
    2. Sollte dir deine modulare Wand gefallen, dann markierst du alle modularen Teile aus der die "große" Wand besteht und geh bei der Unreal Engine 4 auf "Window/ Developer Tools/ Merge Actors"
    3. mit Merge Actors erstellt er "ein" Mesh aus deinen vielen Modularen Teilen und somit hast du nicht mehr "Bsp. 25 Modulare Meshes" sondern nur eins!
    4. Dann kannst du das ganze "baken" und solltest dann eine "saubere Lightmap" haben.


    5. Sollten Fehler vorhanden sein, kannst du das Mesh exportieren...und in einem 3D Modelling Programm die zweite (UV 1) bearbeiten und verbessern und erneut in die UE importieren/ ersetzen.


    Voraussetzung ist, dass du eine "seamless/ tiled" Material Textur hast.


    Versuch das mal;) bei mir klappt das hervorragend!

    • Offizieller Beitrag

    Im Moment baue ich diese große Wand aus vielen 3x2m Teilen... macht evtl. ja sinn wegen Occlusion Culling ?

    Es gibt da auch nen kleinen Trick:
    1.Bau dein Wandteil (2Meter) und mach die UV Fertig
    2.Setze nun in deinem 3D Programm alle Wandteil zu einem 14 * 2m Wandteil zusammen.
    3.Du kannst alle Objekte Combinen und sogar die Vertecies Mergen.
    4.Alle deine Wandteile liegen so übereinander und du hast ein großes Wandteil und somit weniger Objekte.



    Du solltest die Performance immer als ganzes sehen ! Versuch einfach so performant wie möglich zu arbeiten. Wenn du ein komplexes Wandteil mit sehr vielen Tris hast dann überleg dir beispielsweise was mit LODs.
    Hast du sehr viele kleine Objekte dann überleg dir wie du sie zu einem Objekt zusammen fassen kannst. (Statt einer Zeitung ein Stapel mit Zeitungen (Ein Mesh)


    Man kann das leider nicht immer auf die Goldwaage legen und pauschal sagen dies oder jenes macht mehr Sinn weil es immer auf deine Objekte und deine Szene ankommt.


    Ich hatte oben bereits geschrieben du sollst die Performance als ganzes sehen das heißt so grob: Du kannst mindestens 5 Millionen Tris in deiner Szene haben die vom Player gesehen werden. Dein gesamtes Level aber kann Millarden von Tris haben das spielt keine Rolle.
    Entscheidend ist das zu jeder Zeit jedes Frame schnell gerechnet werden kann und das erreichst du beispielsweise durch LODs, Culling uvm.


    Es macht keinen Sinn eine Riesige Wand zu Modellieren da du hierfür dann auch eine Riesige UV bräuchtest und diese Riesige Wand dann auch immer gleich aussieht. Überleg dir eher wie du eine Riesige Wand in mehre Meshes unterteilen kannst um diese beispielsweise unterschiedlich zusammen zu setzen.


    Bau dein Level einfach ganz normal und lass dir so dinge wie LOD oder das Culling als Optimierungsmöglichkeit. Wenn du von Anfang an optimierst dann läufst du Gefahr das es am Schluss nichts mehr zu optimieren gibt und dein Spiel nicht flüssig läuft. (Es ist ein tolles Gefühl wenn nach oben noch platz für mehr ist.

  • Danke für die Tipps.. so baue ich das ja im Moment. Nur wenn ich im 3D Prg. Merge dann bekomme ich ja wieder eine riesen Fläche für die Lightmap... oder?
    Ich mache mir nur Gedanken um die Lightmapgröße. Bei Texturieren kenne ich ja meine Px.Auflösung pro m... Nur gibt es da eine Richtung bei der Lightmap.?