본문 바로가기

카테고리 없음

Level Streaming

Level Strinming


Memory에 map을 Load / Unload하거나 그 표시여부(Visibility)를 토글시키는 작업 모두 play도중 할 수 있도록 해주는 기능이다.

World를 작은 여러개의 덩어리로 쪼개 언제든지 관련이 있는 부분만 resource를 차지하여 render될 수 있도록 해주는 기능이다.


즉 커다란 World / map을 잘개 쪼개어 필요한 부분만 그때그때 로딩을 해서 사용하는 방식이다.

옵션에는 2가지가 있다.



Always Loaded


Always Loaded(항상 로드됨)으로 설정 할 경우 퍼시스턴트 레벨과 같이 load가 된다.

보이는 시점도 퍼시스턴트 level과 마찬가지이다.

연결된 streaming volume뿐만이 아니라 blueprint 혹은 C++에서 전송된 load / unload요청도 무시한다.

이러한 유형의 sub level은 보통 퍼시스턴트 level에 있는 content를 다수의 layer로 나누어 여러명의 개발자가

서로의 작업을  방해하지 않고 병렬작업을 할 수 있도록 하는데 사용된다.

(Unreal의 경우 한곳을 누가 수정하고 있으면 해당 부분은 다른 사람이 수정해서는 안된다

 즉, 수정중인부분은 Lock을 하여 다른사람이 접근하지 못하게 해야하는데 해당기능을 통해

 World 혹은 과정(배경아트, 라이팅, 오브젝트 등)들을 여러 layer로 나누어 여러명이 함께 다른부분을 수정할 수 있게 하도록 하는방식)



BluePrint 


BluePrint Streaming 유형으로 level을 streaming하면level streaming volume, blueprint, C++ code로 Streaming을 제어할 수 있다.

동적인 load / unload 제어가 가능한 것 이다.





참고

http://api.unrealengine.com/KOR/Engine/LevelStreaming/Overview/

https://unrealengine.tistory.com/120