Post

2026-07-03 TIL (90일차)

2026-07-03 TIL (90일차)

[UE5] 트리거 기반 컷신 시스템 구축

언리얼 엔진 시네마틱 액터 기능 설명

  • Camera Shake Source Actor (카메라 셰이크 소스 액터)
    • 기능: 월드의 특정 위치를 기준으로 카메라 흔들림(Camera Shake) 효과를 발생시킵니다.
    • 활용: 폭발, 거대한 몬스터의 발소리, 지진 등의 효과를 연출할 때 주로 사용됩니다. 플레이어(또는 카메라)가 이 액터에 가까워질수록 화면 흔들림의 강도가 더 커지도록 거리에 따른 감쇠(Attenuation)를 설정할 수 있습니다.
  • Cine Camera Actor (시네 카메라 액터)
    • 기능: 일반 카메라와 달리, 실제 영화 촬영용 카메라를 물리적으로 시뮬레이션한 특수 카메라입니다.
    • 활용: 렌즈(Lens), 초점 거리(Focal Length), 조리개(Aperture), 필름백(Filmback) 등 실제 카메라의 속성을 세밀하게 제어할 수 있습니다. 이를 통해 피사계 심도(Depth of Field, 아웃포커싱 효과)를 정교하게 조절하여 사실적이고 시네마틱한 화면을 만들어냅니다.
  • Camera Rig Crane (카메라 릭 크레인)
    • 기능: 실제 촬영 현장에서 카메라를 매달아 높은 곳에서 찍거나 넓은 범위를 훑을 때 사용하는 카메라 크레인(지브, Jib) 장비를 가상으로 구현한 액터입니다.
    • 활용: 크레인 팔의 길이, 피치(위아래 각도), 요(좌우 회전) 값을 조절하여 부드럽고 웅장한 카메라 무빙(크레인 샷)을 애니메이션으로 쉽게 만들 수 있습니다. 보통 이 끝에 Cine Camera Actor를 달아 사용합니다.
  • Camera Rig Rail (카메라 릭 레일)
    • 기능: 카메라를 부착하여 정해진 경로를 따라 이동시킬 수 있는 가상의 레일(돌리 트랙)을 설치합니다.
    • 활용: 스플라인(Spline) 선을 사용해 레일의 모양을 구불구불하게 그리거나 닫힌 루프로 만들 수 있습니다. 걷거나 뛰는 움직임 없이, 카메라가 특정 피사체를 따라 매끄럽게 이동하는 부드러운 ‘트래킹 샷(Tracking Shot)’을 연출할 때 필수적입니다.
  • Level Sequence Actor (레벨 시퀀스 액터)
    • 기능: 언리얼 엔진의 애니메이션/영상 제작 툴인 ‘시퀀서(Sequencer)’로 만든 시네마틱 영상(레벨 시퀀스)을 월드에 배치하고 재생하는 컨트롤러 역할을 합니다.
    • 활용: 월드 내에 배치하여 게임 시작과 동시에 영상을 자동 재생(Auto Play)하게 하거나, 블루프린트와 연동하여 플레이어가 특정 조건을 만족했을 때 컷신이 재생되도록 이벤트를 연결하는 매개체로 사용됩니다.

트리거 기반 컷신 시스템 만들기 (튜토리얼 가이드)

플레이어가 특정 영역에 진입하면 자동으로 컷신이 재생되고, 컷신 종료 후 자연스럽게 다시 게임 플레이로 돌아오는 시스템을 구축하는 단계별 방법입니다.

Step 1. 컷신용 캐릭터 및 시퀀스 준비

  1. 캐릭터 정리 및 배치: BP_Boss를 열어 내부의 카메라 붐과 팔로우 카메라 컴포넌트를 삭제해 깔끔하게 만든 뒤, 컷신을 찍기 좋은 레벨 내 열린 공간에 드래그하여 배치합니다. (필요시 스켈레탈 메시는 매니퀸 등으로 변경)
  2. 시네 카메라 배치: 상단 툴바 메뉴(프로젝트에 추가)에서 Cine Camera Actor(시네 카메라 액터)를 검색해 레벨에 추가하고, BP_Boss 앞에 위치시킵니다.
  3. 시퀀스 생성: 상단 툴바에서 레벨 시퀀스 추가를 클릭하여 타임라인을 관리할 시퀀스 에셋을 생성합니다. (커브 창은 닫아둡니다.)

