UDN
Search public documentation:

MasteringUnrealCinematicSequencesKR
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

언리얼 마스터하기 책 내용은 매우 오래되고 철지난 언리얼 엔진 3(, 정확히는 UT3 릴리스) 빌드를 반영하고 있습니다. 이 문서에 담긴 정보 중 일부는 여전히 적용 가능한 것도 있지만, 현재 UE3 QA 빌드와 맞지 않는 정보도 일부 있을 수 있습니다.

이 번역 문서의 원본은 (주)소노브이 이정근님께서 작업해주셨습니다.

챕터 21: 시네마틱 시퀀스 만들기(Creating Cinematic Sequences)

시네마틱 시퀀스란 무엇인가?

시네마틱 시퀀스는, 컷 씬(cut-scenes)이나 머시네마(Machinima - Machine Cinema)로 불리기도 하며, 본질적으로 레벨이나 미션 사이의 짧은 동영상인데, 다음 레벨에 대한 프롤로그나 방금 완료한 레벨의 에필로그라고 할 수 있습니다. 시네마틱 시퀀스는 대개 플레이어가 시네마틱에서 경험하는 상황에 대한 행동을 조절할 수 없기 때문에 상호 작용할 수 없는 non-interactive라 할 수 있습니다. 시네마틱 시퀀스는 디자이너나 아트 디렉터가 플레이어에게 영향을 줄 수 있는 자세한 스토리를 표현하는 기능을 제공합니다.

시네마틱 시퀀스는 게임 디자이너가 전적으로 제어하여 캐릭터의 성장과 스토리라인의 설명을 전달하는 데 있어서 중요한 방법으로, 여기에는 몇 가지 중요한 제약 사항을 가지게 됩니다; 특히 이러한 시퀀스들이 비 상호 작용적이라는 점이 그렇습니다. 관찰자(viewer)의 흥미를 유발시키고 재미를 주는 것이 가장 중요하지만, 동시에 그만큼 어렵기도 합니다. 여러분은 어떻게 해서든 화면에 대화만 난무하는 상황을 피하고 싶을 것입니다. 하지만, 이와 같은 상황은 미션 목표나 필수적인 스토리 라인과 같이, 플레이어에게 전달해야 할 정보가 많을 경우에는 훨씬 더 어려워질 것입니다. 동적인 화면의 구성은 액션의 흐름을 유지하고 스스로 조작할 수 없을 때 플레이어의 주의를 잡아두는데 있어서 중요한 수단이 됩니다. 이와 같은 작업은 액터의 이동(moving the actor), 카메라의 이동(moving the camera), 혹은 카메라 컷과 같은 편집을 통한 이동(moving through edits) 등의 조합을 통해 구현할 수 있습니다.

액터의 이동(Moving the Actors)

액터의 이동(Moving the actors)은 단어 자체가 설명하는 바와 같습니다. 기본적으로 여러분이 감독이 되어 캐릭터를 화면에서 단조롭고 지루하지 않도록 이동시킬 것입니다. 이는 단지 카메라의 시점이 고정되어 있을 때 발생하는 액션의 느낌을 만들기 위한 것뿐만 아니라, 카메라 이동이나 카메라 에디트와 같은 다른 방법을 구현할 수 있는 기회를 만들기 위한 것이기도 합니다.


그림 21.1 – 이 그림은 카메라가 고정되어 있을 때 화면의 액터가 그 주위로 움직이는 것을 나타낸다.

카메라의 이동(Moving the Camera)

카메라의 이동(Moving the camera)은 시퀀스 중에 주변을 움직이는 카메라의 물리적인 이동을 의미합니다. 이는 장면을 생동감 있게 유지시키면서 한 개의 카메라만을 사용할 수 있는(single-camera shots) 훌륭한 방법입니다. 이는 또한 화면 안의 캐릭터가 자신이 어디에 있는 지를 가늠할 수 있는 주변 환경을 나타낼 수도 있습니다.


그림 21.2 – 이 도식은 화면 주변이나 혹은 그 안을 이동하는 카메라의 이동을 나타낸다.

편집을 통한 이동(Moving Through Edits)

편집을 통한 이동(Moving through edits)은 주로 카메라 컷(Camera cuts)의 사용을 의미하며 페이드와 줌, 슬로 모션의 사용을 의미하기도 합니다. 이 모든 편집 기술은 장면이 계속 움직여서 플레이어에게 흥미를 유발시키는 데 사용될 수 있습니다. 여러 캐릭터들이 들어서 있는 넓은 화면에서 카메라의 이동이나 액터의 이동만으로 하나의 캐릭터에서 다른 캐릭터로 초점을 옮기는 것은 대단히 어렵거나 심지어 불가능하기까지 합니다. 다수의 카메라를 가지고 그 사이에 컷을 넣는 것이 이러한 상황에서 무척 유용할 것입니다.


그림 21.3 – 이 도식은 여러 개의 카메라로 같은 주제에 초점을 맞춘 것을 보여준다. 이 카메라들 사이에 편집을 통해 장면을 삽입할 수 있게 된다.

게임 내 렌더링 vs. 사전 렌더링(Rendered In-Game vs. Pre-Rendered)

몇몇 게이머들을 멀어지게 만들고 다른 사람들은 끌어들이는 컷 씬(cut scenes)의 요소들 중 하나는 – 특히 과거에는 – 게임 내 시네마틱 시퀀스와 사전에 렌더링 된 (pre-rendered) 시퀀스 간의 차이입니다. 게임 내 시네마틱은 실시간으로 만들어지며 게임 자체의 아트 어셋(art assets)과 렌더링 엔진을 사용하여 렌더링 됩니다. 사전에 렌더링 된 시네마틱(pre-rendered cinematics)은 별개의 고 해상도 아트 어셋(art assets)과 3D 어플리케이션으로부터 렌더링 되어 만들어진다는 점이 다릅니다. 그 결과물로 나오는 영상은 게임 내에서 단순히 영화처럼 재생되는 것일 뿐 입니다.

언리얼 엔진3의 출현과 렌더링 시스템의 질적 향상으로 이 경계는 모호해졌습니다. 게임 내에서 사용하는(그리고 게임 내의 시네마틱에서) 아트 어셋(art assets)은 현대 영화에서 사용하는 고 해상도 아트 어셋(art assets)만큼 높은 수준의 비주얼을 제공합니다. 매터니 시스템(Matinee system) 또한 완벽한 비 선형(non-linear) 편집기로 완전히 탈바꿈되었습니다. 시네마틱 시퀀스는 과거에 사전 렌더링에서나 가능했던 퀄리티에 필적하는 수준으로 게임을 플레이 할 수 있도록 UnrealEd 내에서 실시간으로 직접 만들 수 있게 되었으며, 이 작업은 훨씬 더 손쉬워졌습니다.

개발자에게 이러한 아트 어셋(art assets)은 이제 게임과 게임 내에서 사용하는 시네마틱 시퀀스 사이를 공유할 수 있으며 마케팅 목적으로 사용할 수 있다는 것을 의미합니다. 이는 자사의 스튜디오에서 시네마틱 시퀀스를 작업하는 데 시간이 절약되며, 다른 스튜디오에 아웃소싱 하는 비용을 줄일 수 있다는 것입니다. 또한, 실제 게임플레이와 시네마틱 시퀀스 간의 차이점이 전혀 없다는 것이기도 합니다. 이는 게임 개발자가 오랜 동안 숙원 해 온 것이기도 합니다. 게임에 대한 광고는 이제 실제 게임과 놀라울 정도로 같다는 것을, 즉 – 집으로 게임을 가져와서 플레이를 하면 이 게임이 광고 내용과 다를 바 없음을 알게 될 것입니다. 언리얼 엔진 3의 강력한 기능으로 과거에 존재했던 이러한 차이는 소멸된 것입니다.

카메라 액터(Camera Actor)

카메라 액터(Camera Actor)는 실제의 카메라를 대신하는 가상의 카메라로서 언리얼 엔진 3에 사용됩니다. 현재 액티브 카메라는 렌더링 된 장면(Scene)의 뷰포인트로써 동작합니다. 매터니의 Director track 을 사용하여 카메라를 실제 영화 필름과 같이 이동 추이를 만드는 페이드 인과 아웃의 사이를 잘라낼 수 있습니다. 또한, 카메라는 특정 지역이나 플레이어에게 더 넓은 장면을 보여주기 위해서 줌 인, 아웃으로 포커스를 줄 수 있습니다. 각각의 카메라에는 자체에 포스트 프로세싱 설정이 포함되는데, 이는 레벨의 현재 포스트 프로세싱 설정을 덮어 쓰는데 사용할 수 있으며 개별 카메라에만 적용할 수 있는 특정 이펙트를 만들 수 있습니다.


그림 21.4 – 카메라 액터(Camera actor).

카메라 액터 속성(Camera Actor Properties)

카메라 액터는 카메라로부터 렌더링 되는 장면(Scene)을 수정할 수 있는 다음 속성을 포함하고 있습니다.

AspectRatio

이 설정은 넓이의 비율을 렌더링 된 화면의 높이에 맞추는 화면 비율을 설정하는 기능을 합니다. 표준 화면 비율은 1.33과 1.78이며 1.33은 표준 텔레비전이나 컴퓨터 모니터의 비율과 같고 1.78은 와이드스크린 텔레비전이나 컴퓨터 모니터의 비율과 같습니다.

bConstrainAspectRatio

이 설정은 렌더링 된 화면이 AspectRation 속성에 설정된 화면 비율을 유지할 지의 여부를 결정하는 기능을 하며, 카메라의 화면 비율과 같지 않을 경우 빈 공간을 늘이거나 렌더링 된 화면이 창이나 카메라의 화면 비율을 무시하고 전체 창 모드로 될 것입니다.

FOVAngle

이 설정은 보이는 필드나 카메라에 대하여 나타나는 화면의 양을 설정합니다. 이를 조절하기 위해서 카메라를 줌 인, 아웃 하도록 합니다.

bCamOverridePostProcess

True 값이면 이 카메라의 CamOverridePostProcess 설정은 카메라가 활성화되면 현재 포스트 프로세스 설정을 덮어 씁니다.

False값이면 이 액터의 CamOverridePostProcess 설정은 무시됩니다.

CamOverridePostProcess

이 설정은 카메라의 bCamOverridePostProcess 속성의 설정에 의하여 사용되는 포스트 프로세스 설정입니다. 이 속성에 대한 자세한 설명은 챕터 19: Post Process Effects를 참조하십시오.

카메라 이펙트(Camera Effects)

실제 세계 vs 가상 세계(Real-world vs. Virtual)

이전에 자세히 언급했듯이, 시네마틱 시퀀스를 만드는 것은 본질적으로 게임이 플레이 되는 동안 플레이어에게 보여줄 수 있는 가상의 영화를 만드는 것이라 할 수 있습니다. 이 가상의 영화를 더 재미있고 사실적으로 만들기 위한 한 가지 방법은 DOF(depth of field)나 모션 블러(Motion blur)와 같은 이펙트를 넣는 것입니다. 이 이펙트는 실제 영화 카메라나 렌즈로 간단히 만들 수 있는데 이는 화면에서 이펙트가 작용하는 방식이나 화면과 상호작용하는 방식 때문입니다. 언리얼 엔진 3은 포스트 프로세스 이펙트의 사용 및 다른 기능의 사용을 통해서 실제 영화 제작 방법과 유사하게 구현되며 영화 제작 과정을 모방하여 개별 부분으로 분할할 수 있습니다. 이는 언리얼 엔진 3에서 시네마틱 시퀀스를 만들 때 카메라나 필름을 사용하여 아주 유용하게 이펙트를 구현할 수 있는 지식을 제공합니다.

DOF(Depth of Field)

DOF(depth of field)는 다른 오브젝트가 초점에서 벗어나 있거나 희미한 상태에서(블러 효과) 특정 depth 로 오브젝트에 초점을 맞추기 위해서 사용됩니다. 이는 화면상의 특정 지역에서 플레이어의 주목을 끄는 아주 훌륭한 방법입니다. 이는 또한 카메라를 통해 보이는 화면의 효과를 만드는데도 사용되는데, 카메라가 초점을 잃거나 잠에서 깨거나 의식이 없는 상태에서 깨어날 때 플레이어의 눈으로 보는 화면의 효과 역시 가능합니다.

실제 카메라에서 DOF 는 초점 밝기(F-number 혹은 F-stop)를 기준으로 하거나 조리개와 관련되어 있습니다. 이는 렌즈의 지름에 대한 렌즈의 초점거리 비율이나 광원이 카메라로 들어가는 비율로 초점 밝기 증가하면 DOF 효과가 증가하며 받아들이는 광량이 감소합니다.

언리얼 엔진 3에서는 DOF(depth of field)는 FoculInnerRadius 밖의 화면에서 다른 오브젝트에 점차적으로 블러 이펙트를 적용시키거나, 특정 거리에서 렌더링 된 오브젝트, 카메라로부터의 FocusDistance 에 의해서 결정됩니다. 실제 세계와는 다르게 DOF는 언리얼 엔진 3 내부의 광원에 의하여 제한 받지 않지만 다른 부분은 실제와 같습니다.


그림 21.5 – DOF(depth of field)가 적용된 결과를 보여준다.

모션 블러(Motion Blur)

모션 블러(Motion Blur)는 카메라가 이동하는 장면에 있는 오브젝트가 이동하는 방향을 따라 블러 효과를 나타나게 합니다. 이는 장면에서 오브젝트의 이동 량을 과장시키거나 플레이어에게 오브젝트의 이동을 더욱 효과적으로 보이도록 만드는데 사용됩니다. 또한 갑작스런 카메라의 이동을 더욱 사실적으로 만드는데 이용하기도 합니다.

