Autor Wątek: build lighting duzych map  (Przeczytany 4057 razy)

Offline jjoker8

  • Użytkownik

# Grudzień 11, 2012, 23:03:28
Witam, zrobiłem sobie sporą mapkę w UDK (256x256), ustawiłem lightmass obejmujące cały level i zacząłem texturować. Na planszy jeszcze nie ma żadnych meshy ani nic. Dla prostego materiału zbudowało lighting po dłuższym casie ale bez problemu. Gdy trochę skomplikowałem materiał (blending 4 textur) przy tej operacji wywala błąd "Out of mamory". Zacząłem kombinować w ustawieniach, jednak nic nie działa, nawet zmniejszenie bouncingu dla promieni do 1- błąd wywala dalej. Podzieliłem LightmassVolume na kilka mniejszych, ale nic to nie dało. Na forum UDK dokopałem się do tematu: http://forums.epicgames.com/threads/916048-Lightmass-out-of-memory. Niezbyt to optymistyczne, zważywszy na to że jeszcze nie mam nawet meshy na scenie... W związku z tym mam pytanie: jak  robione jest oświetlenie dla duzych obszarów np. w Elders Scrolls?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Cerberus

  • Użytkownik
    • Moja strona

# Grudzień 11, 2012, 23:31:02
Terrain czy Landscape? 256 czego, komponentów? Masz tylko ten jeden materiał na całym terenie? I jakie masz oświetlenie, wiele mniejszych, dominant, skylight?

Generalnie lightmass volume powinien być jeden, obejmujący całą mapę. Możesz sobie spróbować zwiększyć pamięć wirtualną w systemie, potrafi pomóc.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Grudzień 11, 2012, 23:32:55
Cytuj
W związku z tym mam pytanie: jak  robione jest oświetlenie dla duzych obszarów np. w Elders Scrolls?
W przypadku Elder Scrolls odpowiedź jest prosta: nie na UDK. ;) ES chodzą na własnych silnikach.

Nie wiem jak to było w przypadku Skyrima, ale Oblivion nie miał wypalanego oświetlenia. Tylko bent normals na meshach levelu i shadowmapy dla świateł gdzieniegdzie.

Offline jjoker8

  • Użytkownik

# Grudzień 11, 2012, 23:42:16
terrain, 256 unreal units bez zwiększania tesselacji, czyli kolo 120k trójkątów (o ile mozna tu mówić o trójkątach bo to jest jako heightmapa zapisane). Oświelenie mam tylko skylight/ dominant (narazie). Materiał jest jeden i bardzo prosty w porównaniu do tego co zamierzam zrobić.
Rzeczywiście odpuszczę sobie chyba lightmass, tylko muszę coś wymyślić bo bez bez tego wygląda nienajlepiej... Może dodam kilkadziesiąt punktowych świateł i zobaczę jak pójdzie, kiedyś podobno tak się robiło :)
aha, a shadowmapę zrobiłem na podstawie slope mapy i wkomponowałem w materiał jako teksturę, także już to mam.
co do pamięci wirtualnej to ja mam tylko 4 gb ramu, a z tego co czytałem na forum UDK to ludzie robili to na 2 kompach po 16 gb i też im wywalało brak pamięci więc chyba nie mam szans :/
« Ostatnia zmiana: Grudzień 11, 2012, 23:48:34 wysłana przez jjoker8 »

Offline Cerberus

  • Użytkownik
    • Moja strona

# Grudzień 12, 2012, 00:07:25
Jeżeli nie zależy Ci na portowaniu tego na mobile, to radziłbym Ci przerzucić się na Landscape, przede wszystkim fajniej radzi sobie ze zmniejszaniem szczegółowości terenu w zależności od odległości od obserwatora, ogólnie Epiki piszą, że terrain jest raczej deprecated.

Oświetlenie skylight + dominant jest okej, nie powinno to w ogóle bruździć. Lightmass też powinien dawać radę. Z tymi bardziej zaawansowanymi materiałami to trzeba pamiętać o ograniczeniu 16tu textur na materiał landscapowy, wliczając to w normale etc.

