본문 바로가기
프로그래밍/Unreal Engine 3

레벨 스트리밍 (2)

by neive 2012. 4. 13.
728x90

레벨 스트리밍이라하면 기본적으로 심리스같이 내 주변의 맵들을 자동으로 로드해오는 것으로 인지하기 쉽지만

언리얼에서의 레벨 스트리밍은 맵 대 맵으로의 이동도 지원을 합니다

예를 들어 처음에 타이틀용 레벨을 읽어 왔다가 어떤 입력을 하면 로비 맵으로 넘어간다고 했을 때 어떻게 만들어야

할까-

지금은 애석하게 됐지만 라그나로크2 오베 당시 나름 신선했던 통짜레벨 타이틀/로그인 화면

상용 언리얼3 라면 별로 고민할 문제는 아니지만 UDK 에서 하려면 아직 분석이 부족해서 당장 쉽게 보이는건 레벨 스

트리밍을 사용하는게 가장 합리적으로 보이죠

레벨 스트리밍을 추가하려면 일단 컨텐츠 브라우저 창에서 Levels 탭을 선택하고

메뉴바에서 Level 을 고르고 Add Existing Level... 을 선택하면 기존에 생성되어있던 맵을 골라 스트리밍 리스트에

추가 할 수 있습니다.

레벨 스트리밍에서는 퍼시스턴트 레벨이라는게 필요한데 게임이 실행되고 나서 내내 사용되진 않지만 개념적으로

존재해야 되는 레벨을 만들어줘야 됩니다. 보통 아무것도 없는 넓은 공간을 하나 만들어주죠..

레벨 스트리밍 http://udn.epicgames.com/Three/LevelStreamingHowToKR.html

레벨 브라우저 http://udn.epicgames.com/Three/LevelBrowserReferenceKR.html

퍼시스턴트 레벨을 만들고 (보통 샘플로 들어있는 거의 모든 맵이 퍼시스턴트가 기본이니 따로 설명은 필요 없음..)

추가할 때 자동적으로 시야에 보일 때, 혹은 무조건 로드해놓는다던가 키즈멧에서 사용할지 선택하는게 나오는데

여기서는 키즈멧을 고르기로 합니다

추가를 했으면

키즈멧을 열고 New Action > Level > Stream Level 을 추가하여 Level Name 에 스트리밍할 레벨의 이름을 적어

줍니다

키즈멧 http://udn.epicgames.com/Three/KismetReferenceKR.html

맵이 유효하면 빨간 x 에서 초록색 나이키(;)로 변합니다

이제 가상의 Entry 레벨에서 시작하자마자 타이틀 레벨로 넘어가게끔 키즈멧을 만들어 보면-

레벨이 시작되자마자 스트림 레벨이 로드되도록 (키즈멧이 2중으로 있어야 됩니다)

퍼시스턴트 레벨의 키스멧에서 스트림 레벨을 불렀으니 이쪽으로 들어오겠죠 :)

스트림 레벨이 시작되자마자 그 레벨의 키즈멧의 Load and Visible 로 out 이 되고 (Beginning of Level 은 작동 안함)

해당 레벨에 걸려있는 이벤트가 수행되면 됩니다, 그리고 레벨 이동이니까 플레이어를 적당한 위치로 텔레포트 시켜줘

야 겠지요 (혹은 새로 스폰하던가)

저 같은 경우에는 그냥 번거로워서 스크립트 처리 했습니다. 뭐 한번 만들면 거의 건들 필요가 없는 부분이니까요-

이야 ㅠ.ㅠ 이제 정식적으로 로비도 있고 타이틀도 있는 UDK 예제들 많이 나오겠네요 이거만 보면 쉽게 되니까!

이그 -_- 폰트 크기만 키웠더니 완전 구리네;;

원한다면 로고(스폰서 로고 ㅋㅋ) -> 타이틀(로그인) -> 캐릭터 선택(로비) -> 인게임 까지도 간단히 제작가능-

 

728x90

'프로그래밍 > Unreal Engine 3' 카테고리의 다른 글

UDK > IDE  (0) 2012.05.23
Achetype 의 사용과 정적 데이터 입력  (0) 2012.05.22
Level Streaming  (0) 2012.04.02
FootPlacement  (0) 2012.03.23
UDK > Unreal Frontend > Launch 실패  (2) 2012.03.15

댓글