실제 세계에서 모션 블러는 들어오는 빛의 양과 빛이 필름에 노출되는 시간의 길이에 따라 결정됩니다. 본질적으로 필름은 장면이 캡쳐된 것이며 그렇기 때문에 카메라의 이동에 따라 화면에서 움직이는 오브젝트의 이동은 일정 기간 동안 셔터스피드에 의해 결정됩니다. 이는 움직이는 오브젝트에 블러 효과가 나타나도록 하는 기능을 하는 것입니다.

언리얼 엔진 3에서는 장면을 여러 번 렌더링 하여 이 렌더링 된 것을 각 프레임에 싱글 이미지로 구성하는 것은 적정 수준의 프레임 율로 게임 플레이를 유지시키기 위해 적합하지 않습니다. 대신, 모션의 비율을 토대로 블러 효과를 증가시켜서 오브젝트가 움직이는 영역에 적용하는데, 이는 오브젝트가 움직이는 영역의 범위가 넓을 때 표준 모션 블러가 제공하는 모션의 외양을 제공할 수 있습니다. 이는 카메라가 빠르게 움직이는 장소 같은 데서 일부 화면(Scene)이나 전체 화면(entire scene)에서 움직이는 개별 오브젝트에 적용될 수 있습니다.


그림 21.6 – 모션 블러는 카메라가 지나갈 때 해당 오브젝트에 블러 효과를 주도록 한다.

Field of View

field of view 는 카메라에 의해 한번에 보일 수 있는 각의 범위나 수치를 말합니다. field of view 를 조절하는 것은 화면의 특정 영역을 줌 인하여 사물을 자세히 묘사하거나 플레이어가 보아야 할 필요가 있는 곳에 플레이어의 시선을 집중하기 위해서입니다.

실제의 카메라로 작업할 때 field of view 는 필름의 크기, 사용하는 렌즈의 초점 거리, 그리고 렌즈에 의해 생기는 왜곡의 정도에 의해 결정됩니다. 렌즈는 와이드 앵글이나 텔레포토(telephoto)와 같이 자체적인 field of view 에 의해서 분류되기도 합니다. 이러한 형태의 렌즈를 사용하는 것은, 렌즈에 다른 field of view 를 얻기 위해 교환할 필요가 있습니다. 줌 효과를 만들기 위해서 초점 거리를 유지할 수 있는 줌 렌즈도 있습니다.

언리얼 엔진 3에서 각각의 카메라는 자체적으로 FOV 라 불리는 field of view 설정이 있습니다. 이 속성의 값은 실제 카메라와 같이 카메라가 볼 수 있는 수치입니다. 카메라의 FOV 는 플레이어의 시선 집중이 필요할 때 캐릭터나 배경을 줌 인 하는 시네마틱 동안 조절될 수 있습니다. FOV 를 증가시키면 줌 아웃이 되며 감소시키면 줌 인이 됩니다.


그림 21.7 – 2개의 샷(shot)은 FOV 사용을 통하여 카메라가 줌 인(zoom in) 된 것을 보여준다.

화면 효과(Scene Effects)

Scene effects 는 화면에서의 컬러 범위, 채도(saturation), 혹은 콘트라스트(contrast)를 수정하기 위해 사용합니다. 이는 시네마틱 시퀀스에서 특정 분위기나 환경을 만드는 데 무척 유용합니다. 세피아 톤(sepia-tone)의 이미지나 블랙, 화이트 색깔을 이용한 단순한 이미지를 만드는 데에도 화면 효과(Scene effects)를 사용할 수 있습니다. 또한 플래시백에서 시간의 이동을 나타내는 느낌이나 감정의 고조 혹은 향수적인 느낌을 연출하는 데에도 사용할 수 있으며, 가상 공간에서는 연출할 수 있는 효과는 무제한적이라 할 수 있습니다.

전통적인 카메라나 필름을 사용하여 나타내는 효과는 현상을 하는 동안 필름을 직접 조작하거나 렌즈 필터를 사용하여 만들 수 있습니다. 특정 컬러의 제거, 특정 컬러의 부각, 콘트라스트의 증가, 혹은 다른 기능을 통해 많은 효과를 구현할 수 있는 몇몇의 사용 가능한 필터가 있습니다.

언리얼 엔진 3에서 카메라 액터는 디자이너가 lowlights, 적은 양의 레드, 그린, 블루, SceneShadows, 하이라이트, SceneHighlights를 가지고 조절할 수 있도록 하며, 개별 컬러 요소를 부각시키거나 제한할 수도 있습니다. 콘트라스트를 조절 할 수 있는 감마 커브(gamma curve)는 SceneMidtones 속성을 통해서 사용할 수 있습니다. 또한 SceneDesaturation 속성을 조절하여 전체 화면(entire scene)의 채도 감소(desaturate)효과를 조절 할 수 있습니다.


그림 21.8 – 왼쪽은 원본이며, 오른쪽 사진은 Scene effect 가 적용된 사진이다.

라이팅을 통한 이미지의 구분(Image Separation through Lighting)

개선된 언리얼 엔진 3의 그래픽 기능을 가지고, 또 표면상에 지속적인 빛을 주어서 캐릭터와 배경을 병합하여 일관된 화면을 더욱 쉽게 만들 수 있습니다. 가끔 이 작업은 무척 잘 적용되며 캐릭터가 화면으로 완벽하게 조화되어 구별하기 힘들 정도로 만들 수 있습니다. 주변 환경 및 배경으로부터 캐릭터를 구분하여 캐릭터를 부각시키는 효과는 림 라이팅(rim lighting)과 같은 정교한 라이팅 큐(lighting cue)를 사용하여 구현할 수 있습니다.

림 라이팅(Rim lighting)은 기본적으로 빛을 강조하거나 그림자를 설정하여 캐릭터의 실루엣을 따라 하이라이트를 만드는 것입니다. 이는 단순히 멋지게 보이도록 만드는 것뿐만 아니라 화면 밖의 캐릭터에 화면 상의 중심으로 유지시킬 만큼 나타내도록 하기 위해서도 사용합니다. 지나친 림 라이팅 효과가 화면의 사실적인 느낌에 방해되기는 하지만 세밀한 효과를 유지하는 데에 있어서 중요합니다.

DumpMovie Command

언리얼 엔진 3은 시네마틱 시퀀스의 각 프레임을 렌더링 하여 외부 어플리케이션의 싱글 무비 파일로 만들 수 있는 개별 이미지 파일 생성 기능을 제공합니다. 이러한 독립형 무비 파일은 법적인 문제를 고려하여 게임이나 모드를 인터넷에 풀거나 상용 게임 등에 포함시켜서 프로모션의 목적으로 사용할 수도 있습니다. 작업 과정은 일단 시네마틱이 만들어지면 아주 간단합니다. –dumpmovie 스위치로 시네마틱에 저장된 특정 맵 파일 이름의 커맨드 라인으로부터 게임 실행 파일을 실행시키기만 하면 됩니다. 이는 스크린샷 폴더 안에 생성된 각 프레임에 대한 BMP 이미지를 만들 수 있습니다. –benchmark 스위치는 1/30 프레임으로 실행되는 게임을 제한 하는 기능을 합니다. 만약 원한다면 –ResX= 와 –ResY= 스위치를 사용하여 특정 해상도로 게임을 실행시킬 수도 있습니다. 풀 커맨드를 적용시키면 다음처럼 될 것입니다:

ExampleGame CinematicsDemo -dumpmovie -benchmark -resx=1280 -resy=720

이 명령은 각 프레임의 이미지를 만들 때 초당 30 개의 프레임을 1280x720의 해상도에서 CinematicsDemo 맵을 불러와서 ExampleGame 을 실행시키라는 뜻이 됩니다.

하나로 모으기(Putting It All Together)

언리얼 엔진 3은 이 챕터에서 언급된 툴이나 테크닉, 이펙트를 사용하여 좋은 영상 제작 감각과 극적인 폭발 효과를 연출함으로써 디자이너가 직접 완성된 캐릭터와 흥미로운 게임플레이, 영화 수준의 비주얼 효과를 구현하여 스토리를 만들 수 있도록 합니다. 시네마틱 시퀀스는 개별 씬(Scene)을 연출하여 이를 하나의 전체 씬(Scene)으로 만들거나 게임의 프레임으로써 연출할 수 있으며, 독립된 영화로 만들 수 있습니다. 이는 여러분의 상상력과 독창성으로 무한히 구현할 수 있다는 것을 의미합니다.

튜토리얼 21.1 캐릭터 설정(Character Setup)

여기서 제공할 일련의 튜토리얼을 통하여 이제 캐릭터가 복도에서 달려가는 시네마틱 시퀀스나 컷 씬(cut-scene)을 만들 것입니다. 플레이어가 달려가는 동안 그 주위에 플레이어에게 영향을 미치는 4번의 폭발이 있을 것입니다. 이 시퀀스는 2개의 카메라 컷, 페이드, 슬로 모션이 포함됩니다. 또한 DOF 포스트 프로세싱 설정과 field of view 설정과 같은, 카메라 액터 자체에 있는 특정 속성을 조절할 것입니다. 전체 시퀀스는 보다 더 영화 같은 느낌을 주기 위해 음악이 추가될 것입니다.

1. Cinematics_Demo 맵을 엽니다. 이 맵은 우리가 만들려는 시네마틱 시퀀스의 화면으로 사용할 것입니다. 이 맵은 폭발물이 터지는 효과가 나타나는 동안 캐릭터가 달려갈 수 있는 긴 통로로 구성되어 있습니다.


그림 21.9 – 이 맵은 간단한 통로로 구성된다.

2. 첫 번째로 해야 할 것은 캐릭터를 레벨에 배치하는 것입니다. 매터니 내에서 애니메이션을 조합할 수 있는 SkeletalMeshActorMAT 이라는 이름의 특별한 액터를 사용할 것입니다. 제네릭 브라우저 안에 있는 COG_Grunt 패키지에서 COG_Grunt_AMesh 어셋을 선택합니다. Perspective 뷰포트에 있는 통로의 바닥에서 우 클릭하여 Add Actor -> SkeletalMeshActorMAT: SkeletalMesh COG_Grunt.COG_Grunt_Amesh 를 선택하여 액터를 배치합니다.

주의: 애니메이션을 조합하는 방법에 대한 자세한 설명은 챕터 20: 애니메이션 시스템(Animation System)을 참조하십시오.


그림 21.10 – 레벨에 액터를 배치한다.

3. 캐릭터를 이동하여 통로의 중앙에 놓이도록 합니다. 이 캐릭터는 통로의 옆쪽에서는 나타나지 않을 것입니다.

4. 액터를 선택하고 [F4]를 눌러 해당 속성을 엽니다.

5. Movement 섹션에서 Physics 속성을 PHYS_Interpolating 으로 설정합니다. 이는 플레이어의 이동을 조절하기 위해서 매터니를 사용해야 하기 때문에 필요합니다.

6. SkeletalMeshActor 를 열고 LightEnvironment 을 열어서 LightEnvironmentComponent 에 있는 bEnabled 속성을 선택합니다.

7. 이제 SkeletalMeshActor에서 SkeletalMeshComponent 를 열고 스크롤을 내려 SkeletalMeshComponent 의 하위 섹션으로 이동합니다.

8. 제네릭 브라우저에서 CinematicsDemoContent 패키지로부터 animTree_Grunt 어셋을 선택합니다. AnimTree 속성에서 Use Current Selection in Browser 버튼을 누릅니다. 이 AnimTree 는 애니메이션을 조합하도록 설정하는 기능을 합니다.

9. 액터를 Top 뷰포트에서 볼 때 통로의 맨 위쪽에 배치합니다. X 축에서 통로의 끝으로부터 약 144 유닛 만큼 Y축으로 이동한 통로의 중앙에 위치해야 합니다. 또한 액터를 이동시켜 메쉬의 발이 통로의 바닥과 일치하도록 합니다. 그리고 나서 이를 회전시켜 캐릭터가 반대쪽 끝을 보도록 합니다.

메쉬가 아니라 중심축이 통로의 중앙에 놓이도록 합니다. 적절히 배치되었다면 벽을 통해서 나오는 캐릭터의 손이 보이지 않을 것입니다.


그림 21.11 – 중심축(pivot)이 통로의 중앙에 놓이도록 배치하면 벽에 캐릭터의 손이 끼인 것처럼 보이지 않게 될 것이다.

10. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.2 초기 키즈멧 설정(Initial Kismet Setup)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧에서 Cinematic Mode 의 On, Off 를 토글 하여 매터니 시퀀스를 실행시키는 연결을 설정할 필요가 있습니다. 애니메이션이 일단 완료되면 스켈레탈 메쉬 액터를 숨깁니다. 키즈멧을 열고 작업 창에서 우 클릭하여 New Event -> Level Startup을 선택합니다.


그림 21.12 – Level Startup을 추가한다.

3. Level Startup 이벤트의 오른쪽에 우 클릭하고 New Action -> Toggle -> Toggle Cinematic Mode 를 선택하여 Toggle Cinematic Mode 액션을 추가합니다. 초기 설정으로도 잘 작동할 것입니다. 이 액션은 플레이어의 모든 input 과 이동을 비활성화시키고 플레이어의 메쉬와 HUD를 숨깁니다.


그림 21.13 – 이 노드는 Cinematic Mode 를 초기화시킨다.

4. 우 클릭하여 New Variable -> object -> Player 를 선택해서 Player 변수를 새로 만듭니다. Player 변수를 Toggle Cinematic Mode 액션의 Target에 연결합니다.


그림 21.14 – 새로 만든 Player 변수에 연결한다.

5. Level Startup 이벤트의 Out 을 Toggle Cinematic Mode 액션의 Enable 로 연결합니다.


