카메라 셰이크(Camera Shake) 이펙트를 사용하면 레벨 시퀀스 또는 액터에 긴장감을 불러일으키는 카메라 셰이크를 추가할 수 있습니다.
카메라 셰이크는 시퀀스 편집 프로세스 동안이나 시퀀스 생성 후에 추가할 수 있습니다.
블루프린트 클래스를 사용하여 카메라 셰이크를 생성합니다. 그런 다음 카메라 셰이크 블루프린트 클래스를 프로젝트에서 액터에 어태치하거나 편집 프로세스 동안 시퀀스에 어태치할 수 있습니다.
카메라 셰이크 패턴에는 4가지가 있습니다.
펄린 노이즈 카메라 셰이크 패턴(Perlin Noise Camera Shake Pattern): 지정된 면적 및 주파수의 랜덤 포인트 블렌드를 기반으로 하는 노이즈 이펙트입니다. 큰 진동이나 가까운 거리의 폭발과 같은 고강도 카메라 셰이크에 유용합니다.
웨이브 오실레이터 카메라 셰이크 패턴(Wave Oscillator Camera Shake Pattern): 면적 및 주파수를 사용하여 카메라의 셰이크 패턴을 결정하는 진동 카메라 셰이크 이펙트입니다. 요동치는 보트나 환상적인 드리프트 이펙트 등 저강도 카메라 셰이크에 유용합니다.
시퀀스 카메라 셰이크 패턴(Sequence Camera Shake Pattern): 정밀한 핸드헬드 카메라 셰이크를 허용하는 시퀀스를 재생하는 이펙트입니다. 모션 캡처된 셰이크 또는 애니메이션 소프트웨어에서 임포트된 셰이크에 유용합니다.
카메라 셰이크 이펙트는 레벨 시퀀스 애니메이션에도 적용할 수 있습니다.
컴포짓 카메라 셰이크 패턴(Composite Camera Shake Pattern): 이 패턴은 다른 카메라 셰이크 패턴 위에 카메라 셰이크 이펙트를 추가합니다. 이 패턴을 사용하여 레이어에서 두 개 이상의 카메라 셰이프 이펙트를 조합할 수 있습니다.
펄린 노이즈 카메라 셰이크 패턴과 웨이브 오실레이터 카메라 셰이크 패턴은 모두 카메라 셰이프 이펙트의 위치, 회전, 필드 오브 뷰(Field Of View, FOV)에 대한 주파수와 진폭을 결정하여 생성됩니다. 편집을 통해 페이드 인 및 페이드 아웃을 위한 이펙트의 길이와 블렌드 인, 블렌드 아웃 시간을 결정할 수도 있습니다.
카메라의 회전은 롤(X), 피치(Y) 및 요(Z)에 의해 결정됩니다.
블루프린트 오브젝트 생성하기
콘텐츠 브라우저(Content Browser)에서 우클릭하고 블루프린트 클래스(Blueprint Class)를 선택합니다.
CameraShakeBase로 이동하여 선택(Select)을 클릭합니다.
카메라 셰이크(Camera Shake) 블루프린트 오브젝트를 명명합니다.
카메라 셰이크 섬네일을 더블클릭하여 셰이크 에디터를 엽니다.
루트 셰이크 패턴(Root Shake Pattern) 드롭다운 메뉴에서 펄린 노이즈 카메라 셰이크 패턴을 선택합니다. 셰이크 패턴이 선택되면 카메라 셰이크 에디터가 열립니다.
위치 면적 배수(Location Amplitude Multiplier)를 20으로 설정하고 위치 주파수 배수(Location Frequency Multiplier)를 5로 설정합니다.
경과시간(Duration)을 20으로 설정합니다.
컴파일(Compile) > 저장(Save)을 클릭합니다.
카메라가 20의 진폭으로 흔들립니다. 주파수 5는 초당 약 5회 정점(20유닛의 위치 이동)에 도달한다는 뜻입니다. 따라서 20초 동안 100회 정도 흔들립니다.
이펙트는 0.2초 동안 페이드 인 및 페이드 아웃됩니다(디폴트 페이드 인 및 아웃). 진폭이 클수록 흔들림이 강해집니다. 이는 발작 관련 질환이 있는 플레이어에게 문제가 될 수 있습니다.
진폭이 작으면 카메라 셰이크가 플레이어에게 문제가 될 가능성이 낮아집니다. 2~75 정도의 진폭이면 카메라 셰이크 패턴을 포함하는 시퀀스에 충분합니다.
시퀀스에 카메라 셰이크 이펙트 추가하기
카메라 셰이크 이펙트가 있는 시퀀스를 생성하여 보스 캐릭터나 게임플레이에 긴박감이나 거대한 느낌을 더할 수 있습니다.
콘텐츠 브라우저에서 우클릭하고 시네마틱(Cinematics) > 레벨 시퀀스(Level Sequence)를 선택하여 시퀀스를 생성합니다.
시퀀스 섬네일을 명명합니다.
시퀀스 섬네일을 더블클릭하여 시퀀스 에디터를 엽니다.
시퀀서와 컨트롤 릭 문서의 지침을 따라 시퀀스를 생성합니다.
CineCameraActor 옆에 있는 트랙 아이콘을 클릭하고 카메라 셰이크 > 블루프린트 클래스(생성한 카메라 셰이크 이펙트)를 선택합니다.
블루프린트 카메라 셰이크 클래스를 시퀀스로 옮기고 시퀀스 동안 셰이크 효과를 적용할 경과시간만큼 카메라 셰이크를 스트레치합니다.
저장(Save)을 클릭합니다.
이제 레벨 시퀀스에서 카메라 셰이크 이펙트가 시퀀스에 적용되었습니다.
시퀀스 편집 동안에도 시퀀스에 카메라 셰이크 이펙트를 추가할 수 있습니다. 위에서 설명한 워크플로와 매우 유사합니다.
'시퀀스 아웃라이너(Sequence Outliner)'에서 액터를 클릭합니다.
트랙 아이콘을 클릭하고 카메라 셰이크 > 제어됨(Controlled)을 선택합니다. 이렇게 하면 카메라 셰이크 패턴의 경과시간 세팅을 사용하여 켜고 끌 수 있는 셰이크를 생성할 수 있습니다. 경과시간을 0.0으로 설정하면 무한한 카메라 셰이크가 생성됩니다.
트리거(Trigger)를 선택하면 단순한 일회성 이벤트가 생성됩니다.
CameraSourceComponent 옆에 있는 트랙 아이콘을 클릭하고 다른 셰이크(Other Shake)를 선택합니다.
자동 셰이크(Automatic Shake)를 선택하면 카메라가 자동으로 흔들립니다.
생성한 카메라 셰이크 패턴을 선택합니다.
저장(Save)을 클릭합니다.
그러면 카메라 셰이크가 프로젝트에 추가되고 카메라 셰이크 이펙트의 '경과시간' 세팅에 설정된 시간만큼 재생됩니다.
액터에 카메라 셰이크 이펙트 추가하기
플레이어와 액터 사이의 거리를 기반으로 카메라 셰이크가 활성화되게 할 수 있습니다.
아웃라이너(Outliner) 패널에서 액터를 선택합니다.
디테일 패널에서 노드 아이콘을 클릭하고 자손 액터(Child Actor) > CameraShakeSourceActor > 선택을 선택합니다. 선택된 액터를 보여주는 뷰포트와 함께 카메라 셰이크 에디터가 열립니다.
내부 어테뉴에이션 반경(Inner Attenuation Radius)을 3으로 설정합니다. 셰이크는 이 소스의 3센티미터 이내에서만 완전히 표시됩니다.
카메라 셰이크 드롭다운 메뉴에서 카메라 셰이크 블루프린트(Camera Shake Blueprint)를 선택합니다.
자동 시작(Auto Start)을 선택하면 액터가 게임에 있을 때 카메라 셰이크가 자동으로 재생됩니다.
컴파일(Compile) > 저장(Save)을 클릭합니다.
이미지를 클릭하면 확대됩니다.
프로젝트의 액터와 연결된 블루프린트 클래스에 대해 섬네일이 생성됩니다.
프로젝트를 플레이테스트하면서 씬에서 플레이어와 액터 사이의 거리를 기반으로 하는 카메라 셰이크를 확인합니다. 플레이어가 가까울 때만 카메라가 흔들리게 하려면 '내부 어테뉴에이션 반경' 및 '외부 어테뉴에이션 반경(Outer Attenuation Radius)' 세팅을 10 미만으로 변경합니다.