34
Level Streaming Sai-Keung Wong Chiao Tung University, Taiwan, R.O.C. Reference: Mastering Unreal Technology (MUT)

Level Streaming

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Level Streaming

Sai-Keung WongChiao 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

New levels

• One persistent level• 2 kismet levels• 2 always loaded • 2 distance

Levels

• Stream kismet 01

persistent level

All levels

Level arrangement

PersistentKismet 01 Kismet 01

Distance 05 Distance 05

Always 03

Kismet 02 Kismet 02Always 03

Distance 06 Distance 06

Always 04

Always 04

Level control• In level manager, right click on a level

Level control• In level manager, right click on a level

World Info: Streaming Levels

Level: Distance

• Max Distance• If the player distance is <= Max Distance, load

the level• Distance = distance(player position, origin)

Level arrangement

PersistentKismet 01 Kismet 01

Distance 05 Distance 05

Always 03

Kismet 02 Kismet 02Always 03

Distance 06 Distance 06

Always 04

Always 04

Position (-1310, 22, 140)

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

originLevel visible

Level invisible/not loaded

If distance (player, origin), load the invisible level.

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”

Action->level->Stream Levels

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:

Unreal Frontend

• 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.

Method One: Using trigger to load the levelLevel : Kismet

• Touch the trigger.• Stream_kismet_01

loaded and visible!

Before touching the trigger After 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