그림 21.15 – 그림과 같이 노드를 연결한다.

6. Toggle Cinematic Mode 액션의 오른쪽에 우 클릭하여 New Matinee 를 선택하여 새로운 Matinee 를 만듭니다. Toggle Cinematic Mode 의 Out 을 Matinee 의 Play 에 연결합니다.


그림 21.16 – 매터니(Matinee)를 새로 만들어서 연결한다.

7. Toggle Cinematic Mode 와 방금 만든 Player 변수를 선택하여 [CTRL]+[C] 와 [CTRL]+[V]로 복사하여 붙입니다. 매터니 시퀀스를 실행시키는 모든 선을 연결 해제하고 새로운 오브젝트를 매터니의 오른쪽으로 이동시킵니다. 이 액션은 플레이어의 메쉬와 HUD를 보이게 할 것이며 input과 이동을 가능하게 하여 정상적인 플레이가 가능하도록 되돌릴 것입니다.


그림 21.17 – Toggle Cinematic Mode 와 Player node 를 복사하여 배치한다.

주의: 매터니 시퀀스 오브젝트는 새로운 그룹과 트랙을 생성함에 따라 상당히 많이 사용됩니다. 중복되는 것을 피하기 위해서 매터니 시퀀스 오브젝트나 모든 종속되는 시퀀스 오브젝트를 오른쪽 위나 아래에 배치하는 것이 좋습니다.

8. Matinee 의 Completed 를 새로 만든 Toggle Cinematic Mode 액션의 Disable 에 연결합니다.

9. 새로 만든 Toggle Cinematic Mode 액션의 오른쪽에서 우 클릭하고 New Action -> Teleport를 선택합니다. 이를 새로 만든 Toggle Cinematic Mode 의 Out 에 연결하고 Player 변수를 Teleport 의 target 에 연결합니다. Teleport 는 플레이어의 메쉬를 시네마틱 시퀀스가 종료되면 메쉬의 위치에 배치할 것입니다.


그림 21.18 – Teleport 노드를 새로 만들어 연결한다.

10. 뷰포트에서 SkeletalMeshActorMAT 를 선택하고 Teleport 액션의 Destination 을 우 클릭하여 New Object Var Using SkeletalMeshActorMat_0을 선택합니다.


그림 21.19 – Teleport가 이제 스켈레탈 메쉬에 연결되었다.

11. Teleport 액션의 오른쪽에 우 클릭한 후 New Action -> Toggle -> Toggle Hidden을 선택하여 Toggle Hidden 액션을 만듭니다. 이 액션은 스켈레탈 메쉬 액터를 숨겨 더 이상 보이지 않게 합니다.

12. Teleport 액션의 Out을 Toggle Hidden 액션의 Hide에 연결합니다. SkeletalMeshActorMAT_0 변수를 Toggle Hidden 액션의 Target에 연결합니다.


그림 21.20 – 이는 텔레포트 후에 스켈레탈 메쉬를 숨깁니다.

13. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.3 캐릭터 이동 윤곽 잡기(Blocking Out Character Movement)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 엽니다.

2. 뷰포트에서 SkeletalMeshActorMAT 을 선택하고 키즈멧을 엽니다. 그리고 나서 매터니 시퀀스를 더블 클릭하여 매터니 에디터를 엽니다.


그림 21.21 – 매터니 에디터(Matinee Editor).

3. Group/Track List 에 우 클릭한 후 Add New Group 을 선택하여 새로운 그룹을 만듭니다. 그 뒤에 나타나는 창에서 새로 만든 그룹에 Grunt 로 이름을 지정하고 OK 를 누릅니다. 이는 새로운 그룹을 만들고 선택한 액터를 이에 연결하여 이 그룹에 연결되는 트랙에 이전에 배치한 SkeletalMeshActorMAT 을 적용시키기 위해서 입니다.


그림 21.22 – 새로운 Grunt 그룹을 만든다.

4. 방금 만든 Grunt 그룹을 우 클릭한 후 Add New Movement Track 을 선택합니다. 초기 Time 값을 0.0으로 설정하여 Grunt 그룹에 새 트랙을 추가합니다.


그림 21.23 – 새로운 이동 트랙(movement track)을 추가한다.

5. 시퀀스 종료 지시기(sequence end indicator - 작은 빨간색 세모)를 이동시켜 Time = 13.0에 위치시키는데, 이는 시퀀스의 지속 시간이 13초임을 의미합니다.

6. 타임 슬라이더를 Time=10.0으로 이동하고 [ENTER]키를 눌러 새로운 키를 배치합니다. 새로 만든 키를 우 클릭한 후 Interp Mode -> Linear 를 선택합니다 이는 애니메이션이 들쑥날쑥 하거나 시작 시에 천천히 움직이지 않고 애니메이션의 지속 시간 동안 일정한 비율로 액터가 움직일 수 있게 해줘서 애니메이션의 중간 위치까지 꾸준히 속도가 증가하고, 끝 부분에서 속도가 줄어들게 해줍니다.

7. 새로 만든 키를 클릭하여 선택합니다. 이렇게 하면 에디터가 키에 대한 편집 모드로 들어가게 되는데, 이 키 편집 모드는 뷰포트의 하부 좌측 모서리에 있는 “ADJUST KEY 1” 텍스트와 매터니 에디터의 하부 좌측 모서리에 있는 “? KEY 1”를 찾아서 확인할 수 있습니다.

8. 뷰포트에서 SkeletalMeshActorMAT 은 자동으로 선택됩니다. Top 뷰포트를 사용하여 액터를 통로의 반대쪽 끝에 드래그합니다. 뷰포트에서 곡선이 보이는데 이는 매터니 시퀀스가 실행되는 동안 액터의 궤적을 나타냅니다.


그림 21.24 – 메쉬의 이동 흔적을 나타내는 선이 보인다.

9. 시퀀스 시작 부분의 타임 슬라이더에서 매터니 에디터에 있는 Play 버튼을 눌러 SkeletalMeshActorMAT 의 이동을 미리 보기합니다. 액터가 일정한 속도로 통로의 끝으로 이동할 것입니다.

주의: 전체 시퀀스를 플레이 하기 위해서 매터니에 있는 반복 지시기(looping indicator - 작은 초록색 세모)를 이동해야 할 수도 있습니다.

10. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.4 기본 애니메이션 트랙(Base Animation Track)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스를 더블 클릭하여 매터니 에디터를 엽니다.

3. 전체 시퀀스에서 실행되는 기본 애니메이션을 플레이하고 후에 다른 애니메이션과 조합할 것입니다. 이 튜토리얼에서는 이 기본 애니메이션을 설정할 것입니다.

제네릭 브라우저에서 COG_Grunt 패키지에 있는 COG_Grunt_BasicAnims 어셋을 선택합니다. 매터니에서 Grunt 그룹을 선택한 후 2개의 새로운 아이템들(new items)을 Grunt 그룹 속성에 있는 GroupAnimSets 에 추가합니다. 슬롯 [0]에서 Use Current Selection In Browser 버튼을 누릅니다.


그림 21.25 – 기본 애니메이션이 GroupAnimSets 속성의 슬롯 [0]에 추가되었다.

4. 다음, 제네릭 브라우저에서 COG_Grunt 패키지에 있는 COG_Grunt_EvadeAnims 어셋을 선택하고 슬롯 [1]의 Use Current Selection In Browser 버튼을 누릅니다.

5. Grunt 그룹을 우 클릭 한 후 Add New Anim Control Track 을 선택합니다. 뒤 이어 나타나는 창의 리스트에서 Fullbody slot 을 선택하고 OK 를 누릅니다.


그림 21.26 – 애니메이션 컨트롤 트랙(Animation Control Track)을 새로 만든다.

6. 타임 슬라이더를 0.0에 맞추고 [ENTER]키를 눌러 키를 만듭니다. 뒤 이어 나타나는 창의 리스트에서 Run_Fwd_Rdy_01 애니메이션을 선택하고 OK 를 누릅니다. 해당 애니메이션이 애니메이션의 실행 시간을 나타내는 파란색 바로 보일 것입니다.

7. 키를 우 클릭한 후 Set Looping 을 선택합니다. 애니메이션은 이제 시퀀스의 길이만큼 실행될 것입니다.

8. 트랙의 하부 우측에 있는 작은 박스를 클릭하여 커브 에디터(Curve Editor)에 트랙의 커브 정보(curve information)을 보내고 툴 바에 있는 Toggle Curve Editor 버튼을 눌러 커브 에디터를 불러 옵니다.

9. 커브 정보는 플레이 되는 애니메이션의 weighting 을 나타냅니다. [CTRL]키를 누른 상태에서 Time = 0.0의 커브를 좌 클릭한 후 Set Value을 선택합니다. 값을 1.0으로 설정합니다. 이는 이 애니메이션에 full weighting을 줄 것입니다.


그림 21.27 – 값을 1.0으로 설정한다.

10. 실시간 프리뷰는 Perspective 뷰포트에서 가능하거나 매터니에서 Play 버튼을 누르면 됩니다. 캐릭터가 통로를 달려가는 애니메이션이 나타날 것입니다.


그림 21.28 – 캐릭터가 달려간다.

11. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.5 카메라 1 설정 및 연출 (Camera 1 Setup and Blocking)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 제네릭 브라우저를 열고 Actor Classes 탭을 선택합니다. 트리 리스트에서 CameraActor 를 선택하고 뷰포트에 우 클릭한 후 Add CameraActor Here 를 선택합니다.


그림 21.29 – 카메라 액터를 새로 배치한다.

3. 캐릭터가 출발하는 복도 끝 쪽에 있는 문 위에 있는 복도의 길이만큼의 파이프 바로 아래에 캐릭터의 좌측으로 카메라를 배치합니다. 카메라를 회전시켜서 반대쪽 통로의 끝을 보도록 합니다. Top 뷰포트에 봤을 때 왼쪽을 향하도록 합니다.


그림 21.30 – 그림과 같이 카메라를 배치한다.

4. 카메라를 선택하고 [F4]키를 눌러 카메라 속성을 엽니다. 카메라 섹션에서 bCamOverridePostProcess 속성을 체크표시하고 bConstrainAspectRatio 속성을 체크 해제 합니다.

5. CamOverridePostProcess를 열어 다음을 입력합니다:

  • bEnableDOF: True
  • bEnableMotionBlur: True
  • BloomScale: 0.5
  • DOF_BlurKernelSize: 4.0
  • DOF_FocusInnerRadius: 750.0
  • MotionBlur_Amount: 4.0
  • MotionBlur_FullMotionBlur: False
  • Scene_Desaturation: 0.425
  • Scene_Highlights:
    • X: 0.7
    • Y: 0.8
    • Z: 0.9
  • Scene_MidTones:
    • X: 1.2
    • Y: 1.1
    • Z: 1.0
  • Scene_Shadows:
    • X: 0.0
    • Y: 0.005
    • Z: 0.01

6. 카메라를 선택하여 키즈멧을 열고 매터니 시퀀스를 더블 클릭하여 매터니 에디터를 불러 옵니다.

7. Group/Track 의 빈 공간을 우 클릭 한 후 Add New Group 을 선택합니다. 새로 생성한 그룹 이름을 Camera1 로 하고 OK 를 누릅니다.


그림 21.31 – 새로운 Camera1 그룹을 추가한다.

8. Camera1 그룹을 우 클릭한 후 Add New Movement Track 을 선택합니다.


그림 21.32 – 카메라의 이동 트랙(Movement track)을 새로 만든다.

9. 이동 트랙(movement track)의 속성에서 다음 값을 입력합니다:

  • LookAtGroupName: Grunt
  • RotMode: IMR_LookAtGroup

이렇게 하면 카메라가 항상 SkeletalMeshActorMAT 이 되는 Grunt 그룹에 연결된 액터를 직접 향하도록 합니다.

10. 초기 키 값은 Time = 0.0으로 되어 있습니다. 타임 슬라이더를 Time=13.0으로 배치하거나 시퀀스의 끝에 배치하고 [ENTER]키를 눌러 다른 키를 만듭니다. 이 카메라는 간단히 캐릭터를 따라 회전하고 트랙의 LookAtGroup 설정에 따라 움직이므로 카메라의 위치나 키 값을 조절할 필요는 없습니다.

11. 실시간 프리뷰(Realtime Preview)가 Perspective 뷰포트에 켜져 있는 지 확인합니다. Camera1 그룹 이름의 우측에 있는 작은 카메라 아이콘을 클릭해서 그룹의, 이 경우에는 카메라의 시점(viewpoint)으로부터 화면이 강제로 Perspective 뷰포트에서 렌더링 되도록 해줍니다.

12. 매터니에서 Play 버튼을 누릅니다. 뷰포트는 캐릭터가 통로를 달려감에 따라 캐릭터를 따라가야 합니다.

13. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.6 카메라 2 설정 및 연출(Camera 2 Setup and Blocking)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 지금까지 익힌 기술을 이용하여 통로의 반대쪽 끝에 있는 문 위에 두 번째 카메라 액터를 만듭니다.


그림 21.33 – 새로 생성한 카메라는 통로 뒤쪽 아래를 보아야 한다.

3. 카메라를 선택하고 [F4]키를 눌러 카메라 속성을 엽니다. 카메라 섹션에서 bCamOverridePostProcess 속성을 체크 표시하고 bConstrainAspectRatio 속성을 체크 해제 합니다.

