UDN
Search public documentation:

GettingStartedLevelsKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 언리얼 엔진 3 시작하기 > 레벨 편집 시작하기

레벨 편집 시작하기


개요


레벨 편집은 게임의 배경을 디자인하고 만드는 과정입니다. 이 과정은 전체 팀원이 포함되는 폭넓은 분야를 아우르게 됩니다. 레벨 디자이너는 전형적으로 레벨 제작 과정을 담당하는 사람들로, 디자인 과정 도중의 다양한 지점에서 레벨상의 작업을 하는 스크립터, 라이터 등이 있을 수 있습니다.

가장 기본적인 수준에서, 레벨 제작은 언리얼 에디터 내에서 맵에 아이템을 놓는 것까지 내려가게 됩니다. 이러한 아이템은 월드 지오메트리, BSP 브러시 형태의 장식, 스태틱 메시, 라이트일 수도 있고 플레이어 시작, 무기, 탈것같은 게임플레이-관련 아이템일 수도 있습니다. 어떤 아이템을 언제 추가시킬지는 보통 레벨 디자인 팀이 사용하는 작업방식에 의해 정의됩니다.

언리얼 엔진 3에서의 레벨 제작에 관해 더욱 자세한 내용은, Creating Levels KR 페이지를 참고해 주시기 바랍니다.

레벨 디자인 작업방식


레벨 제작 작업방식을 확고히 정의하고 준수하는 것은 개발 시간을 최소한으로 단축시켜 주며, 반복처리도 훨씬 쉬워집니다.

레벨 개발에 있어 표준적인 작업방식은 보통 이렇습니다:

  • 레벨의 윤곽 및 경로 작업
  • 흐름 및 게임플레이 테스트
  • 레이아웃 변경 및 테스팅 반복
  • 초기 메싱 패스
  • 초기 라이팅 패스
  • 콜리전 및 성능 문제 플레이테스트
  • 폴리시 패스

레벨 제작 작업방식에 대한 상세 정보는, Design Workflow KR 페이지를 참고해 주시기 바랍니다.

언리얼 에디터 개요


언리얼 에디터(UnrealEd)는 언리얼 엔진 3용 편집 도구 모음집입니다.

메인 레벨 에디터는 물론 여러가지 레벨 편집 국면과 콘텐츠 제작 과정에 사용되는 다양한 브라우저, 툴, 에디터가 모두 포함되어 있습니다. 레벨 에디터는 어플리케이션의 주요 창에 포함되어 있는 에디터로, 여기서 뷰포트를 통해 월드에 아이템을 놓아 맵을 제작하게 됩니다.

언리얼 에디터 인터페이스는 물론 모든 에디터와 브라우저, 툴에 대한 세부 정보는, UnrealEd User Guide KR 페이지를 참고해 주시기 바랍니다.

월드 지오메트리


레벨의 주요 구조물은 물론 장식들도 모두 월드 지오메트리, 즉 레벨에 정적이며 보이는 지오메트리로 간주해 볼 수 있습니다. 월드 지오메트리는 환경의 주요 보이는 성분(component)이기에 레벨 대다수를 이루게 됩니다.

월드 지오메트리를 만드는 데 사용되는 액터는 크게 BSP 브러시와 스태틱 메시, 두 가지가 있습니다.

BSP

BSP 브러시, 보다 정확하게는 입체식 기하 구조(CSG, Constructive Solid Geometry)는 언리얼 엔진 3의 가장 기본적인 블록이 됩니다. 이는 월드 내 공간의 볼륨을 채우거나 오려내는 데 사용됩니다. 에전 버전의 엔진에서는 월드 지오메트리를 만드는 데 있어 주된 방법이었으나, 최근에는 좀 더 전문적이고 효율적인 형태의 지오메트리, 거의 스태틱 메시로 대체되고 있습니다. BSP 브러시는 에디터에서 직접 쉽고 빠르게 편집이 가능하여 반복처리를 쉽게 해 주기에, 주로 레벨 초기단계의 윤곽을 잡는 데 사용됩니다.

BSP 브러시 제작 및 사용에 관한 상세 정보는 BSP 브러시 사용하기 페이지를 참고하시기 바랍니다.

Static Mesh 스태틱 메시

스태틱 메시는 그래픽 카드 하드웨어에 의해 그려지는 폴리곤 세트입니다. 훨씬 빠르고, 더욱 많은 폴리곤을 처리할 수 있는데다, BSP 구멍에도 강하고 BSP 브러시보다 나아 보이기까지 합니다. 스태틱(정적인) 메시라는 이름은 절대로 변하지 않는 메시로 그려진다는 데서 유래했기에, 더 나은 효율과 성능을 위해 비디오 메모리에 캐시시킬 수 있습니다.

