Snabbtips En introduktion till Light-Mapping i UDK

Light-mapping för Unreal Engine brukade vara en extremt tråkig process, eftersom den bara kunde förberedas i ett externt program som Max eller Maya. Tja, tack och lov finns det en lösning! I den första av våra Unreal Dev Kit-handledningar går Jarlan Perez igenom hur man först bereder en modell och sedan installerar ljuskartor helt inom UDK själv.


Ytterligare filer / plugins:
  • Ladda ner projektfilerna för den här handledningen

I filen RefFiles.zip hittar du två mappar: paket och scen. Både start- och slutfilen för denna handledning har lämnats inuti scen mapp.


Steg 1

Låt oss börja. Starta UDK och öppna upp LightMapping_Start.udk belägen inuti din scen mapp. Det här är en mycket enkel scen som består av en subtraherad kub och en enda spotlight som visas nedan.


Steg 2

Gå vidare och öppna upp Innehållswebbläsare och ladda LightMapping.upk paketet ligger i paket mapp, som visas nedan. Inuti hittar du två statiska maskor, en kub som heter bas som vi ska använda för golvet där våra skuggor kommer att projicera och ett cirkulärt rörformat nät med namnet rör vilket kommer att vara nätet som kastar skuggorna.


Steg 3

Välj det basnätet och dra det över till din scen.


Steg 4

Nästa kommer vi att dra röret in i scenen. Se till att du lämnar en rimlig mängd utrymme mellan de två maskorna så att vi kan få en ganska klar skugga i slutscenen.


Steg 5

Låt oss fortsätta och testa belysningen och se vad vi får. Se till att du stänger av Använd Lightmass Alternativet, som att simulera GI, minskar din byggtid kraftigt och vid denna tidpunkt har vi inte så mycket nytta för det! Använd de inställningar som visas nedan:


Steg 6

Du borde få något liknande bilden nedan. Vi får för närvarande extremt mjuka, subtila skuggor, och varför finns det inga skuggor på vårt basnät? Det är vad vi ska utforska.


Steg 7

Varje statiskt nät som importeras till Unreal har sin egen unika UV-uppsättning som används för att applicera texturer. För att få den önskade, ljusmappande effekten som vi letar efter måste vi göra en helt ny UV-uppsättning som kommer att användas för att spara skuggorna i din Lightmap. Som du kan se har detta objekt för närvarande bara en UV-karta eller kanalisera.


Steg 8

För att skapa vår nya UV-karta, gå först till Mesh> Generate Unique UVs, enligt nedan:


Steg 9

Detta öppnar en liten undermeny för UV-generering. Eftersom dessa UV-kartor bara kommer att användas för att fånga skuggor, behöver du inte längre exportera dina modeller till ett externt program för att skapa en ny UV-kanal.

Unreal läser UV-kanaler från och med 0 (t ex den allra första UV-kanalen kommer att vara Kanal 0.) Vi skapar en ny karta utöver den befintliga, så se till att du ställer in UV-kanal för att spara resultat till dropdown till 1.

För nu, lämna Begränsa maximal sträckning (0-1) vid "0.500000" standardvärdet. Det verkade fungera bra för mig tidigare, och jag hittade aldrig riktigt mycket av en anledning att ändra det. När du har alla inställningar på plats, så visas nedan Tillämpa.


Steg 10

Låt oss ta en titt på våra resultat. Du kan tydligt se att Unreal har skapat en andra UV-uppsättning, och nu måste vi bara låta Unreal veta att vi ska använda den nya UV-uppsättningen för ljuskartläggning.

För att göra detta, gå till fältet med titeln Ljuskarta koordinatindex och sätt det till vår nya UV-uppsättning kanal, som var 1.

Nu måste vi lägga upp upplösningen för våra ljuskartor. Gå till fältet med titeln Lätt kartupplösning och sätt det till 512, vilket borde ge oss snygga skuggor. (Om vi ​​behöver öka skuggdetaljen i framtiden kan vi alltid dubbla det här värdet till 1024.)


Steg 11

Nu är det bara en sak kvar att göra - låt motorn veta vilket av maskorna vi vill få skuggor. Anledningen till att vi väljer specifika maskor (och inte bara beräknar ljuskartor på allt), är att förhindra onödig bearbetning och spara på den totala byggtiden. Till exempel kan du ha 50 av samma Meshes i en scen men vill bara ha 10 att ha mycket detaljerade ljuskartade skuggor. Du skulle utse dessa 10 objekt för att ta emot skuggor baserat på din UV-karta, och resten skulle beräknas med hjälp av Unreals standardskuggsystem.

Att beteckna ljuskartor är väldigt enkelt. Högerklicka på ditt objekt och ta fram dess egenskaper (eller du kan använda genvägen F4.) Klicka på StaticMeshActor etikett, och sedan i dess egenskaper avsnitt, klicka på StaticMeshComponent märka.

Här kommer vi bara att justera två saker; Först och främst vill vi se till att Överrätta ljuskartor är markerad, och då vill vi ange värdet för Överdriven ljuskarta fält för att matcha upplösningen av vår UV-karta, i vårt fall 512.


Steg 12

Nu slår du på Bygg ljus knappen och använd samma inställningar som i steg 5 ovan. Din sista bild ska se ut så här nedan:


Och det här är hur man konfigurerar ljuskartor med endast UDK! Jag hoppas att den här demonstrationen var till hjälp, och om du har några frågor, vänligen lämna dem i kommentarerna nedan!