4. CamOverridePostProcess 을 열어 다음 값을 입력합니다:

  • bEnableDOF: True
  • bEnableMotionBlur: True
  • BloomScale: 0.5
  • DOF_BlurKernelSize: 4.0
  • DOF_FocusInnerRadius: 750.0
  • MotionBlur_Amount: 4.0
  • MotionBlur_FullMotionBlur: False
  • Scene_Desaturation: 0.425
  • Scene_Highlights:
    • X: 0.7
    • Y: 0.8
    • Z: 0.9
  • Scene_MidTones:
    • X: 1.2
    • Y: 1.1
    • Z: 1.0
  • Scene_Shadows:
    • X: 0.0
    • Y: 0.005
    • Z: 0.01

5. 카메라를 선택하여 키즈멧을 열고 매터니 시퀀스를 더블 클릭하여 매터니 에디터를 불러 옵니다.

6. Group/Track List 의 빈 공간을 우 클릭 한 후 Add New Group 을 선택합니다. 새로 만든 그룹 이름을 Camera2로 하고 OK 를 누릅니다.


그림 21.34 – Camera2 그룹을 새로 만든다.

7. Camera2 그룹을 우 클릭 한 후 Add New Movement Track을 선택합니다.


그림 21.35 – 그룹에 새로운 이동 트랙(movement track)이 추가 되었다.

8. 이동 트랙(movement track)의 속성에서 다음을 입력합니다:

  • LookAtGroupName:
  • GruntRotMode: IMR_LookAtGroup

이는 이 카메라가 첫 번째 카메라와 같은 방식으로 동작하도록 설정하며 항상 SkeletalMeshActorMAT 이 되는 Grunt 그룹에 연결된 액터를 직접 향하도록 합니다.

9. 이미 초기값으로 Time=0.0이 설정되어 있습니다. 타임 슬라이더를 Time=13.0의 위치에 놓거나 시퀀스의 마지막에 배치하고 [ENTER]키를 눌러 또 다른 키를 배치합니다. 이 카메라는 간단히 캐릭터를 따라 회전하고 트랙의 LookAtGroup 설정에 따라 움직이므로 카메라의 위치나 키 값을 조절할 필요는 없습니다.

10. 실시간 프리뷰(Realtime Preview)가 Perspective 뷰포트에 켜져 있는지 확인합니다. Camera2 그룹 이름의 우측에 있는 작은 카메라 아이콘을 클릭해서 그룹의, 이 경우에는 카메라의 시점(viewpoint)으로부터 화면이 강제로 Perspective 뷰포트에서 렌더링 되도록 해줍니다.

11. 매터니에서 Play 버튼을 누릅니다. 뷰포트는 캐릭터가 통로 아래로 달려감에 따라 캐릭터를 따라가야 합니다.

12. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.7 음악 트랙(Music Track)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 이제 캐릭터가 한쪽에서 다른 쪽으로 통로를 이동하면서 2개의 카메라가 캐릭터를 따라감에 따라 몇 가지 기본적인 연출(blocking)이 배치되었습니다. 이제 시네마틱에 대한 배경 음악(score)으로 사용될 음악을 설정할 것입니다. 이는 타이밍 이벤트(timing events)에 대한 기반으로 사용될 것입니다.

제네릭 브라우저에서 CinematicDemo 패키지에 있는 cinematic_scoreCue 어셋을 선택합니다.

3. 키즈멧을 열고 매터니 시퀀스를 더블 클릭하여 매터니 에디터를 불러 옵니다. Group/Track List 의 빈 공간을 우 클릭한 후 Add New Group 을 선택합니다. 새로운 그룹의 이름을 Score 로 하고 OK 를 누릅니다.


그림 21.36 – Score 그룹을 새로 만든다.

4. Score 그룹을 우 클릭 한 후 Add New Sound Track 을 선택합니다.

5. 타임 슬라이더를 Time=0.0에 놓고 [ENTER]키를 눌러 새로운 키를 만듭니다. 이는 sound cue의 길이와 sound cue의 이름이 표시된 초록색 바로 나타날 것입니다.


그림 21.37 – 이제 사운드의 지속 시간을 시각적으로 볼 수 있다.

6. 키를 선택하고 우 클릭합니다. Set Sound Volume 을 선택하고 볼륨을 2.0으로 설정합니다.

7. 매터니에서 Play 버튼을 눌러 시퀀스를 실행합니다. 배경 음악(Musical score)이 이제 시퀀스를 따라 플레이 될 것이며, 여기에 몇 가지 눈에 띄는 부분들이 있다는 것을 알게 될 것입니다. 이는 다음 튜토리얼에서 카메라 컷을 배치하는 큐가 될 것입니다.

8. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.8 카메라 편집(Camera Edits), 파트 I: Cuts

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. Group/Track List 의 빈 공간을 더블 클릭하고 Add New Director Group 을 선택합니다. 이는 Director track 에 DirGroup이름으로 추가될 것입니다. 이 트랙은 시네마틱을 위한 카메라 컷을 만드는 데 사용됩니다.


그림 21.38 – Director track 을 새로 만든다.

4. 시퀀스를 몇 회 정도 플레이 하여 음악이 변경될 장소를 확인합니다. 변경되는 장소는 Time=3.7, Time=5.8이 될 것입니다. 이 시간은 카메라 컷의 키가 놓이면 사용할 것입니다.

5. 타임 슬라이더를 Time=0.0에 놓고 Director track 을 선택한 다음 [ENTER]키를 눌러 새로운 키를 만듭니다. 뒤 이어 나타나는 창에서 드롭다운 리스트에 있는 Camera1 그룹을 선택하고 OK 를 누릅니다. 이는 시퀀스가 시작하면 Camera1 그룹에 연결된 카메라를 활성화시킬 것입니다.

6. 타임 슬라이더를 Time=3.7로 이동(혹은 할 수 있는 만큼 가까이, 정확한 키의 장소는 생성 후에 설정할 수 있습니다)하고 [ENTER]키를 눌러 다른 키를 만듭니다. 이 번에는 드롭다운 리스트에서 Camera2 그룹을 선택하고 OK 를 누릅니다.


그림 21.39 – 이제 Camera2로 바뀐다.

7. 새로 만든 키를 선택하고 이를 우 클릭합니다. Set Time 을 선택하고 키 값에 3.7을 입력합니다.

8. 타임 슬라이더를 Time=5.8(혹은 할 수 있는 만큼 가까이)에 이동시키고 [ENTER]키를 눌러 새로운 키를 만듭니다. Camera1 그룹을 선택하고 OK 를 누릅니다.

9. 새로 만든 키를 선택하여 우 클릭합니다. Set Time 을 선택하고 Time=5.8로 설정합니다.


그림 21.40 – 이제 Time 5.8에서 Camera1으로 다시 변경 된다.

10. 아직 안 했다면 DirGroup에서 카메라 아이콘을 클릭하고 매터니에서 Play 버튼을 누릅니다. 실시간 프리뷰가 Perspective 뷰포트에서 켜져 있는지 확인합니다. Perspective 뷰포트의 첫 번째 카메라를 통해 시퀀스가 재생되고 두 번째 카메라로 변경되었다가 다시 첫 번째 카메라로 되돌아 가는 것을 볼 수 있습니다.

11. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.9 카메라 편집(Camera Edits), 파트 II: Slomo

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스를 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. DirGroup 그룹을 우 클릭한 후 Add New Slomo Track 을 선택합니다. 이 트랙은 시네마틱에 있는 액션을 Camera2가 활성화 되어 있는 시간 동안 슬로 모션으로 보여줄 것입니다.


그림 21.41 – Slomo track을 새로 추가한다.

4. 타임 슬라이더를 Time=0.0으로 하고 [ENTER]키를 눌러 새로운 키를 만듭니다. 이는 Slomo track 의 초기값을 설정하는데 사용됩니다.

5. 키를 선택하여 우 클릭한 후 Set Value 를 선택합니다. 키의 값은 초기값으로 1.0으로 되어 있지만 그렇지 않다면 1.0으로 설정합니다.


그림 21.42 – 첫 번째 키의 값이 1.0으로 되어 있는 것을 확인한다.

6. 다시 키를 우 클릭 한 후 Interp Mode -> Constant 를 선택합니다. 이는 트랙의 커브 값을 설정된 값으로 유지시키고 키가 다음 키에 다다르면 다음 키 값을 취하도록 합니다.

7. 타임 슬라이더를 Time=3.7(혹은 가능한 한 가까이)로 이동시키고 [ENTER]키를 눌러 다시 한 번 키를 만듭니다.

8. 새로 만든 키를 선택하여 이를 우 클릭합니다. Set Time 을 선택한 후 Time=3.7을 입력합니다.

9. 다시 키를 우 클릭하여 Set Value 를 선택합니다. 키 값을 0.2로 설정합니다. 이는 화면에서 액션이 보통 속도의 20%로 플레이 하도록 합니다.


그림 21.43 – Time=3.7에서 슬로 모션이 발생한다.

10. 키를 우 클릭하여 Interp Mode -> Constant 를 선택합니다.

11. 타임 슬라이더를 Time=5.8로 이동(혹은 가능한 한 가까이)하고 [ENTER]키를 눌러 새 키를 만듭니다.

12. 새 키를 선택하여 우 클릭합니다. Set Time 을 선택하고 Time=5.8로 설정합니다.

13. 키를 다시 우 클릭하고 Set Value 를 선택합니다. 키 값을 1.0으로 설정합니다.


그림 21.44 – 이제 Time=5.8에서 속도가 정상으로 돌아온다.

14. 실시간 프리뷰(realtime preview)가 Perspective 뷰포트에서 켜 있는 것을 확인하고 매터니에서 Play버튼을 누릅니다. 카메라가 두 번째 컷으로 이동하면 캐릭터가 느려지지만 음악은 보통 속도로 재생됩니다.

15. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.10 카메라 편집(Camera Edits), 파트 III: Fades

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. DirGroup 을 우 클릭한 후 Add New Fade Track 을 선택합니다. 이 트랙은 시퀀스의 시작과 끝 장면의 페이드 효과에 사용될 것입니다.


그림 21.45 – 페이드 트랙(Fade track)을 새로 만든다.

4. 타임 슬라이더를 Time=0.0으로 설정하고 [ENTER]키를 눌러 새로운 키를 만듭니다. 이는 페이드 트랙의 초기값을 설정하는데 사용될 것입니다.

5. 키 값은 0.0으로 설정되어야 하며, 이는 장면(Scene)이 초기값으로 완전히 시각적으로 보인다는 것을 의미합니다. 여기에서 화면이 페이드 아웃으로 시작되도록 할 것입니다. 키를 선택하고 우 클릭 한 후 Set Value 를 선택합니다. 키 값을 1.0으로 설정합니다.


그림 21.46 – 이는 장면(Scene)이 시작되면 블랙 아웃으로 만든다.

6. 타임 슬라이더를 Time=1.0으로 이동시키고 [ENTER]키를 눌러 새로운 키를 만듭니다. 키를 선택하여 우 클릭 합니다. Set Value 를 선택하고 키 값을 0.0으로 설정합니다.


그림 21.47 – 이는 장면(Scene)을 Time=1.0 에서 페이드 인 시킵니다.

주의: 이 튜토리얼에서 키가 배치되어 있는 시간은 이전 튜토리얼과 똑같을 필요가 없지만 원한다면 메뉴를 우 클릭한 후 Set Time 기능을 선택하여 자세한 설정을 할 수 있습니다.

7. 이제 타임 슬라이더를 Time=9.5로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이는 처음에 페이드 아웃이 될 것입니다. 키 값을 0.0으로 설정합니다. 키를 우 클릭하고 Set Value 를 선택하여 설정을 확인합니다.

8. 타임 슬라이더를 Time=11.0으로 이동시키고 [ENTER]키를 눌러 마지막으로 키를 만듭니다. 키를 선택한 후 우 클릭합니다. Set Value 를 선택하고 이 키 값을 1.0으로 설정합니다.

9. 실시간 프리뷰(realtime preview)가 Perspective 뷰포트에서 가능한 것을 확인하고 매터니에서 Play 버튼을 누릅니다. 장면(Scene)은 시작과 함께 페이드 인 되며 끝날 때 페이드 아웃 될 것입니다.

10. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.11 카메라 1 기본 DOF 효과, 파트 I: Recording Values

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이번 튜토리얼에서는 Camera1의 DOF_FocusDistance 속성을 조절할 트랙을 만들 것입니다. 이는 캐릭터가 통로를 이동할 때 캐릭터에 포커스를 유지시키도록 할 것입니다. 이를 위해서 캐릭터와 카메라 간의 거리를 알아야 합니다. 캐릭터가 통로를 따라 내려갈 때 거리를 표시해줄 간단한 키즈멧 네트워크를 만들도록 하겠습니다. 그 뒤, 다음에 오는 튜토리얼에서 이 값들을 매터니 내에서 트랙에 대한 키들을 설정하기 위한 가이드라인으로 사용할 것입니다.

Camera1 그룹을 우 클릭하고 Add New Float Property Track 을 선택합니다. 창이 나타나면 이용 가능한 리스트에서 DOF_FocusDistance 를 선택하고 OK 를 누릅니다. 이는 Camera_DOF_FocusDistance이름의 새로운 트랙을 만들 것입니다.


그림 21.48 – float property track 을 새로 만든다.

주의: 속성의 이름이 잘 보이지 않을 만큼 작기 때문에 속성창의 크기를 변경해야 할 수도 있습니다.

4. 키를 배치하기 전에 이 키에 값을 할당해야 합니다. 이전에 언급했듯이 키즈멧 내의 네트워크를 이용해서 추정치에 의존하지 않고 원하는 값을 얻을 수 있습니다.

키즈멧에 우 클릭한 후 New Action -> Actor -> Get Distance 를 선택하여 Level Startup 이벤트의 하부 우측에 Get Distance 액션을 생성합니다.


그림 21.49 – Get Distance 액션을 새로 추가한다.

