UE5 World Partition Part 1 Concepts

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
this is the first video in a multi-part series on unreal engine 5 world partition this video discusses many of the basic concepts and features of the world partition system world partition is the new world streaming system in unreal engine 5. regions of the world called cells are streamed in and out of view visibility based on their distance from the streaming source usually the player world partition replaces the unreal engine 4 world composition feature and its level streaming system there are three ways to enable world partition within unreal engine 5. create a new project from a template in the games category create a new level using the open world level template or convert an existing level to use world partition to convert an existing level to use world partition use the tools menu convert level item or use the world partition convert commandlet in a command prompt window unlike world composition which disables the landscape location rotation and scale properties with world partition these values can still be adjusted after the terrain has been imported this allows for changing the terrain elevation or scaling at any time during level development world partition supports all recommended landscape sizes as defined by the epic landscape technical guide documentation even though the landscape actor can support a wide variety of terrain sizes the recommended sizes should be used these are 127 253 505 1009 2017 4033 and 8129 there are also three intermediate sizes that work well with landscape which are 15 13 30 25 and 60 97 all of these sizes can be chosen directly with the landscape create mode to create a landscape larger than the 8129x8129 size you should use the recommended world partition large sizes for png files the recommended world partition large sizes are different than the world composition large sizes the world partitioned large sizes can be found in the terrasculptor unreal engine landscape dialog the total number of large sizes is too long to list here with world partition you no longer have to split the large height maps into tiles for importing it is possible to import the full png heightmap file for resolutions up to 32767x32767 for resolutions greater than 32767 tiles will have to be used however that is another issue see the next chapter the raw file format importer however is still limited to the 8161 by 8161 maximum size along with tile importing it will not import large size height maps the unreal engine 5 landscape importer ignores shared edges and loads each tile as straight fit edge to edge a 10 by 10 tile set of 1009 by 1009 size tiles which used to import under world composition with shared edges totaling 10 081 by 1081 actually imports in ue5 as 1090 by 10 090 so there's no shared edges support at all in the world partition importer and since 1090 resolution is not divisible by the new larger 511 section size world partition pads out the terrain size to ten thousand two hundred and one by ten thousand two hundred and one this effectively adds an edge padding of 111 vertices to this example size so if you don't use proper world partition sizing for tiles you will end up with either a cropped height map or a padded height map one method to determine the tile sizings for various world partition height maps is to check with google if the resolution is a prime number for all the resolutions that i have checked so far most are only divisible by one other set of numbers google will return some math pages that will give you the divisor values to use for proper tile sizing some large world sizes cannot be tiled and others have two or three divisor values the ofpa system stores actor assets and properties into the external actors folders in the project's content folder landscape actors appear to always be set to the external actor mode and stored in the external actors folders the ofpa system will be used even for small single height map landscapes such as 4033 and 8129 an 8129 by 8129 landscape height map import will result in a landscape actor and 256 landscape streaming proxy actors in the outliner list the landscape streaming proxy actors and the resultant height map view asset files will be stored in the external actors folder this results in some issues that should be considered see the issues chapter in this video the basic rule for computer system requirements for world partition world creation for both importing the tile set and editing all cells is as follows this information has been determined through hundreds of hours of benchmarking and testing the landscape importing system and cell loading system and the resulting system main memory and video memory use these values are only safe guidelines with margin for error for example it may be possible to import a 32 kilometer world on a computer with 64 gigs of memory and an 8 gig video card if the page file is large the import process uses a large amount of video memory when creating all of the cells and landscape streaming proxies the amount of memory used varies by the size of landscape that is being imported a standard windows computer's total video memory is a combination of the dedicated video memory on the video card itself and the shared video memory which is fifty percent of the computer systems main memory so a computer with 32 gigs of main memory and an 8 gig video card will have a total of 16 gigabytes plus 8 gigabytes which is 24 gigabytes available for video memory for windows to use the only way to increase the dedicated memories to purchase a video card with more memory included on it and the only way to increase the shared memory is to add more main memory to the computer most modern computers can have a maximum of 128 gigs of memory installed for which the shared memory value would then be 64 gigs which is 50 of 128 gigs for very large worlds the landscape import process can require more than 74 gigs of video memory when importing a 44 kilometer by 44 kilometer or 2 000 square kilometer world i ran out of total video memory with 74 gigabytes available and unreal engine displayed a video memory exhausted error and exited before completing the import this is on a computer with 128 gigabytes of main memory and a 10 gigabyte rtx 3080 for a total of 64 gigabytes plus 10 gigabytes of video memory i have since then upgraded to an rtx 3090 with 24 gigabytes of dedicated video memory in order to be able to import larger worlds the cell size determines the size of the grid cells that are used to generate the streaming levels the default cell size is 25 600 world units in centimeters which is 256 square meters the cell size property can be adjusted in the world settings world partition runtime settings cell size value the cell grid can be shown in the viewport by enabling the preview grids option in the world partition runtime settings this will display a grid of lines showing where the cell regions are located each cell would be close to the same size as the landscape component size of an 8129 by 8129 landscape which is 254 by 254. an 8129 by 8129 landscape is 1024x4 draw calls or 4096 total draw calls for the entire terrain a cell loading range of 76 800 with 25 600 cell size results in a landscape draw call count of about 50 draw calls for larger landscapes the section size is increased to 511 most likely to reduce the number of draw calls per landscape the cell loading range is the distance from the streaming source which is typically the player that cells in the world will be loaded and made visible for levels that also contain landscapes this loading range would include the landscape streaming proxy actors that are visible and rendered in the view distance the cell loading range can be set in the world settings world partition runtime settings loading range this value is in unreal engine world units which is centimeters the default value is 76 800 which is 768 meters the default cell loading range is usually too small for most landscape world designs where a visual distance of around 5 kilometers is optimal to get a 5 kilometer view distance set the cell loading range to five hundred and twelve thousand my ryzen 9 59 50 x with rtx 3090 gets about 120 frames per second in the pie window at 1920x1080 with a cell loading range of five kilometers my intel i312 100 with gtx 1650 gets about 30 fps in standalone gate mode at 1920 by 1080 40 fps at 1280 by 720 and 60fps at 640x360 with a cell loading range of 5 kilometers the world partition minimap allows you to select and load individual cells of the landscape the mini-map is divided into landscape sections so for an 81 29 by 8129 landscape which has two by two sections for 32 by 32 components there will be a grid of 64 by 64 sections that can be selected and loaded or unloaded i have noticed that the viewport render performance may drop significantly while the world partition minimap tab is selected on my rtx 3090 on some large 1024 square kilometer levels the other tabs render at 50 fps but selecting the world partition minimap tab drops the viewport fps to around 20. the minimap is the top-down overview of the world that is used to control loading and unloading of cells and the display of placed actors in the world a 16k by 16k mini-map is the largest that can be created with default texture sizes creating a 16k by 16k minimap texture for a 16 kilometer by 16 kilometer world usually causes the texture streaming pool to be over budget requiring that the pool be increased attempting to create a mini-map texture larger than 16k with standard textures results in the following log error if virtual textures are enabled in the project properties then larger mini maps can be created such as for a 32 kilometer by 32 kilometer world keep in mind that the mini-map texture counts towards the computer system texture streaming pool so the system can run out of pool resources if large minimap textures are created some world components such as landscapes and water components are currently not supported by hlod actors according to the documentation so there's no use in generating hlods if you have a test map that is only a landscape use the is spatially loaded checkbox option in the actors details world partition settings to control the persistent visibility of the actor if it is unchecked the actor will always be visible even if the world partitioned cell that it sits on is unloaded it appears that sometimes you cannot delete the landscape streaming proxies in landscape actor from an existing level this deletion takes a long time even on a fast computer and is usually unsuccessful the landscape streaming proxy actors will often reappear in the outliner list after reopening the level a check of the project size also shows that the external actors ofpa folders did not decrease in size when attempting to delete the landscape streaming proxies so you end up with gigabytes of orphaned files with no ofpa clean function in ue5 i've had to simply delete a complete level to get rid of the landscape and landscape streaming proxies this makes deleting and recreating a landscape within a level a real problem you
Info
Channel: Demenzun Media
Views: 22,241
Rating: undefined out of 5
Keywords: Demenzun, Demenzun Media, TerreSculptor, Terrain, Landscape, Heightmap, DEM, Digital Elevation Model, Video, Game, Developer, Unreal, Unity, Engine, UE3, UE4, UE5, World, Partition
Id: fDgKV3SjDTI
Channel Id: undefined
Length: 14min 49sec (889 seconds)
Published: Sat Jun 18 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.