350 likes | 498 Views
Level Streaming. Sai -Keung Wong Chiao Tung University, Taiwan, R.O.C. Reference: Mastering Unreal Technology (MUT). Contents. Level streaming. Game Levels. Load all the levels at the beginning of the game ? Resources ? Scene computation ?. Level Steaming: Concept. New levels.
E N D
Level Streaming Sai-Keung Wong Chiao Tung University, Taiwan, R.O.C. Reference: Mastering Unreal Technology (MUT)
Contents • Level streaming
Game Levels • Load all the levels at the beginning of the game ? • Resources ? • Scene computation ?
New levels • One persistent level • 2 kismet levels • 2 always loaded • 2 distance
Levels • Stream kismet 01 persistent level
Level arrangement Distance 06 Distance 06 Always 03 Kismet 02 Persistent Kismet 02 Always 04 Kismet 01 Kismet 01 Always 03 Distance 05 Always 04 Distance 05
Level control • In level manager, right click on a level
Level control • In level manager, right click on a level
Level: Distance • Max Distance • If the player distance is <= Max Distance, load the level • Distance = distance(player position, origin)
Level arrangement Distance 06 Distance 06 Always 03 Kismet 02 Persistent Kismet 02 Always 04 Kismet 01 Kismet 01 Always 03 Position (-1310, 22, 140) Distance 05 Always 04 Distance 05
Level: Distance • Change origin and max distance. • Use a reference object to obtain the origin
Level: Distance • Save and test Walk further…. The level disappears. Solve the problem!
Level Distance If distance (player, origin), load the invisible level. Level invisible /not loaded Level visible origin
Level: Distance • Origin • Offset • Should be visible? • Locked? • Is fully static? • Editor streaming • Object name
Level: Kismet • World Info
Method One: Using a trigger to load the levelLevel : Kismet • Add a touch trigger to load the level • Add action “Stream levels” • Set level name: the level should be loaded • E.g. stream_kismet_01 • Add “commit map change”
Method One: Using a trigger to load the levelLevel : Kismet • Save and test. • Touch the “touch trigger” • Level not loaded!!!
Method One: Using trigger to load the levelLevel : Kismet • To solve the problem, copy the level to: • C:\UDK\UDK-2010-02\UTGame\Content\Maps • It is the directory of the UDK maps. If you install it to a different path, find it out. • Copy all the levels to the folder:
Method One: Using trigger to load the levelLevel : Kismet • Use UnrealFrontEnd to launch the persistent level. • Still don’t work!!!! • Remember, what we need is to place a “player start” at the persistent level. Save and test.
Touch the trigger. • Stream_kismet_01 loaded and visible! After touching the trigger Before touching the trigger
Streaming VolumeSet Streaming level : Kismet level • Add a streaming volume
Streaming VolumeSet Streaming level : Kismet level • In level manager
Level: Always loaded • World Info