5. Level Startup 의 Out 을 Get Distance 액션의 In 에 연결합니다.


그림 21.50 – Level Startup 을 Get Distance 에 연결한다.

6. CameraActor_0이나 첫 번째 카메라를 뷰포트에서 선택합니다. Get Distance 액션의 A 를 우 클릭하고 New Object Var Using CameraActor_0을 선택합니다.


그림 21.51 – 첫 번째 카메라에 변수를 새로 추가한다.

주의: 실제 카메라 액터의 이름은 같지 않을 것입니다. 기존에 만든 첫 번째 카메라 선택을 확인합니다.

7. 뷰포트로 돌아가서 SkeletalMeshActorMAT 이나 캐릭터를 선택하고, Get Distance 액션의 B 를 우 클릭한 다음, New Object Var Using SkeletalMeshActorMAT_0을 선택합니다.


그림 21.52 – 이제 스켈레탈 메쉬와 Camera1의 거리를 알 수 있습니다.

8. 다음에는 Get Distance 액션의 Distance 를 우 클릭하고 Create New Float Variable 을 선택합니다.


그림 21.53 – Get Distance 의 Float 변수를 새로 추가한다.

9. Get Distance 액션의 오른쪽에서 [L]키나 좌 클릭으로 Log 액션을 새로 만듭니다. Log 액션을 우 클릭한 후 Expose Variable -> Float 을 선택합니다. Float 의 연결은 Log 액션에 보여야 합니다.

10. Log 액션의 Float 을 Get Distance 액션의 Distance 에 연결된 Float 변수에 연결합니다.

11. 그리고 나서 Get Distance 액션의 Out 을 Log 액션의 In 에 연결합니다.

12. 이제 Log 액션의 Out 을 Get Distance 액션의 In 으로 연결합니다. Log 액션의 Out 을 우 클릭한 후 Set Activate Delay 를 선택합니다. Delay 설정을 0.2로 합니다.


그림 21.54 – 이제 거리에 대한 값이 스크린에 나타난다.

13. 마지막으로 에디터에서 맵을 실행시키고 시퀀스의 시작, 캐릭터가 카메라의 정면에 바로 있을 때, 카메라 컷의 시작 시간, 두 번째 카메라 컷의 시간, 시퀀스 종료 시점 등과 같이 특정 지표의 거리 값을 확인합니다. 여기에 여러분이 만든 값과 비교할 수 있는 값이 있습니다. 이 값들은 비교적 유사합니다.

  • 600.0
  • 200.0
  • 900.0
  • 1850.0
  • 2600.0

주의: 매터니 에디터는 맵을 실행하기 위해서 닫아야 합니다. 만약 창을 닫는 것을 잊었다면 UnrealEd는 옵션을 통해 창을 닫을 지에 대한 여부를 물을 것입니다.

14. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.12 카메라 1 기본 DOF 효과, 파트 II: Setting Keys

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스를 더블 클릭하여 매터니 에디터를 엽니다.

3. 이 튜토리얼에서는 마지막 튜토리얼을 통해 얻은 값들을 가지고 첫 번째 카메라의 DOF_FocusDistance 속성을 제어하는 트랙에 대한 키를 만들 것입니다. 이 튜토리얼에서는 이전 튜토리얼에서 지정한 값들을 사용합니다. 여러분이 손수 저장했던 값이 있다면 그걸 대신 사용해도 무방합니다.

Camera1 그룹의 Camera_DOF_FocusDistance track 을 선택합니다. 타임 슬라이더를 Time=0.0에 놓고 [ENTER]키를 눌러 초기 키를 만듭니다. 새로 만들어진 키를 우 클릭한 후 Set Value 를 선택합니다. 값을 600.0으로 설정합니다.


그림 21.55 – 첫 번째 키 값을 600.0으로 설정한다.

4. 타임 슬라이더를 Time=1.5로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value 를 선택하고 값을 200.0으로 설정합니다.

5. 타임 슬라이더를 Time=3.7로 이동시키거나 첫 번째 카메라 컷의 time으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value 를 선택하고 키 값을 900.0으로 설정합니다.

6. 타임 슬라이더를 Time=5.8로 이동시키거나 두 번째 카메라 컷의 time으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택하고 키 값을 1850.0으로 설정합니다.

7. 타임 슬라이더를 시퀀스의 끝으로 이동시키고 [ENTER]키를 눌러 마지막 키를 만듭니다. 이 키를 우 클릭 한 후 Set Value를 선택하고 키 값을 2600.0으로 설정합니다.

8. 실시간 프리뷰(realtime preview)가 Perspective 뷰포트에서 가능하도록 한 후 매터니에서 Play버튼을 누릅니다. 캐릭터가 첫 번째 카메라에서 보이는 지 확인하고 시퀀스 내내 초점이 맞추어져 있는 지 확인합니다.


그림 21.56 – 캐릭터 뒤의 배경에 블러 효과가 일부 적용된 것을 알 수 있다.

9. 작업을 보존하기 위해서 맵을 저장합니다.

튜토리얼 21.13 카메라 1 줌(Camera 1 Zoom)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이제 카메라의 컷이 Camera1으로 돌아갈 때 즉석 자동 초점 효과(quick auto-focus effect)와 함께 부터 캐릭터가 카메라로부터 멀어짐에 따라 Camera1이 캐릭터에 줌 인을 하도록 만들 것입니다.

Camera1 그룹을 우 클릭한 후 New Float Property Track 을 선택합니다. 창이 나타나면 FOVAngle 을 선택하고 OK 를 누릅니다. 이는 카메라 액터의 FOVAngle 속성을 조절할 새로운 트랙을 만들 것입니다.


그림 21.57 – FOV angle 에 적용할 Float Property Track 을 새로 만든다.

4. 타임 슬라이더를 캐릭터가 카메라의 바로 앞에 오는 부분까지 이동하거나 Time=1.5로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 키 값은 속성에서 설정했듯이 FOVAngle 속성의 값이 될 것인데, 90.0도로 초기값이 설정되어 있습니다. 이는 커브에 대한 기준 키 값이므로 괜찮습니다.

5. 타임 슬라이더를 Time=3.0으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value 를 선택하고 키 값을 50.0으로 설정합니다.

6. 타임 슬라이더를 Time=5.8(두 번째 카메라 컷이 발생하는 시간)으로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 이 키를 우 클릭 한 후 Set Value 를 선택하고 키 값을 25.0으로 설정합니다.

7. 타임 슬라이더를 Time=5.9로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 키를 우 클릭한 후 Set Value 를 선택하고 키 값을 12.0으로 설정합니다.

8. 타임 슬라이더를 Time=6.1로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 우 클릭 하여 Set Value 를 선택하고 키 값을 17.5로 설정합니다.

9. 타임 슬라이더를 Time=6.4로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value 를 선택하고 키 값을 13.5로 설정합니다.

10. 마지막으로 타임 슬라이더를 Time=7.0으로 이동시키고 [ENTER]키를 눌러 마지막 키를 만듭니다. 이 키를 우 클릭한 수 Set Value 를 선택하고 키 값을 15.0으로 설정합니다.

11. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한 지 확인하고 매터니에서 Play버튼을 누릅니다. 캐릭터가 첫 번째 카메라로부터 달려감에 따라 줌이 부드럽게 움직이며 두 번째 카메라 컷 직 후에 캐릭터를 빠르게 줌 인할 것입니다. 다음 튜토리얼에서는 줌 인할 때 블러 효과가 추가되고 다시 되돌리면서 캐릭터에 포커스를 잡도록 할 것입니다.

12. 작업을 보존하기 위해 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.14 카메라 1 향상된 DOF 효과(Camera 1 Advanced Depth of Field Effect), 파트 I: DOF_FocusInnerRadius

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 튜토리얼에서는 카메라의 DOF 이펙트의 반경을 수정하여 오토 포커스 이펙트를 만드는 과정을 계속할 것입니다. 전체 씬(Scene)에 블러 효과를 만들기 위해서 이펙트 반경을 0.0으로 만들 것입니다. 다음 튜토리얼에서는 사용된 블러 효과의 양에 움직임(animate)을 줄 것입니다.

Camera1 그룹을 우 클릭한 후 Add New Float Property Track 을 선택합니다. 창이 나타나면 목록에서 DOF_FoculInnerRadius 속성을 선택하고 OK 를 누릅니다.


그림 21.58 – DOF 의 내부 반경을 제어하기 위해 Float Property Track을 새로 만든다.

4. 타임 슬라이더를 Time=5.8(두 번째 카메라 컷)으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 키를 우 클릭한 후 Set Value 를 선택해서 값을 750.0으로 설정합니다.

5. 타임 슬라이더를 Time=5.9로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value 를 선택해서 키 값을 0.0으로 설정합니다.

6. 키를 다시 우 클릭한 후 Interp Mode -> Linear 를 선택합니다. 이는 DOF 이펙트가 0 혹은 그 이상의 반경을 필요로 하기 때문에 커브를 0과 다음 값 사이에서 0이하로 내려가지 않도록 값을 유지시킬 것입니다.


그림 21.59 – Interp Mode 에서 Linear 를 설정한다.

7. 타임 슬라이더를 Time=6.4로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 0.0으로 설정합니다.

8. 타임 슬라이더를 Time=7.0으로 이동시키고 [ENTER]키를 눌러서 마지막 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 750.0으로 설정합니다.

9. 시퀀스에서 마우스로 타임 슬라이더를 이동시켜 보고 지정한 영역의 씬(Scene)에서 블러 효과가 완벽하게 구현되는지 확인합니다.

10. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.15 카메라 1 향상된 DOF 효과(Camera 1 Advanced Depth of Field Effect), 파트 II: DOF_BlurKernelSize

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이전 튜토리얼에서 언급했듯이, 이 튜토리얼에서는 DOF 이펙트에 사용된 블러의 양을 변경하여 카메라가 포커스를 맞추도록 할 것입니다. 만들게 될 커브의 모양은 기본적으로 진동이 감소하는 모양입니다.

Camera1 그룹을 우 클릭한 후 Add New Float Property Track 을 선택합니다. 창이 나타나면 목록에서 DOF_BlurKernelSize 속성을 선택하고 OK 를 누릅니다.


그림 21.60 – Blur Kernel Size 를 조절하기 위해 Property Track 을 새로 만든다.

4. 타임 슬라이더를 Time=5.8(두 번째 카메라 컷의 시간)로 이동시키고 [ENTER]키를 눌러 초기 키를 만듭니다. 키를 우 클릭한 후 Set Value를 선택해서 키 값을 4.0으로 설정합니다.

5. 타임 슬라이더를 Time=5.9로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 키를 우 클릭한 후 Set Value를 선택해서 키 값을 90.0으로 설정합니다. 이는 씬(Scene)이 극도로 흐려지도록 블러 효과를 만들 것입니다.

6. 타임 슬라이더를 Time=6.0으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 16.0으로 설정합니다.

7. 타임 슬라이더를 Time=6.1로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 키를 우 클릭한 후 Set Value를 선택해서 키 값을 65.0으로 설정합니다.

8. 타임 슬라이더를 Time=6.25로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 8.0으로 설정합니다.

9. 타임 슬라이더를 Time=6.4로 설정합니다. [ENTER]키를 눌러 새 키를 만듭니다. 키를 우 클릭한 후 Set Value를 선택해서 키 값을 25.0으로 설정합니다.

10. 타임 슬라이더를 Time=7.0으로 이동시키고 [ENTER]키를 눌러 마지막 키를 만듭니다. 키를 우 클릭한 후 Set Value를 선택해서 마지막 키 값을 4.0으로 설정합니다.

11. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한지 확인 후 매터니에서 Play 버튼을 누릅니다. 이펙트를 조절하거나 변경하고 싶다면 마음껏 하셔도 됩니다.


그림 21.61 – 이제 장면(Scene)에 다른 블러 효과가 적용되었다.

12. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.16 카메라 2 줌(Camera 2 Zoom)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이 튜토리얼에서는 두 번째 카메라를 이용하여 캐릭터를 클로즈업(zoom in tight)하고 캐릭터가 카메라에 다가옴에 따라 줌 아웃(zoom out)하도록 구현해보겠습니다.

Camera2 그룹을 우 클릭한 후 Add New Float Property Track 을 선택합니다. 창이 나타나면 목록에서 FOVAngle 속성을 선택하고 OK 를 누릅니다.


그림 21.62 – 이 새로운 트랙은 Camera2 의 FOV angle 을 제어하게 된다.

4. 타임 슬라이더를 Time=3.7(두 번째 카메라가 활성화 될 때의 첫 번째 카메라 컷의 시간)로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다.

5. 키를 우 클릭한 후 Set Value를 선택해서 키 값을 10.0으로 설정합니다. 이는 캐릭터가 화면 대부분에 꽉 차도록 할 것입니다.

6. 이제 타임 슬라이더를 Time=5.8(두 번째 카메라가 비 활성화 될 때 두 번째 카메라의 시간)로 이동시키고 [ENTER]키를 눌러 키를 만듭니다.

7. 새로 만든 키를 우 클릭한 후 Set Value 를 선택해서 키 값을90.0으로 설정합니다. 이는 카메라에 대한 기본 시야(default field of view)로, 캐릭터가 다가옴에 따라 줌 아웃을 시켜주게 됩니다.


그림 21.63 – 이제 카메라가 Time=5.8에서 줌 아웃 상태에서 표준 상태가 된다.

8. 하부 우측에 있는 작은 박스를 클릭하여 트랙의 커브를 커브 에디터(Curve Editor)로 보내고 툴 바에 있는 Toggle Curve Editor 를 클릭하여 커브 에디터를 불러 옵니다.