Jak kiedyś robiłem trochę większy teren (piechotą standardowym botem z 5min się biegło na drugi koniec) to po prostu tworzyłem nowy Landscape, rzeźbiłem, nakładałem materiał, przebudowywałem światło zostawiając włączonego kompa na noc - 4GB ramu, ustawione mnóstwo wirtualnej.


Offline jjoker8

  • Użytkownik

# Grudzień 12, 2012, 01:12:34
nie zamierzam portować na mobile, tylko że trochę włożyłem pracy w ten teren, wiesz może jak to przekonwertować do landscape? Jedyny tutorial jaki znalazłem jest tutaj: http://www.design3.com/training-center/engines-sdks/udk/interface/introduction-to-udk-landscape-tool i jest niestety płatny... Konwertera z t3d czy *.obj do raw też nie mogę znaleźć, znalazłem z bmp do raw, ale nie działa dla heightmap bmp wyeksportowanych przez UDK (moze dlatego że nie są greyscale?).
« Ostatnia zmiana: Grudzień 12, 2012, 01:26:21 wysłana przez jjoker8 »

Offline Cerberus

  • Użytkownik
    • Moja strona

# Grudzień 12, 2012, 01:25:35
Czek ałt dis:

http://udn.epicgames.com/Three/LandscapeCreating.html#Converting%20a%20Legacy%20Terrain%20to%20a%20Landscape

Generalnie dokumentacja na UDN na temat Landscapów jest w porządku. Jest też pełno video tutoriali choćby na yt jak z tym działać.

PS: Przy okazji znalazłem info, że od listopada tego roku da się wrzucać Landscape na platformy mobilne ;)

Offline jjoker8

  • Użytkownik

# Grudzień 12, 2012, 01:40:13
No tak, na UDN to nie zajrzałem... Dzięki wielkie, już przekonwertowane :D. Trochę dziwne to zmniejszanie max size i patchy o 1, stawiam że ktoś zapomniał że tablice są indeksowane od 0 a nie od 1 haha :D

Offline jjoker8

  • Użytkownik