빛과 그림자


언리얼 엔진 3에는 두 가지 기본적인 라이팅, 스태틱과 다이내믹이 있습니다. 스태틱 라이팅은 라이트맵에 구워져서 성능-측면에서는 매우 효율적이지만, 라이트맵은 메모리를 차지하며 라이팅의 품질이 높을수록 라인트맵 크기도 커지게 됩니다. 다이내믹 라이팅은 실시간으로 계산되기에 훨씬 성능 집약적이나, 미리 구은 라이트맵이 필요치 않기에 메모리 풋프린트는 낮습니다. 어느 라이팅을 선택할 것인지는 프로젝트에 필요한 것에 따라 달라질 수 있습니다.

환경과 캐릭터를 밝히기 위해 월드에 라이트 액터를 놓을 수 있습니다. 언리얼 엔진 3에는 포인트 라이트, 스포트라이트, 디렉셔널 라이트, 스카이라이트 등 여러가지 유형의 라이트가 있습니다. 이러한 라이트 유형 각각은 공통된 속성 세트는 물론 자체적으로 고유 특성도 갖고 있어 매우 유연한 라이팅 구성이 가능합니다.

언리얼 엔진 3가 지원하는 그림자의 유형도 여러가지가 있습니다. 이는:

  • Shadow Volumes 섀도우 볼륨 - 가장 일반적인 솔루션으로, 윤곽선이 뚜렷(hard-edge)하지만 완전히 다이내믹이며 100% 정확합니다. 섀도우 볼륨은 콘솔에서는 디폴트로 꺼져 있는데, 메모리를 많이 사용하며 렌더링 속도도 매우 느릴 수 있기 때문입니다.
  • Shadow Buffer Shadows 섀도우 버퍼 그림자 - 역시 다이내믹이나 윤곽선이 부드럽습니다. 캐릭터다 동적인 지오메트리의 섀도잉에 사용됩니다.
  • Precomputed Shadows 미리계산된 그림자 - 스태틱 지오메트리를 비추는 스태틱 라이트는, BSP와 스태틱 메시 둘 다에 영향을 끼치며 섀도우 맵으로 저장될 수도 있습니다.

이와 같은 섀도잉 방법 각각은 같은 씬에서 구분 없이 함께 쓸 수 있습니다. 다양한 유형의 라이팅과 이러한 기능을 함께 쓰면, 언리얼 엔진 3의 빛과 그림자는 매우 유연해 집니다.

라이팅과 라이트의 유형에 대한 세부 정보는, Lighting Reference KRShadowing Reference KR 페이지를 참고해 주시기 바랍니다.

Lightmass 라이트매스

라이트매스는 언리얼 엔진 3에 내장된 스태틱 글로벌 일루미네이션(Static Global Illumination) 시스템입니다. 영역 그림자(area shadowing) 및 확산 상호반영(diffuse interreflection)같은 복잡한 빛 상호작용을 가지고 라이트맵을 생성해 내는 시스템으로, 빛이 주위 표면의 색에 의해 영향받는 기능 등이 가능합니다. 또한 지역적인 빛을 만들 수도 있는데, 스태틱 메시에 적용된 머티리얼의 이미시브 성분을 사용하여 실제로 빛을 발하게 하는 기능을 말합니다.

언리얼 엔진 3 내의 라이트매스와 글로벌 일루미네이션에 대한 세부 정보는, Lightmass KR 페이지를 참고해 보시기 바랍니다.

Dominant Lights 도미넌트 라이트 (우세광)

도미넌트 라이트를 통해 야외 환경에 고품질의 빛과 그림자를 내면서도 고성능을 유지할 수 있습니다.

도미넌트 라이트에 대한 세부 정보는, Dominant Lights KR 페이지를 참고해 보시기 바랍니다.

Dynamic Light Environments 다이내믹 라이트 인바이언먼트 (동적 빛 환경)

동적인 오브젝트에 영향을 끼치는 라이트를 스페리컬 하모닉 라이트(Spherical Harmonic Light)와 디렉셔널 라이트 속에다 합셩시키는 방식으로, 동적인 오브젝트에도 정적인 라이트에 의한 라이팅을 가능하게 해 주는 DynamicLightEnvironments 같은 기능도, 언리얼 3에 제공됩니다. 동적인 오브젝트의 라이팅 비용을 극적으로 낮춰주게 됩니다.

DynamicLightEnvironments 에 대한 세부 정보는, Light Environments KR 페이지를 참고해 보시기 바랍니다.

키즈멧 개요