9. 커브 에디터에서 커브상의 두 번째 지점을 선택하고 접점 상의 핸들(작은 네모)를 보이도록 합니다. [CTRL]키를 누른 상태에서 접점 상의 핸들의 왼쪽을 좌 클릭하고 선의 오른쪽 부분이 S자 모양이 아닌 U자형 모양으로 나타나도록 마우스를 드래그합니다. 이는 줌 기능이 처음에는 천천히 진행되다가 캐릭터가 다가오면 빨라지도록 만들 것입니다.


그림 21.64 – 그림과 같은 모양으로 커브를 만든다.

10. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한지 확인 후, 매터니에서 Play버튼을 눌러 줌 설정을 미리 보기 합니다. 값을 조절하여 다양하게 적용해 봅니다.

11. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.17 카메라 2 DOF(Camera 2 Depth of Field Effect)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 이 튜토리얼에서는 DOF 이펙트의 초점 거리를 설정하여 두 번째 카메라의 설정을 계속하도록 하며, 첫 번째 카메라와 거의 같은 방법으로 진행할 것입니다. 거리를 측정하기 위해 같은 키즈멧 네트워크를 사용하지만 이번에는 캐릭터와 두 번째 카메라 사이의 거리입니다.

뷰포트에서 두 번째 카메라를 선택하고 키즈멧을 엽니다.

3. Get Distance 액션의 B 에 연결된 변수를 우 클릭하고 Assign CameraActor_1 to Object Variable(s)를 선택합니다.


그림 21.65 – 이제 스켈레탈 메쉬와 Camera2간의 거리를 측정할 수 있다.

4. 전에 했듯이 에디터에서 맵을 실행시킵니다. 스크린에 거리 값이 출력되는지 확인합니다. 각각의 카메라 컷에 대한 시간 값을 확인합니다. 다음 값과 여러분이 설정한 값을 비교해 봅니다.

  • 800.0
  • 200.0

5. 일단 값을 설정하면 매터니 시퀀스를 더블 클릭하여 매터니 에디터를 엽니다.

6. Camera2 그룹에 우 클릭한 후 Add New Float Property Track 을 선택합니다. 창이 나타나면 DOF_FocusDistance 속성을 선택하고 OK 를 누릅니다.


그림 21.66 – DOF 초점 거리를 조절하는 Float Track Property 를 새로 만든다.

7. 타임 슬라이더를 Time=3.7(첫 번째 카메라 컷의 시간)으로 이동시키고 [ENTER]키를 눌러 초기 키를 만듭니다.

8. 키를 우 클릭한 후 Set Value를 선택해서 키 값을 800.0으로 설정합니다.

9. 타임 슬라이더를 Time=5.8(두 번째 카메라 컷의 시간)으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다.

10. 키를 우 클릭한 후 Set Value를 선택해서 키 값을 200.0으로 설정합니다.

11. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한지 확인 후 매터니에서 Play버튼을 누릅니다. 필요하다면 키에 다양한 값을 입력하여 조절해봅니다.


그림 21.67 – 이제 Camera2에 DOF 이펙트가 나타난다.

12. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.18 Accent Lighting, 파트 I: 광원 배치(Placing Lights)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. Lighting 섹션의 Image Separation 에서 림 라이팅을 사용하여 캐릭터를 주변 배경으로부터 미묘하게 부각시키는 방법에 대하여 논의했습니다. 여러분은 이전 튜토리얼로부터 화면의 어두운 밝기와 컬러 팔레트의 제한적인 색상 범위로 인하여 가끔씩 캐릭터가 화면에서 잘 보이지 않는 것을 느꼈을 것입니다. 이 튜토리얼에서는 몇몇의 광원(정확히 3개의 광원)을 추가하여 캐릭터를 배경과 구분하기 위해서 하이라이트를 주도록 할 것입니다.

제네릭 브라우저를 열고 Actor Classes 탭을 선택합니다. Actor -> Light -> PointLight 에 있는 PointLightMovable class 를 선택하고 뷰포트에서 우 클릭한 후 Add New PointLightMovable Here 를 선택합니다.


그림 21.68 – PointLightMovable 을 새로 만든다.

3. 이 광원을 통로의 끝과 바로 뒤 그리고 캐릭터의 오른쪽에 배치합니다.

주의: 각각의 방향들은 캐릭터의 메쉬가 바라보는 방향을 기준으로 합니다.

4. 광원을 선택하고 [F4]키를 눌러 해당 속성을 불러 옵니다.

5. LightingChannels 를 열고 Cinematic1 채널만 선택합니다. 이는 캐릭터에만 광원을 설치하기 위해서 입니다. 다음 단계에서는 이 채널을 이용하여 SkeletalMeshActorMAT 를 설정할 것입니다.

6. 캐릭터를 선택하고 [F4]키를 눌러 해당 속성을 불러 옵니다. LightingChannels 를 열고 Cinematic1 채널을 선택합니다. 다른 채널은 사용하지 않습니다.

7. [ALT]키를 누른 상태에서 복사하고 광원을 Y 축의 양수 방향으로 224 유닛만큼 이동시킵니다. 이는 캐릭터의 왼쪽에 새 광원을 설치하기 위함입니다.

8. [ALT]키를 누른 상태에서 다시 복사하고 X축의 음수 방향으로 새 광원을 544 유닛만큼 이동시킵니다. 이는 캐릭터의 앞과 왼쪽에 새 광원을 만들도록 합니다.


그림 21.69 – 이제 캐릭터 주위에 3개의 광원을 만들었으며 어두운 배경을 밝게 만들었다.

9. 이제 이 세 개의 광원을 캐릭터에 연결하여 캐릭터가 이동함에 따라 따라오도록 만들 것입니다. 세 개의 광원을 모두 선택하고 속성 창을 엽니다. Lock to Selected Actors 버튼을 클릭하고 캐릭터를 선택합니다. 속성 창으로 돌아가서 Attachment 를 열고 Base 속성에 있는 Use Current Selection 버튼을 클릭합니다.

10. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.19 Accent Lighting, 파트 II: Left Rear Brightness Track

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다C.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이 튜토리얼에서는 한번에 하나의 광원만이 메쉬를 비춰줄 필요가 있기 때문에 accent light 의 밝기를 제어할 트랙을 만들어 보도록 하겠습니다.

캐릭터의 뒤와 왼쪽의 광원을 선택합니다. Group/Track List 의 빈 공간을 우 클릭한 후 Add New Group 을 선택합니다. 새로 만든 그룹 이름을 RimLightLeftRear 로 선택하고 OK 를 누릅니다.


그림 21.70 – RimLightLeftRearCreate 라는 이름으로 새 그룹을 만든다.

4. RimLightLeftRear 그룹을 우 클릭한 후 Add New Float Property Track 을 선택합니다. 창이 나타나면 Brightness 속성을 선택하고 OK 를 누릅니다.


그림 21.71 – 새로 만든 이 트랙이 밝기를 제어할 것이다.

5. 타임 슬라이더를 Time=0.0으로 이동시키고 [ENTER]키를 눌러 초기 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을0.5로 설정합니다.

6. 타임 슬라이더를 Time=1.5로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 0.0으로 설정합니다. 이렇게 하면 캐릭터가 카메라에 다가감에 따라 광원을 페이드 아웃 시킬 것입니다.

7. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.20 Accent Lighting, 파트 III: Right Rear Brightness Track

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이 튜토리얼에서는 광원의 밝기를 조절하는 트랙 만들기를 계속합니다.

캐릭터의 뒤와 오른쪽의 광원을 선택합니다. Group/Track List 의 빈 공간을 우 클릭한 후 Add New Group 을 선택합니다. 새 그룹의 이름을 RimLightRightRear 로 설정하고 OK 를 누릅니다.


그림 21.72 – 뒤쪽 림 라이트에 대한 새 그룹을 만든다.

4. RimLIghtRightRear 그룹을 우 클릭한 후 Add New Float Property Track 을 선택합니다. 창이 나타나면 Brightness 속성을 선택하고 OK 를 누릅니다.


그림 21.73 – 새로 만든 이 트랙이 밝기를 제어할 것이다.

5. 타임 슬라이더를 Time=1.5로 이동시키고 [ENTER]키를 눌러 초기 키를 만듭니다. 키를 우 클릭한 후 Set Value를 선택해서 키 값을 0.0으로 설정합니다.

6. 타임 슬라이더를 Time=3.0으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set value를 선택해서 키 값을 0.5로 설정합니다.

7. 키를 다시 우 클릭한 후 Interp Mode -> Constant 를 선택하여 이 키와 다음 키 사이에 계단 모양의 커브를 만듭니다.


그림 21.74 – 하나의 키에서 다음 키까지 값이 유지된다.

8. 타임 슬라이더를 Time=3.7로 이동시키고 [ENTER]키를 새 키를 만듭니다. 키를 우 클릭한 후 Set Value를 선택해서 이 키 값을 0.0으로 설정합니다.

9. 이 키를 우 클릭한 후 Inter Mode -> Constant 를 선택하여 계단 모양의 커브를 다시 만듭니다.

10. 타임 슬라이더를 Time=5.8로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 0.5로 설정합니다.

11. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.21 Accent Lighting, 파트 IV: Front Brightness Track

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이 튜토리얼에서는 광원의 밝기를 조절하는 트랙 만들기를 계속합니다.

캐릭터의 뒤와 왼쪽의 광원을 선택합니다. Group/Track List 의 빈 공간을 우 클릭한 후 Add New Group 을 선택합니다. 새 그룹의 이름을 RimLightFront 로 설정하고 OK 를 누릅니다.


그림 21.75 – 앞쪽 림 라이트에 대한 새 그룹을 만든다.

4. RimLightFront 그룹을 우 클릭한 후 Add New Float Property Track 을 선택합니다. 창이 나타나면 Brightness 속성을 선택하고 OK 를 누릅니다.

5. 타임 슬라이더를 Time=0.0으로 설정하고 [ENTER]키를 눌러 초기 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 0.0으로 설정합니다.

6. 이 키를 다시 우 클릭한 후 Interp Mode -> Constant 를 선택합니다.

7. 타임 슬라이더를 Time=3.7로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value 를 선택해서 키 값을 0.5로 설정합니다.

8. 키를 다시 우 클릭한 후 Interp Mode -> Linear 를 선택합니다.

9. 타임 슬라이더를 Time=5.4로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 0.5로 설정합니다.

10. 타임 슬라이더를 Time=5.8로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 키를 우 클릭한 후 Set Value를 선택해서 키 값을 0.0으로 설정합니다.

11. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한지 확인 후 매터니에서 Play 버튼을 누릅니다. 시네마틱이 플레이 되면 캐릭터의 릿 실루엣(lit silhouette)이 보일 것입니다.


그림 21.76 – 이제 캐릭터에 조명이 설정되었다.

12. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.22 폭발 파티클 효과(Explosion Particle Effects), 파트 I: 이미터 배치(Placing Emitters)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 이 시점에서 시네마틱 시퀀스의 스켈레톤을 성공적으로 만들긴 했지만, 아직 현 시점에서는 시네마틱이 너무 지루할 것입니다. 아직 시네마틱에 별 다른 일이 발생하지 않기 때문일 것입니다. 이 뼈대에 살을 덧대거나 무언가 동작을 덧붙일 필요가 있습니다. 이 튜토리얼을 진행하면서 폭발에 대해서 언급했을 것입니다. 이제 그러한 폭발물을 추가하여 시퀀스를 보다 역동적이고 흥미롭게 만들어 보겠습니다.

제네릭 브라우저에서 CinematicsDemoContent 패키지에 있는 part_explosion 어셋을 선택합니다. 뷰포트에서 우 클릭한 후 Add Actor -> Emitter: part_explosion 을 선택합니다.


그림 21.77 – 이미터(Emitter) 액터를 새로 추가한다.

3. 다음에 해야 할 일은 이미터를 어디에 놓을 것인지를 결정하는 것입니다. 위치 선정은 언제 폭발이 발생할 것인지에 대한 타이밍에 전적으로 의지하게 됩니다. 이는 매우 주관적이며 개인적으로 적정한 위치라고 생각되는 느낌에 근거하여 결정될 수 있습니다. 이 튜토리얼에서는 폭발의 타이밍을 사전에 작업해서 사용하게 될 것입니다. 항상 그랬듯이 여러분 각자의 취향대로 자유롭게 실험해 보도록 하십시오.

첫 번째 폭발은 캐릭터가 통로의 중간 지점에 잇는 컨트롤 박스를 지나자마자 발생할 것입니다. 이 컨트롤 박스는 통로를 따라 몇 개의 포인트에 설정할 것이며 박스 앞에 빨간색과 초록색 광원으로 나타날 것입니다. 이는 첫 번째 이미터(emitter)가 놓이는 위치입니다.

이미터를 Top 뷰포트(이는 캐릭터가 이미터를 지나갈 때 캐릭터의 오른쪽에 있을 것입니다)에서 볼 때 통로 왼쪽 측면에 있는 컨트롤 박스 중앙에 배치합니다. 매터니를 열어 타임 슬라이더를 Time=4.3으로 이동시키면 도움이 될 것입니다. 뷰포트에서 플레이어의 위치를 찾고 컨트롤 박스를 캐릭터의 바로 오른쪽에 설치합니다. 플레이어가 아직 컨트롤 박스에 닿지 않았거나(혹은 이미 바로 뒤에 있다면), 매터니를 닫고 스켈레탈 메쉬를 X축 방향으로 이동시켜 출발점을 변경합니다. 하지만 이렇게 한다면 카메라의 위치 역시 약간 변경해야 합니다.


그림 21.78 – 컨트롤 박스에 이미터를 배치한다.