# Grudzień 14, 2012, 12:12:37
teren przerobiłem na landscape, co nie zmieniło problemu z lightmasą. Zwiększyłem pamięć wirtualną, teren otexturowany materiałem z 8 texturami (3 warstwy do malowania po terenie, diffuse + normalmapy). Idąc za radą Cerberusa zwiększyłem ilość pamięci wirtualnej. Teren składa się z gór oraz zamku z BSP brushy, (zamiek narazie bez textur). Lightmass Volume dałem tylko na zamek. Teraz albo staje na 50%, i nie idzie dalej albo wywala błąd. Oto log tego błędu, przed zwiększeniem pamięci wirtualnej go nie było (coś nie tak z plikiem wymiany?):
10:55:22: Measured CPU frequency: 3.01 GHz
10:55:22: FStaticLightingSystem started using GKDOPMaxTrisPerLeaf: 4
10:55:22: Number of texture mappings: 0
10:55:22: Number of vertex mappings:  0
10:55:22: Number of terrain mappings: 0
10:55:22: Number of fluid mappings:   0
10:55:22: Number of landscape mappings:   1369
10:55:22: Number of SpeedTree mappings: 0
10:55:22: Number of BSP mappings:     163
10:55:22: Number of static mesh instance mappings: 0
10:55:22: Number of SpeedTree mesh instance mappings: 0
10:55:22: Reserving memory for 1532 meshes, 352210 vertices, 617020 triangles
10:55:22: Scene surface area calculated at 50229.270 million units (158.434% of the estimated 31703.496 million units)
10:55:22: Importance volume surface area calculated at 237.254 million units (90.372% of the estimated 262.530 million units)
10:55:23: Building kDOP took  0.73 seconds.
10:55:23: Static lighting kDOP: 347142 nodes, 173572 leaves, 694288 triangles, 352210 vertices
10:55:23: Static lighting kDOP: 11.132% wasted space in leaves
10:55:23: kDopTree.Nodes        :    38.0Mb
10:55:23: kDopTree.SOATriangles :    48.0Mb
10:55:23: kDOPTriangles         :     0.0Mb
10:55:23: TrianglePayloads      :    14.1Mb
10:55:23: MeshInfos             :     0.0Mb
10:55:23: Vertices              :     5.4Mb
10:55:23: UVs                   :     2.7Mb
10:55:23: LightmapUVs           :     2.7Mb
10:55:23: Static lighting kDOP: 347142 nodes, 173572 leaves, 694288 triangles, 352210 vertices, 110.9 Mb
10:55:23: Processing...
10:55:23: EmitDirectPhotons complete, 0.028 million photons emitted in 0.1 seconds
10:55:23: EmitIndirectPhotons complete, 0.142 million photons emitted in 0.2 seconds
10:55:23: Marking Irradiance Photons complete, 0.009 million photons marked in 0.0 seconds
10:55:26: Caching Irradiance Photons complete, 0.967 million cache samples in 2.2 seconds
10:55:26: Calculate Irradiance Photons complete, 0.006 million irradiance calculations in 0.0 seconds
10:55:29: Assertion failed: Ptr [File:LightmassCore\Src\LMMemory.cpp] [Line: 91]
10:55:29: OUT OF MEMORY:   Malloc:      1048544 bytes (        1.00MB)  requested,       129.24 of      2047.88 MB of virtual memory free,         2.98 of      3326.10 MB of physical memory free,      1519.05 of      5210.40 MB of page file free
10:55:30: Assertion failed: Ptr [File:LightmassCore\Src\LMMemory.cpp] [Line: 91]
10:55:30: OUT OF MEMORY:   Malloc:      1048576 bytes (        1.00MB)  requested,       133.85 of      2047.88 MB of virtual memory free,         6.46 of      3326.10 MB of physical memory free,      1524.37 of      5210.40 MB of page file free
10:55:33: Assertion failed: NewPtr || Size==0 [File:LightmassCore\Src\LMMemory.cpp] [Line: 98]
10:55:33: OUT OF MEMORY:  Realloc:     50135232 bytes (       47.81MB)  requested,       227.81 of      2047.88 MB of virtual memory free,        84.42 of      3326.10 MB of physical memory free,      1603.26 of      5210.40 MB of page file free
10:55:36: Assertion failed: NewPtr || Size==0 [File:LightmassCore\Src\LMMemory.cpp] [Line: 98]
10:55:36: OUT OF MEMORY:  Realloc:     12533808 bytes (       11.95MB)  requested,       473.73 of      2047.88 MB of virtual memory free,       328.55 of      3326.10 MB of physical memory free,      1849.02 of      5210.40 MB of page file free
10:55:36: Static lighting thread exception:
10:55:36:
10:55:36: Assertion failed: Ptr [File:LightmassCore\Src\LMMemory.cpp] [Line: 91]
10:55:36: OUT OF MEMORY:   Malloc:      1048544 bytes (        1.00MB)  requested,       129.24 of      2047.88 MB of virtual memory free,         2.98 of      3326.10 MB of physical memory free,      1519.05 of      5210.40 MB of page file freeAddress = 0x7c812afb (filename not found)
10:55:36:
10:55:36: Address = 0x78ac872d (filename not found)
10:55:36:
10:55:36: Address = 0x4552f9   (filename not found)
10:55:36:
10:55:36: Address = 0x455928   (filename not found)
10:55:36:
10:55:36: Address = 0x4534fc   (filename not found)
10:55:36:
10:55:36: Address = 0x42611b   (filename not found)
10:55:36:
10:55:36: Address = 0x425ccf   (filename not found)
10:55:36:
10:55:36: Address = 0x46f22a   (filename not found)
10:55:36:
10:55:36: Address = 0x44a4eb   (filename not found)
10:55:36:
10:55:36: Address = 0x44a74a   (filename not found)
10:55:36:
10:55:36: Address = 0x451826   (filename not found)
10:55:36:
10:55:36: Address = 0x7c80b729 (filename not found)
10:55:36:
10:55:36:
10:55:36: Exception handled in main, crash report generated, re-throwing exception
10:55:36: Exception handled in main, calling appHandleCriticalError
10:55:36: === Critical error: ===
10:55:36:
10:55:36: Static lighting thread exception:
10:55:36:
10:55:36: Assertion failed: Ptr [File:LightmassCore\Src\LMMemory.cpp] [Line: 91]
10:55:36: OUT OF MEMORY:   Malloc:      1048544 bytes (        1.00MB)  requested,       129.24 of      2047.88 MB of virtual memory free,         2.98 of      3326.10 MB of physical memory free,      1519.05 of      5210.40 MB of page file freeAddress = 0x7c812afb (filename not found)
10:55:36:
10:55:36: Address = 0x78ac872d (filename not found)
10:55:36:
10:55:36: Address = 0x4552f9   (filename not found)
10:55:36:
10:55:36: Address = 0x455928   (filename not found)
10:55:36:
10:55:36: Address = 0x4534fc   (filename not found)
10:55:36:
10:55:36: Address = 0x42611b   (filename not found)
10:55:36:
10:55:36: Address = 0x425ccf   (filename not found)
10:55:36:
10:55:36: Address = 0x46f22a   (filename not found)
10:55:36:
10:55:36: Address = 0x44a4eb   (filename not found)
10:55:36:
10:55:36: Address = 0x44a74a   (filename not found)
10:55:36:
10:55:36: Address = 0x451826   (filename not found)
10:55:36:
10:55:36: Address = 0x7c80b729 (filename not found)
10:55:36:
10:55:36:
10:55:37: CreateProc AutoReporter.exe "UE3AutoReportDump.txt" "UnrealLightmass_KIR_C52AD80648161D85C3207A9B57E6E605.log" "UE3AutoReportIniDump.txt" "UnrealLightmass.exe-2012.12.14-10.55.29.dmp" -unattended
10:55:37: Couldn't start up the Auto Reporting process!
10:55:37: *** CRITICAL ERROR! Machine: KIR
10:55:37: *** CRITICAL ERROR! Logfile: UnrealLightmass_KIR_C52AD80648161D85C3207A9B57E6E605.log
10:55:37: *** CRITICAL ERROR! Crash report:
10:55:37: [CloseConnection] Closing connection 421CB660 using handle 421CB660
10:55:37: [CloseConnection] Connection confirmed for disconnection 421CB660
10:55:37: [UpdateTaskState]: Task Killed locally by KIR, counted as failure
10:55:37: [Job] Job has failed! The task failure count is non-zero
10:55:37: [UpdateTaskState]: Task Killed locally by KIR, counted as failure
10:55:37: [UpdateTaskState]: Task Killed locally by KIR, counted as failure
10:55:37: [UpdateTaskState]: Task Killed locally by KIR, counted as failure
10:55:37: [UpdateTaskState]: Task Killed locally by KIR, counted as failure
10:55:37: [UpdateTaskState]: Task Killed locally by KIR, counted as failure
10:55:37: [UpdateTaskState]: Task Killed locally by KIR, counted as failure
10:55:37: [UpdateTaskState]: Task Killed locally by KIR, counted as failure
10:55:37: [CloseConnection] Connection disconnected 421CB660
10:55:37: [GetMessage] Safely returning to 421CB660 with no message
10:55:37: [CloseConnection] Closing connection 49201747 using handle 49201747
10:55:37: [CloseConnection] Connection confirmed for disconnection 49201747
10:55:37: [CloseConnection] Closing orphaned Job (84A96A23-44BC27B5-C6FFB0A8-F9846233)
10:55:37: [CloseConnection] Connection disconnected 49201747
10:55:37: [GetMessage] Safely returning to 49201747 with no message
10:55:37: [MaintainConnections] Local connection has closed (49201747)
10:55:37: [MaintainConnections] Local connection has closed (421CB660)
10:55:37: [MaintainConnections] Removed connection 49201747
10:55:37: [MaintainConnections] Removed connection 421CB660
10:55:37: [MaintainConnections] All connections have closed
10:55:37: [Maintain Jobs] Killing rogue Job "84A96A23-44BC27B5-C6FFB0A8-F9846233"

Offline jjoker8

  • Użytkownik

# Grudzień 15, 2012, 23:05:29
Przeinstalowałem windowsa i zaczęło działać jak należy :).