x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Detailed explanation of "Streaming Usage" options for level streaming volumes

When using level streaming volumes, can anyone explain the exact differences between the 5 "Streaming Usage" options, namely:

  1. SVB Loading

  2. SVB Loading and Visibility

  3. SVB Visibility Blocking on Load

  4. SVB Blocking on Load

  5. SVB Loading Not Visible

(As far as I can see, no detailed explanation is given in the UE4 documentation.)

In some places, I would like to use level streaming for managing visibility only, i.e. the relevant assets will already be loaded in memory but I wish to hide distant objects until the player gets close to them for performance reasons. Is setting the level's streaming method to "Always Loaded" and selecting "SVB Visibility Blocking on Load" as the streaming usage a good way of achieving this?

Also, what is the difference between usage 1 (SVB Loading) and usage 5 (SVB Loading Not Visible), as neither seems to make the newly streamed level visible?

Thanks!

Product Version: UE 4.8 Preview
Tags:
more ▼

asked May 22 '15 at 04:08 AM in Using UE4

avatar image

Zejji
36 3 6 12

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

After a little digging through the engine source code, I think a partial explanation is provided at lines 398 onwards of UnrealEngine/Engine/Source/Runtime/Engine/Private/LevelTick.cpp:

 FVisibleLevelStreamingSettings( EStreamingVolumeUsage Usage )
     {
         switch( Usage )
         {
         case SVB_Loading:
             bShouldBeVisible        = false;
             bShouldBlockOnLoad        = false;
             bShouldChangeVisibility    = false;
             break;
         case SVB_LoadingNotVisible:
             bShouldBeVisible        = false;
             bShouldBlockOnLoad        = false;
             bShouldChangeVisibility    = true;
             break;
         case SVB_LoadingAndVisibility:
             bShouldBeVisible        = true;
             bShouldBlockOnLoad        = false;
             bShouldChangeVisibility    = true;
             break;
         case SVB_VisibilityBlockingOnLoad:
             bShouldBeVisible        = true;
             bShouldBlockOnLoad        = true;
             bShouldChangeVisibility    = true;
             break;
         case SVB_BlockingOnLoad:
             bShouldBeVisible        = false;
             bShouldBlockOnLoad        = true;
             bShouldChangeVisibility    = false;
             break;
         default:
             UE_LOG(LogLevel, Fatal,TEXT("Unsupported usage %i"),(int32)Usage);
         }
     }

A little lower down in the source code (line 476 et seq.), some comments describe the effect of the 3 boolean variables "bShouldBeVisible", "bShouldBlockOnLoad" and "bShouldChangeVisibility":

     /** Whether level should be visible.                        */
     bool bShouldBeVisible;

     /** Whether level should block on load.                        */
     bool bShouldBlockOnLoad;

     /** Whether existing visibility settings should be changed. */
     bool bShouldChangeVisibility;

However, I have not yet answered my second question, i.e. whether level streaming volumes are a good way of managing visibility only (i.e. on the assumption that all assets are pre-loaded into memory at the level start).

more ▼

answered May 22 '15 at 04:17 AM

avatar image

Zejji
36 3 6 12

avatar image Elad_D Jul 17 '17 at 02:44 PM

Wondering if you've answered the second question yet.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question