4. 이미터를 선택하고 [F4]키를 눌러 해당 속성을 엽니다. bAutoActivate 를 선택 해제하여 이미터가 처음에 터지지 않도록 합니다. 이미터는 다음 튜토리얼에서 매터니를 통해 작동시켜(trigger) 폭발하도록 할 것입니다.

5. 이미터가 선택된 상태에서 UnrealEd 인터페이스 아래에 있는 DrawScale3D 를 4.0으로 설정합니다. 이는 폭발을 원래보다 4배 정도 크게 만들 것입니다.

6. [ALT]키를 누른 상태에서 이미터를 드래그해서 복도 건너편에 복사본을 만들어 줍니다. 이제 매터니에서 타임 슬라이더를 Time=4.7로 이동시키고 이 시간의 플레이어의 위치를 찾습니다. 캐릭터의 왼쪽에 버팀목(support beam)이 있으며, 그 뒤를 금속 관이 지날 것입니다. 이 새로 만든 이미터를 금속관과 버팀목이 만나는 곳에 배치합니다.


그림 21.79 – 그림과 같이 이미터를 배치한다.

7. 다시 [ALT]키를 누른 상태에서 이미터를 드래그하여 통로의 반대쪽에 복사합니다. 매터니의 타임 슬라이더를 Time=5.075로 이동시키고 이 시간의 플레이어의 위치를 뷰포트에서 찾습니다. 플레이어의 오른쪽에 터미널이 4열로 놓여 있을 것입니다. 이미터를 두 번째 터미널에 배치합니다.


그림 21.80 – 세 번째 이미터는 두 번째 터미널에 배치한다.

8. 다시 [Alt]를 누른 상태에서 통로의 반대쪽으로 이미터를 드래그하여 네 번째 이미터를 복사합니다. 매터니의 타임 슬라이더를 Time=5.45로 이동시키고 뷰포트에서 이에 해당하는 플레이어의 위치를 찾습니다. 플레이어의 왼쪽에 또 다른 버팀목(support beam)이 있고, 그 뒤에 천장을 따라 지나는 파이프가 있을 것입니다. 이 파이프와 버팀목이 만나는 아래쪽에 64 유닛만큼 떨어진 곳에 마지막 이미터를 배치합니다. 시네마틱 동안 카메라의 앵글에 잘 보이지 않기 때문에 이 이미터를 64 유닛 정도 이동시켜 설치하는 것입니다.


그림 21.81 – 파이프와 빔이 만나는 위치에 네 번째 이미터를 배치한다.

9. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.23 폭발 파티클 효과(Explosion Particle Effects), 파트 II: Particle Toggle Tracks

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 컨트롤 박스에 있는 첫 번째 이미터를 선택합니다. Groups/Tracks List 의 빈 공간을 우 클릭한 후 Add New Group 을 선택합니다. 새로 만들 그룹 이름을 ExplosionEmitter1로 설정하고 OK 를 누릅니다.

4. ExplosionEmitter1 그룹을 우 클릭한 후, Add New Particle Toggle Track 을 선택합니다.


그림 21.82 – 새로 만든 토글 트랙은 파티클을 켜고 끈다.

5. 타임 슬라이더를 Time=4.3으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 창이 나타나면 목록에서 On 을 선택하고 OK 를 누릅니다. 이는 이미터가 파티클을 방출하도록 만드는 것입니다.

6. 금속관과 버팀목이 교차하는 장소에 있는 두 번째 이미터를 선택합니다. Groups/Tracks List 의 빈 공간을 우 클릭한 후 Add New Group 을 선택합니다. 새로 만들 그룹 이름을 Explosion Emitter2로 설정하고 OK 를 누릅니다.

7. ExplosionEmitter2 그룹을 우 클릭한 후, Add New Particle Toggle Track 을 선택합니다.


그림 21.83 – 새 그룹과 토글 트랙이 두 번째 이미터에 추가되었다.

8. 타임 슬라이더를 Time=4.7로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 창이 나타나면 목록에서 On 을 선택하고 OK 를 누릅니다. 이는 이미터가 파티클을 방출하도록 합니다.

9. 터미널에 위치한 다음 이미터를 선택합니다. Groups/Track List 의 빈 공간을 우 클릭한 후, Add New Group 을 선택합니다. 새로 만들 그룹 이름을 ExplosionEmitter3으로 설정하고 OK 를 누릅니다.

10. ExplosionEmitter3 그룹을 우 클릭한 후, Add New Particle Toggle Track 을 선택합니다.


그림 21.84 – 이제 세 번째 이미터에 그룹과 토글 트랙이 추가되었다.

11. 타임 슬라이더를 Time=5.075로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 창이 나타나면 목록에서 On 을 선택하고 OK 를 누릅니다. 이는 이미터가 파티클을 방출하도록 합니다.

12. 컨트롤 박스에 있는 첫 번째 이미터를 선택하고 Groups/Tracks List 의 빈 공간을 우 클릭한 후, Add New Group 을 선택합니다. 새로 만들 그룹의 이름을 ExplosionEmitter4로 설정하고 OK 를 누릅니다.

13. ExplosionEmitter4 그룹을 우 클릭한 후, Add New Particle Toggle Track 을 선택합니다.


그림 21.85 – 네 번째 이미터에 트랙이 추가되었다.

14. 타임 슬라이더를 Time=5.45로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 창이 나타나면 목록에서 On 을 선택하고 OK 를 누릅니다. 이는 이미터가 파티클을 방출하도록 합니다.

15. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한 지 확인하고 매터니에서 Play 버튼을 누릅니다. 캐릭터가 이미터 옆을 달려가면 폭발 이펙트가 발생합니다.


그림 21.86 – 이제 폭발 효과를 볼 수 있다.

16. 한 가지 문제가 있습니다. 다시 재생하도록 연결하면 다시 재생될 때 이미터가 작동하지 않는 것처럼 보일 것입니다. 연기만 보일 것인데 폭발이 다시 되도록 연결하지 않았기 때문입니다.

시퀀스가 시작할 때 각각의 이미터의 키를 꺼서 이를 쉽게 수정할 수 있습니다. 지금까지 배운 것을 사용하여 각각의 이미터에 키 값으로 Time=0을 설정하고 시퀀스가 시작할 때 꺼지도록 합니다.

17. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.24 폭발 광(Explosion Lights), 파트 I: 광원 배치(Placing Lights)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 이제 캐릭터가 근처를 지나가면 폭발이 발생하지만 몇 가지 빠진 점이 있는데, 폭발 할 때의 빛의 방출과 사운드 효과 같은 것들입니다. 이 튜토리얼에서는 각 이미터의 위치에 광원을 배치할 것이며 다음 튜토리얼에서는 트랙으로 조정되는 Brightness 속성을 이미터의 위치에 설정할 것입니다. 사운드는 그 후의 튜토리얼에서 추가될 것입니다.

제네릭 브라우저를 열고 Actor Class 탭을 선택합니다. Actor -> Light -> PointLight 에 위치한 PointLightToggleable 을 선택합니다.

3. 뷰포트에서 첫 번째 이미터가 위치해 있는 컨트롤 박스를 우 클릭한 후 Add PointLightToggleable Here 를 선택합니다.


그림 21.87 – 첫 번째 이미터가 있는 장소에 토글이 가능한 광원을 만든다.

4. 광원을 선택한 상태에서 [F4]키를 눌러 해당 속성을 엽니다. LightColor 속성에 다음 값을 입력합니다:

  • A: 0
  • B: 0
  • G: 128
  • R: 255

5. LightingChannels 을 열고 Dynamic 채널이 선택되었는지 확인합니다. Radius 를 512.0으로 설정합니다.

6. [ALT]키를 누른 상태에서 광원을 두 번째 이미터로 이동시켜 복사합니다.

7. 다시 [ALT]키를 누른 상태에서 광원을 세 번째 이미터로 이동시켜 광원을 하나 더 복사합니다.

8. 마지막으로 [ALT]키를 누른 상태에서 광원을 마지막 이미터로 이동시켜 마지막 복사본을 만듭니다.

9. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.25 폭발 광(Explosion Lights), 파트 II: Brightness Tracks

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 첫 번째 폭발 이미터에 있는 광원을 선택합니다. 매터니에서 Groups/Tracks List 를 우 클릭한 후 Add New Group 을 선택합니다. 새로 만든 그룹의 이름을 ExplosionLight1로 설정하고 OK 를 누릅니다.


그림 21.88 – 첫 번째 폭발 광(explosion light)에 대한 새 그룹을 만든다.

4. 그룹에 새로운 Float Property Track 을 추가하고 속성을 Brightness 로 설정합니다.

5. 타임 슬라이더를 Time=4.3으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 0.0으로 설정합니다.

6. 타임 슬라이더를 Time=4.35로 이동시키고 [ENTER]키를 눌러 키를 하나 더 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 2.0으로 설정합니다.

7. 타임 슬라이더를 Time=4.7로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Value를 선택해서 키 값을 0.0으로 설정합니다.

8. ExplosionLight1 그룹을 선택하고 이를 우 클릭합니다. Duplicate Group 을 선택하고 새로운 그룹의 이름을 ExplosionEmitter2로 설정합니다.


그림 21.89 – 그룹을 복사하여 두 번째 버전을 만든다.

9. 뷰포트에서 두 번째 폭발 이미터에 있는 광원을 선택합니다. 키즈멧에서 ExplosionLight2를 우 클릭한 후 New Object Var Using PointLightToggleable_2를 선택합니다.

주의: 광원의 실제 이름은 위와 같이 않을 수도 있습니다T.

10. ExplosionLight2 그룹의 키를 다음 Time 값으로 이동시킵니다(시간은 왼쪽에서부터 오른쪽으로 키에 대응합니다).

  • First Key: Time = 4.7
  • Second Key: Time = 4.75
  • Third Key: Time = 5.075


그림 21.90 – 이는 두 번째 폭발에 대한 빛을 offset 시킨다.

11. ExplosionLight2 그룹을 선택하고 이를 우 클릭합니다. Duplicate Group 을 선택하고 새 그룹 이름을 ExplosionEmitter3으로 설정합니다.

12. 뷰포트에서 두 번째 폭발 이미터에 있는 광원을 선택합니다. 키즈멧에서 ExplosionLight3 링크를 우 클릭한 후, New Object Var Using PointLightToggleable_3을 선택합니다.

주의: 광원의 실제 이름은 위와 같지 않을 수도 있습니다.

13. ExplosionLight3 그룹의 키를 다음 Time 값으로 설정합니다(시간은 왼쪽에서 오른쪽으로 키에 대응합니다).

  • First Key: Time = 5.075
  • Second Key: Time = 5.125
  • Third Key: Time = 5.45

14. ExplosionLight3 그룹을 선택하고 이를 우 클릭합니다. Duplicate Group 을 선택하고 새로 만든 그룹의 이름을 ExplosionEmitter4로 설정합니다.


그림 21.91 – 두 번째 그룹을 복사하여 세 번째 그룹을 만든다.

15. 뷰포트에서 두 번째 폭발 이미터에 있는 광원을 선택합니다. 키즈멧에서 ExplosionLight4 링크를 우 클릭한 후 New Object Var Using PointLightToggleable_0을 선택합니다.

주의: 광원의 실제 이름은 위와 같이 않을 수도 있습니다.

16. ExplosionLight4 그룹의 키를 다음 Time 값으로 이동시킵니다(시간은 왼쪽에서 오른쪽으로 키에 대응합니다).

  • First Key: Time = 5.45
  • Second Key: Time = 5.5
  • Third Key: Time = 5.85

17. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한 지 확인하고 매터니에서 Play 버튼을 누릅니다. 광원이 폭발 효과와 함께 제 때에 작동해야 합니다.


그림 21.92 – 이제 폭발이 화면에 보인다.

18. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.26 폭발음(Explosion Sounds)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 제네릭 브라우저에서 CinematicDemoContent 패키지에 있는 soundCue_explosion 어셋을 선택합니다.

4. 매터니로 돌아가서 Groups/Tracks List 의 빈 공간을 우 클릭한 후 Add new Group 을 선택합니다. 새 그룹 이름을 ExplosionSounds 로 설정하고 OK 를 누릅니다.


그림 21.93 – 이름을 ExplosionSounds 로 하는 새 그룹을 만든다.

5. ExplosionSounds 그룹을 우 클릭한 후, Add New Sound Track 을 선택합니다.

6. 타임 슬라이더를 Time=4.3으로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Sound Pitch 를 선택하고 pitch 를 0.5로 설정합니다.

7. ExplosionSounds 그룹을 우 클릭한 후, Add New Sound Track 을 선택합니다.

8. 타임 슬라이더를 Time=4.7로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Sound Pitch 를 선택하고 pitch 를 0.5로 설정합니다.

9. ExplosionSounds 그룹을 우 클릭한 후, Add New Sound Track 을 선택합니다.

10. 타임 슬라이더를 Time=5.075로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 우 클릭한 후 Set Sound Pitch 를 선택합니다. Pitch 를 0.5로 설정합니다.

11. ExplosionSounds 그룹을 우 클릭한 후 Add New Sound Track 을 선택합니다.

12. 타임 슬라이더를 Time=5.45로 이동시키고 [ENTER]키를 눌러 새로운 키를 만듭니다. 키를 우 클릭한 후 Set Sound Pitch 를 선택합니다. Pitch 를 0.5로 설정합니다.


그림 21.94 – 이제 4개의 개별적인 폭발음이 재생될 것이다..

13. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한 지 확인하고 매터니에서 Play 버튼을 누릅니다. 이제 폭발음이 폭발 효과와 함께 재생될 것입니다.

14. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.27 회피 애니메이션 트랙(Evasion Animation Track), 파트 I: Key Creation

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이제 폭발이 발생할 때 시퀀스에서 애니메이션이 플레이 되거나 이를 조합하여 플레이 할 수 있고, 폭발을 피하는 애니메이션을 구현하였습니다.