Step 2. 시퀀서를 활용한 카메라 애니메이션 제작

  1. 카메라 연동: 아웃라이너에 있는 Cine Camera Actor를 하단의 시퀀서 트랙 영역으로 드래그하여 추가합니다. (이때부터 컷신 화면을 실시간으로 확인 가능)
  2. 키프레임 애니메이션 설정:
    • 시퀀서 내부의 ‘트랜스폼(Transform)’ 트랙을 엽니다.
    • 첫 위치에서 키프레임(다이아몬드 아이콘)을 찍어 시작 장면을 만듭니다.
    • 타임라인 핀을 앞으로 이동시킨 후, 보스 주변의 새로운 각도로 카메라를 움직이고 두 번째 키프레임을 찍습니다.
    • 다시 타임라인 핀을 더 이동시키고, 최종 줌인 각도로 이동하여 세 번째 키프레임을 추가합니다. (간단한 3단 컷신 완성)
  3. 편집 종료: 타임라인을 드래그하여 미리보기를 마친 후, 뷰포트 상단의 ‘파일럿 모드 종료’ 버튼을 눌러 카메라 조작에서 빠져나옵니다.

Step 3. 충돌 영역 배치 및 블루프린트 연동

  1. 시퀀스 참조 가져오기: 레벨 블루프린트를 엽니다. 레벨 아웃라이너에서 방금 만든 ‘레벨 시퀀스 에셋’을 클릭해둔 상태로, 레벨 블루프린트 빈 공간을 우클릭하여 ‘시퀀스에 대한 참조 생성’ 노드를 만듭니다.
  2. 충돌 영역 배치: 레벨에 충돌할 영역을 추가하고, 플레이어가 컷신을 발동시킬 진입 지점에 배치합니다.
  3. 오버랩 이벤트 생성: 트리거 볼륨이 선택된 상태로 레벨 블루프린트에서 우클릭 후, ‘액터 시작 오버랩(On Actor Begin Overlap)’ 이벤트를 추가합니다.
  4. 반복 재생 방지: 플레이어가 상자를 들락날락할 때마다 컷신이 꼬이지 않도록, 오버랩 이벤트 바로 뒤에 ‘한 번만 실행(Do Once)’ 노드를 연결합니다.

Step 4. 플레이어 입력 제어 및 자동 재생 로직 완성

  1. 캐스트 확인: 오버랩 이벤트의 ‘Other Actor’ 핀을 내 플레이어 캐릭터(BP_ThirdPersonCharacter)로 형변환(Cast)하여 플레이어가 맞는지 판별합니다.
  2. 입력 차단: 캐스트 성공 핀에서 ‘입력 비활성화(Disable Input)’ 노드를 연결합니다. (진입 즉시 플레이어 조작이 고정됨)
  3. 컷신 재생: Step 3에서 가져온 레벨 시퀀스 참조 핀을 끌어내어 ‘시퀀스 재생(Play)’ 노드를 추가하고, 입력 비활성화 노드 뒤에 연결합니다.
  4. 재생 시간 동기화:
    • 재생 노드의 타겟 핀에서 ‘지속 시간 가져오기(Get Duration)’ 노드를 꺼냅니다.
    • 재생 노드의 실행 흐름 뒤에 ‘지연(Delay)’ 노드를 붙이고, 지속 시간 값을 지연 시간(Duration) 핀에 연결합니다. (컷신 길이만큼 정확히 대기)
  5. 조작 복구: 지연 노드가 끝나면 ‘입력 활성화(Enable Input)’ 노드를 연결해 캐릭터에게 제어권을 돌려줍니다.
This post is licensed under CC BY 4.0 by the author.