UE3 - GoW Streaming Techniques

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

foxjasond

New Member
Mar 21, 2008
42
0
0
A few questions:

1. I know how to load a level, but I'm not sure how to approach loading and unloading levels when the player moves from one to the other.

2. The SP map I'm making is not large, but should I consider breaking each of the levels up into meshes, sound, scripting, etc? How much does that help with loading speed?

Any help is greatly appreciated.
 

foxjasond

New Member
Mar 21, 2008
42
0
0
Update: New questions

3. I'm tried using a blank level to act as the persistent level and imported two levels to stream between. Should I do the streaming in the persistent level or in individual levels?

4. In the above situation in 3, should the PlayerStart be placed in the persistent level?
 

evilmrfrank

Banned
Apr 22, 2005
1,631
0
36
36
Florida, US
www.evilmrfrank.com
1. You should probably use trigger volumes to trigger the next area loading in or an area behind you loading out.

2. Most games ive seen have split the levels up into different ones with meshes being in one, scripting in another, and audio in another. Depending on the complexity of your map it might be a good idea or it might not be really needed all that much. Splitting your levels up will mean you have complete control of when to load in the scripting, sound, or meshes so it will definetly speed your loading times up if you don't need them all loaded at once.

3. If you have a level for scripting it might be easiest to keep all your volumes and streaming within that level or it might be easiest for you to keep it all in the persistent level, thats more up to you as both will work fine.

4. The playerstart should be placed in the persistent level.
 

foxjasond

New Member
Mar 21, 2008
42
0
0
1. You should probably use trigger volumes to trigger the next area loading in or an area behind you loading out.

This is very good advice, but what if I want to go back to the previous area? Is there a more dynamic way to stream between levels?
 

evilmrfrank

Banned
Apr 22, 2005
1,631
0
36
36
Florida, US
www.evilmrfrank.com
You can use dynamic trigger volumes which you can disable or enable at any time you want. Or you could set your level up so that when when the area behind you streams out it also enables a trigger volume behind you so that if you try and go back youll hit the new trigger volume that would stream everything behind you in again.
 

foxjasond

New Member
Mar 21, 2008
42
0
0
After some work in kismet with level streaming, I have some new questions:

-I have looked in Kismet, and there is both Level Beginning and Level Startup. Is there a difference between the two?

-Once a level has been streamed in once, will it stream in faster if it is unloaded then loaded in again?
 

willhaven

bPimp=False
Aug 18, 1999
142
0
0
www.planetunreal.com
I typically use streaming volumes for sublevels that are filled with lights and meshes, and I use Kismet streaming for loading and unloading scripting levels. My scripting levels typically don't use streaming volumes at all, because I want complete control over them.

Streaming volumes can also be toggled on and off with the Toggle Kismet action.

If you've got a door and you want to make sure the next area is streamed in before the door opens, you can use the StreamMultipleLevels action and uncheck the BlockOnLoad. Then fire the Finished tab into a counter that waits for all of your events (All guys dead, timers, and streaming) before opening the door.

When we know we're unloading something for good, we usually: Unload, Force Garbage Collect, Load new stuff