Kismet(키즈멧)은 언리얼 엔진 3 내에서 레벨 이벤트와 상호작용을 복잡하게 짜기 위한 비주얼 스크립팅 시스템입니다. 단순한 기능을 지닌 시퀸스 오브젝트를 서로 엮어 복잡한 시퀸스를 이루는 식으로 만들어 집니다. 각 시퀸스 오브젝트는 한 가지 역할을 하는, 그 자체로 완성된 하나의 블랙 박스입니다. 사용가능한 시퀸스 오브젝트의 유형은:

  • Actions 액션 - 레벨의 액터에 어떤 행위를 하는 오브젝트입니다.
  • Conditions 조건 - 레벨에 실제적으로 영향을 끼치지는 않지만, 시퀸스의 흐름을 제어합니다. 일정한 조건에 따라 어느 출력을 발동시킬 지를 결정합니다.
  • Events 이벤트 - 시퀸스로의 '입력'을, 게임 내 액터에서 가능하면 만들어내는 오브젝트입니다. 흔한 예로 레벨이 시작될 때 발동되는 Level Loaded 이벤트를 들 수 있습니다.
  • Variables 변수 - 이벤트, 액션, 조건에서 사용할 특정한 형태의 정보를 단순히 저장하는 오브젝트입니다.

키즈멧 에디터의 개요에 대해서는 Kismet User Guide KR 페이지를,

키즈멧 내에서 사용할 수 있는 액션, 이벤트, 조건, 변수 전체에 대한 세부적인 내용은 Kismet Reference KR 페이지를,

흔하고 유용한 기술 및 시퀸스에 대한 약간의 예제는 Kismet Examples KR 페이지를 참고해 주시기 바랍니다.

마티네 개요


Matinee(마티네)는 레벨 내 오브젝트에 애니메이션을, 시간에 따른 그 속성 값을 변경하여 수행하기 위한 툴입니다. 키프레임과 애니메이션 커브를 사용하여 시간에 따른 값의 변화를 상당 부분 제어할 수 있습니다. 각 마티네 시퀸스는 레벨 내 특정 액터나 액터 그룹에 관련된 그룹을 얼마든지 포함할 수 있습니다. 비디오 편집시 흔히 사용되는 비선형 편집 프로그램과 매우 유사합니다.

마티네가 흔히 사용될 때는, 리프트나 문처럼 움직이는 액터를 만들 때입니다. InterpActor (보간 액터)라 불리는 특수한 종류의 액터가 이러한 엘리먼트 유형에 사용됩니다. 보간 액터는 보통의 스태틱 메시 액터와 매우 유사하지만, 마티네로 움직이거나 애니메이팅시킬 수 있습니다.

마티네 툴 사용법에 대한 개요로는, Matinee User Guide KR 페이지를 참고해 주시기 바랍니다.

시네마틱 시퀸스

마티네는 게임 도중 실시간으로 재생되는, 또는 렌더링시켜 게임내 무비나 홍보 목적으로 사용되는 시네마틱 시퀸스를 만드는 데도 사용할 수 있습니다.

마티네 툴로 시네마틱 시퀸스 제작법에 대한 세부사항은, Creating Cinematics KR 페이지를 참고해 주시기 바랍니다.

레벨 스트리밍 개요


언리얼 엔진 3의 레벨 스트리밍은, 플레이 도중 레벨의 로딩 및 언로딩을 즉시 비동기적으로 처리해 주는 특수 시스템입니다. 이를 통해 매우 거대핝 환경을 작은 부분으(스트리밍 레벨)로 나눠서 , 오클루전 퀴리(가려졌는지 조사) 및 라이팅 계산에 포함되거나 메모리를 차지하고 앉아있을 필요가 없도록, 부모 맵(지속 맵)에 필요할 때만 로딩시킬 수 있습니다.

레벨 스트리밍 사용법에 대한 정보는, Level Streaming How To KR 페이지를 참고해 주시기 바랍니다.

레벨 최적화


퍼포먼스, 그 마지막 땀 한방울까지 쥐어짜내기 위한 레벨 최적화 능력은 레벨 디자이너에게 있어 더없이 중요한 요소입니다. 진주가 서말이라도 꿸 수나 있어야 돼지목에라도 걸지, 아무리 재밌는 게임플레이에 미려한 레벨이 있다 해도 10 프레임밖에 안나온다면 소용이 없습니다. 프로파일링과 최적화를 통해 문제가 있는 영역을 찾아내어 퍼포먼스를 크게 잡아먹는 것들 중 잘 알려진 것을 찾아 해결할 수 있습니다.

레벨을 최적화할 때 찾아볼 것들에 대한 일반적인 안내와 꼼수에 대해서는 게임 스레드 프로파일링 페이지의 레벨 프로파일링과 최적화 부분 을 참고하시기 바랍니다.

렌더링 관련 최적화에 대한 안내는 Optimizing Levels For Rendering KR, Optimizing For Splitscreen KR 페이지를 참고하시기 바랍니다.