Grunt 그룹을 우 클릭한 후 Add New Anim Control Track 을 선택합니다. 창이 나타나면 목록에서 Fullbody 슬롯을 선택하고 OK 를 누릅니다.


그림 21.95 – 새로운 animation control track 을 Grunt 그룹에 추가했다.

4. 타임 슬라이더를 Time=4.3으로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 창이 나타나면 목록에서 DvLt01을 선택하고 OK 를 누릅니다. 새 키를 우 클릭한 후 Set Play Rate 를 누릅니다. 이 애니메이션의 play rate 를 3.0으로 설정합니다. 이는 애니메이션의 속도를 증가시킵니다.

5. 타임 슬라이더를 Time=4.7으로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 창이 나타나면 목록에서 DvRt01 애니메이션을 선택하고 OK 를 누릅니다. 새 키를 우 클릭한 후 Set Play Rate 를 선택합니다. 이 애니메이션의 play rate 를 3.38로 설정합니다.

6. 타임 슬라이더를 Time=5.075로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 창이 나타나면 목록에서 DvLt01 애니메이션을 선택하고 OK 를 누릅니다. 새 키를 우 클릭한 후 Set Play Rate 를 누릅니다. 이 애니메이션의 play rate 를 3.25로 설정합니다.

7. 타임 슬라이더를 Time=5.45로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 창이 나타나면 목록에서 DvFd01 애니메이션을 선택하고 OK 를 누릅니다. 이 키를 우 클릭한 후 Set Play Rate 를 선택합니다. 이 애니메이션의 play rate 를 3.3으로 설정합니다.

8. 타임 슬라이더를 Time=5.83으로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 창이 나타나면 목록에서 Run_Fwd_Rdy_01 애니메이션을 선택하고 OK 를 누릅니다. 새 키를 우 클릭한 후 Set Play Rate 를 선택합니다. 이 애니메이션의 play rate 를 0.25로 설정합니다.


그림 21.96 – 마지막 애니메이션이 추가되었다.

9. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.28 회피 애니메이션 트랙(Evasion Animation Track), 파트 II: Curve Adjustment T

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이제 개별 애니메이션이 재생되는 키를 배치하고 이 트랙의 커브를 조절하여 애니메이션이 기본 애니메이션 트랙에 덮어 쓰기 되도록 할 것입니다.

트랙의 하부 우측에 있는 작은 박스를 클릭하여 두 번째 Anim Control track 의 커브 정보를 커브 에디터(Curve Editor)로 보내고 툴 바에 있는 Toggle Curve Editor 버튼을 눌러 커브 에디터를 엽니다. 현재 커브는 직선으로 나타날 것입니다.

4. [CTRL]키를 누른 상태에서 커브 위에 좌 클릭하여 커브상에 포인트를 Time=0.0에 0.0값으로 만듭니다. 이 포인트를 선택한 상태에서 커브 에디터의 툴 바에 있는 Constant tangent 버튼을 누릅니다.


그림 21.97 – Time=0.0에 constant 키를 만든다.

5. [CTRL]키를 누른 상태에서 커브 상에 좌 클릭하여 Time=4.3의 커브 상에 새 포인트를 만듭니다. 포인트를 우 클릭한 후 Set Value 를 선택해서 포인트 값을 1.0으로 설정합니다. 이 포인트를 선택한 상태에서 커브 에디터의 툴 바에 있는 Linear tangent 버튼을 누릅니다.

이는 이 트랙의 애니메이션이 Time=4.3에서 시작하는 기본 애니메이션 위에 덮어 쓰도록 하며 Time=4.3은 첫 번째 폭발이 발생하는 시점입니다.


그림 21.98 – 이 트랙의 애니메이션은 전에 만든 기본 트랙에 덮어쓰기 될 것이다.

6. [CTRL]키를 누른 상태에서 커브 상에 좌 클릭하여 Time=7.5의 커브 상에 1.0 값의 새로운 포인트를 만듭니다.

7. [CTRL]키를 누른 상태에서 커브 상에 좌 클릭하여 Time=5.85의 커브 상에 새로운 포인트를 만듭니다. 포인트를 우 클릭하고 Set Value 를 선택해서 이 포인트 값을 0.0으로 설정합니다.

이는 이 트랙의 애니메이션이 마지막 폭발 후에 기본 애니메이션과 합쳐지도록 합니다.

8. [CTRL]키를 누른 상태에서 커브 상에 좌 클릭하여 Time=10.0의 커브 상에 새 포인트를 만듭니다. 이 포인트를 우 클릭한 후 Set Value를 선택해서 이 포인트의 값을 1.0으로 설정합니다.

이는 이 트랙의 애니메이션은 캐릭터에만 영향을 주는 슬로 모션 형태의 이펙트를 만들어서 일정 시간 동안 기본 애니메이션과 천천히 조합되도록 합니다.


그림 21.99 – 최종 커브는 그림과 같은 형태가 되어야 한다.

9. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한 지 확인하고 매터니에서 Play 버튼을 누릅니다. 이제 캐릭터가 통로를 따라 달려갈 때 달리는 애니메이션이 연출되지만 폭발이 발생하면 왼쪽으로 구르기, 오른쪽으로 구르기, 그리고 다시 왼쪽으로 구리기를 한 후에 마지막으로 앞 구르기를 하게 될 것입니다. 캐릭터의 애니메이션 역시 최고 속도로 달리다가 폭발 후에 느리게 달리도록 블렌딩 됐습니다.

10. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.29 추가적인 애니메이션 트랙(Additional Animation Track), 파트 I: 키 배치(Key Placement)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이제 기본 애니메이션을 회피 애니메이션에 블렌딩 해서 3가지의 옆 구르기 애니메이션과 함께 앞 구리기 애니메이션 또한 블렌드를 시킬 것입니다. 이는 플레이어의 탄성이 플레이어를 해당 방향으로 움직이게 하기 때문에 이들 옆 구르기에 앞 구르기를 연결하기 위한 것입니다.

Grunt 그룹을 우 클릭한 후 Add New Anim Control Track 을 선택합니다. 창이 나타나면 목록에서 FullBody 슬롯을 선택하고 OK 를 누릅니다.


그림 21.100 – Grunt 그룹에 animation control track 을 하나 더 추가한다.

4. 타임 슬라이더를 Time=4.3으로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 창이 나타나면 목록에서 DvFd01 애니메이션을 선택하고 OK 를 누릅니다. 새 키를 우 클릭한 후 Set Play Rate 를 선택합니다. 이 애니메이션의 play rate 를 3.0으로 설정합니다.

5. 타임 슬라이더를 Time=4.7로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 창이 나타나면 목록에서 DvFd01 애니메이션을 선택하고 OK 를 누릅니다. 새 키를 우 클릭한 후 Set Play Rate 를 선택합니다. 이 애니메이션의 play rate 를 3.38로 설정합니다.

6. 타임 슬라이더를 Time=5.075로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 창이 나타나면 목록에서 DvFd01 애니메이션을 선택하고 OK 를 누릅니다. 새 키를 우 클릭한 후 Set Play Rate 를 선택합니다. 이 애니메이션의 play rate 를 3.25으로 설정합니다.

7. 지금까지의 과정을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.30 추가적인 애니메이션 트랙(Additional Animation Track), 파트 II: 커브 조절(Curve Adjustment)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이제 추가된 애니메이션에 대한 키를 배치하고 이 트랙에 대한 커브를 조절하여 애니메이션이 폭발을 피하는 애니메이션과 조합되도록 합니다.

트랙의 하부 우측에 있는 작은 박스를 클릭하여 세 번째 Anim Control track 의 커브 정보를 커브 에디터로 보내고, 툴 바에서 Toggle Curve Editor 버튼을 눌러 커브 에디터를 엽니다. 처음 시작하면 커브가 평평한 선으로 보입니다.


그림 21.101 – 커브가 처음에는 그림과 같이 보인다.

4. [CTRL]키를 누른 상태에서 커브 위에 좌 클릭하여 Time=4.3의 커브 상에 포인트를 0.0값으로 만듭니다. 이 포인트를 선택한 상태에서 커브 에디터의 툴 바에 있는 Constant tangent 버튼을 누릅니다.

5. [CTRL]키를 누른 상태에서 커브 위에 좌 클릭하여 Time=4.4의 커브 상에 포인트를 만듭니다. 이 포인트를 우 클릭한 후 Set Value 를 선택해서 포인트의 값을 0.5로 설정합니다.

6. [CTRL]키를 누른 상태에서 커브 위에 좌 클릭하여 Time=4.7의 커브 상에 포인트를 만듭니다. 이 포인트를 우 클릭한 후 Set Value 를 선택해서 포인트의 값을 0.0으로 설정합니다.

7. [CTRL]키를 누른 상태에서 커브 위에 좌 클릭하여 Time=4.8의 커브 상에 포인트를 만듭니다. 이 포인트를 우 클릭한 후 Set Value 를 선택해서 포인트의 값을 0.375로 설정합니다.

8. [CTRL]키를 누른 상태에서 커브 위에 좌 클릭하여 Time=5.075의 커브 상에 포인트를 만듭니다. 이 포인트를 우 클릭한 후 Set Value 를 선택해서 포인트의 값을 0.0으로 설정합니다.

9. [CTRL]키를 누른 상태에서 커브 위에 좌 클릭하여 Time=5.176의 커브 상에 포인트를 만듭니다. 이 포인트를 우 클릭한 후 Set Value 를 선택해서 포인트의 값을 0.25로 설정합니다.

10. [CTRL]키를 누른 상태에서 커브 위에 좌 클릭하여 Time=5.4의 커브 상에 포인트를 만듭니다. 이 포인트를 우 클릭한 후 Set Value 를 선택해서 포인트의 값을 0.0으로 설정합니다.


그림 21.102 – 최종 커브가 그림과 같아야 한다.

11. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한 지 확인하고 매터니에서 Play 버튼을 누릅니다. 차이점은 무척 미묘하지만 이는 애니메이션의 사실성을 강화합니다. 캐릭터의 애니메이션은 폭발 후에 빠른 속력으로 달리다가 천천히 달리도록 조합되어 있습니다.

12. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

튜토리얼 21.31 캐릭터 이동 마무리(Finalize Character Movement)

1. 이전 튜토리얼에 이어 계속하고 Cinematics_Demo 맵을 불러 옵니다.

2. 키즈멧을 열고 매터니 시퀀스에서 더블 클릭하여 매터니 에디터를 불러 옵니다.

3. 이제 폭발을 피하는 캐릭터 애니메이션이 만들어 질 것인데 이 애니메이션에 맞추어 캐릭터의 이동 트랙을 조절할 것입니다. 이동 트랙(movement track)이 선택되었는지 확인합니다.

타임 슬라이더를 Time=4.3으로 이동시키고 [ENTER]키를 눌러 키를 만듭니다. 이 키를 선택한 상태에서 뷰포트에서 캐릭터를 이동시켜서 통로의 중앙, 캐릭터의 오른쪽으로 48 유닛 정도 떨어진 위치에 배치합니다. 이는 폭발이 발생하는 위치에 캐릭터를 더 가까이 배치할 것입니다.


그림 21.103 – 첫 번째 키는 캐릭터를 오른쪽으로 이동시킨다.

4. 타임 슬라이더를 Time=4.7로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 선택한 상태에서 뷰포트에서 캐릭터를 이동시켜 통로 중앙의 캐릭터의 왼쪽에 48 유닛 정도 떨어지게 합니다.


그림 21.104 – 이는 캐릭터가 왼쪽으로 뛰도록 만든다.

5. 타임 슬라이더를 Time=5.075로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 키를 선택한 상태에서 뷰포트에서 캐릭터를 이동시켜 통로 중앙의 캐릭터의 오른쪽에 48 유닛 정도 떨어지게 합니다.

6. 타임 슬라이더를 Time=5.45로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 선택한 상태에서 뷰포트에서 캐릭터를 이동시켜 통로 중앙의 캐릭터의 왼쪽에 48 유닛 정도 떨어지게 합니다.

7. 타임 슬라이더를 Time=5.75로 이동시키고 [ENTER]키를 눌러 새 키를 만듭니다. 이 키를 선택한 상태에서 뷰포트에서 캐릭터를 이동시켜 통로의 중앙에 오도록 합니다.


그림 21.105 – 통로 중앙으로 캐릭터를 이동시킨다.

8. Perspective 뷰포트에서 실시간 프리뷰(realtime preview)가 가능한 지 확인하고 매터니에서 Play 버튼을 누릅니다. 캐릭터가 통로를 달려가면서 실제로 폭발을 피하거나 폭발에 영향을 받아 움직이게 됩니다.

9. 작업을 보존하기 위해서 맵을 저장합니다.

<<<< End of Tutorial >>>>

마지막으로 시네마틱 시퀀스를 만드는 것은 부정확한 기술이라 할 수 있습니다. 튜토리얼을 통해 익혔다고 하더라도 자신만의 방법으로 더 감각적으로 연출하고 미세한 조작이나 보다 많은 변경을 할 수 있다는 것을 알게 될 것입니다. 이는 오브젝트를 배치하고, 애니메이션의 타이밍을 선택하며 무엇보다도 자기 자신의 스타일을 어떻게 연출하느냐에 따라 달라질 것입니다. 자유롭게 실험하여 원하는 연출을 해 보십시오. 물론 연습도 중요합니다. 덧붙여서 효과적인 스토리텔러가 되기를 원한다면 비록 언리얼을 사용한다고 해도 여러분이 영화 촬영 기사라고 생각하십시오. 이는 비디오를 통한 영화 촬영과 스토리텔링을 공부하는데 도움이 될 것입니다.