Cine Camera Actor
실제 영화 카메라를 모사하는 ACineCameraActor의 FilmBack, Lens, Focus 시스템을 완전히 이해합니다
ACineCameraActor 개요
일반 카메라와 Cine 카메라의 차이
ACineCameraActor는 ACameraActor를 상속하며,
실제 영화/방송 카메라의 물리적 특성을 시뮬레이션하는 추가 설정을 제공합니다.
FilmBack(센서), Lens(렌즈), Focus(초점) 세 가지 핵심 시스템으로 구성됩니다.
AActor
ACameraActor // 기본 카메라 (FOV, AspectRatio)
ACineCameraActor // 시네마틱 카메라
// UCineCameraComponent 보유
// - FilmBack (센서 크기)
// - Lens Settings (초점거리, F-Stop)
// - Focus Settings (포커스 모드, 거리)
일반 ACameraActor는 단순히 FOV와 종횡비만 제어합니다. 반면 ACineCameraActor는 실제 카메라 센서 크기와 렌즈 초점거리를 기반으로 FOV를 계산하므로, 현실의 카메라 렌즈 세트를 정확히 재현할 수 있습니다.
FilmBack (센서 설정)
이미지 센서 크기가 화각에 미치는 영향
FilmBack은 카메라의 이미지 센서(또는 필름) 크기를 정의합니다. 센서 크기와 렌즈 초점거리의 조합이 최종 화각(FOV)을 결정합니다.
주요 FilmBack 프리셋
| 프리셋 | 센서 너비 (mm) | 센서 높이 (mm) | 용도 |
|---|---|---|---|
| Super 16mm | 12.42 | 7.41 | 인디 필름, 다큐멘터리 |
| Super 35mm | 24.89 | 18.66 | 할리우드 표준 (ARRI Alexa) |
| Full Frame 35mm | 36.00 | 24.00 | 풀프레임 DSLR (Canon 5D) |
| IMAX Digital | 70.41 | 52.63 | IMAX 대형 포맷 |
| 65mm ALEXA LF | 54.12 | 25.59 | 대형 포맷 시네마 |
// UCineCameraComponent의 FilmBack 프로퍼티
UCineCameraComponent* CineComp = CineCameraActor->GetCineCameraComponent();
// 커스텀 센서 크기 설정
CineComp->Filmback.SensorWidth = 36.0f; // mm
CineComp->Filmback.SensorHeight = 24.0f; // mm
// FOV 계산: FOV = 2 * atan(SensorWidth / (2 * FocalLength))
// 36mm 센서 + 50mm 렌즈 = 약 39.6도 수평 FOV
센서가 작을수록 같은 초점거리에서 화각이 좁아집니다. Super 35mm(24.89mm)에서 50mm 렌즈는 Full Frame(36mm)의 약 72mm에 해당하는 화각을 만듭니다. 이를 크롭 팩터(36/24.89 = 1.44x)라 합니다.
Lens & Focus 설정
초점거리, 조리개, 피사계 심도(DOF)
Lens Settings
| 파라미터 | 설명 | 범위 |
|---|---|---|
| CurrentFocalLength | 렌즈 초점거리 (mm) | 4mm ~ 1000mm |
| CurrentAperture (F-Stop) | 조리개 값 | f/1.0 ~ f/32 |
| MinFocalLength | 줌 최소 초점거리 | 렌즈 프리셋별 |
| MaxFocalLength | 줌 최대 초점거리 | 렌즈 프리셋별 |
| DiaphragmBladeCount | 조리개 날 수 | 4 ~ 16 |
Focus Settings (피사계 심도)
| Focus Mode | 설명 |
|---|---|
| Manual | ManualFocusDistance 값을 직접 지정 (시퀀서에서 키프레임 가능) |
| Tracking | 특정 Actor를 지정하면 해당 액터에 자동 포커스 유지 |
| Disable | DOF 비활성화, 전체 선명 |
UCineCameraComponent* Cam = CineCamera->GetCineCameraComponent();
// 렌즈 설정
Cam->CurrentFocalLength = 35.0f; // 35mm 렌즈
Cam->CurrentAperture = 1.4f; // f/1.4 (얕은 DOF)
// 포커스 설정 - Manual 모드
Cam->FocusSettings.FocusMethod = ECameraFocusMethod::Manual;
Cam->FocusSettings.ManualFocusDistance = 300.0f; // 3m 거리에 초점
// 포커스 설정 - Tracking 모드
Cam->FocusSettings.FocusMethod = ECameraFocusMethod::Tracking;
Cam->FocusSettings.TrackingFocusSettings.ActorToTrack = TargetActor;
Cam->FocusSettings.TrackingFocusSettings.RelativeOffset = FVector(0, 0, 80); // 눈높이 오프셋
Cinematic DOF는 Post Process에서 처리되며 상당한 GPU 비용이 발생합니다. 실시간 게임플레이에서는 r.DOF.Kernel.MaxBackgroundRadius, r.DOF.Kernel.MaxForegroundRadius 콘솔 변수로 보케 크기를 제한하는 것이 좋습니다.
시퀀서에서 카메라 활용
카메라 컷 트랙과 뷰파인더
Camera Cut Track
UMovieSceneCameraCutTrack은 시퀀서의 특수 트랙으로, 어느 카메라가 어느 시간에 활성화되는지 정의합니다. 하나의 시퀀스에 여러 카메라를 배치하고 Camera Cut으로 전환합니다.
카메라 작업 워크플로
- 시퀀서에서 Camera 아이콘 클릭 → "Add Cine Camera Actor" 선택
- Spawnable로 생성되어 시퀀스가 카메라를 관리
- Camera Cut 트랙에서 해당 카메라를 활성 카메라로 지정
- Pilot 모드(카메라 아이콘 클릭)로 뷰포트에서 카메라 시점 확인
- Transform, Focal Length, Focus Distance 등을 키프레임
시퀀서에서 "Spawnable" 카메라를 추가하면 별도의 레벨 배치 없이 시퀀스 내에서 카메라를 생성/관리할 수 있습니다. 이 방식은 시퀀스를 다른 레벨로 옮길 때에도 카메라가 함께 이동하므로 이식성이 뛰어납니다.
Look At Tracking
카메라의 Look At Tracking 컴포넌트를 활성화하면, 카메라가 특정 액터를 자동으로 추적하며 바라봅니다. 시퀀서에서 Actor To Track 프로퍼티를 키프레임하여 추적 대상을 전환할 수도 있습니다.
핵심 요약
- ACineCameraActor는 실제 영화 카메라의 물리적 특성(센서, 렌즈, 초점)을 시뮬레이션한다
- FilmBack은 센서 크기를 정의하며, Super 35mm(24.89mm)이 시네마틱 표준이다
- FOV는 센서 너비와 초점거리로 자동 계산된다:
FOV = 2 * atan(SensorWidth / (2 * FocalLength)) - Focus Mode는 Manual(직접 거리 지정)과 Tracking(액터 추적) 두 가지가 핵심이다
- 조리개(F-Stop) 값이 낮을수록 피사계 심도가 얕아지며 배경 흐림이 강해진다
- Camera Cut 트랙으로 여러 카메라 간 전환을 타임라인에서 제어한다
도전 과제
배운 내용을 직접 실습해보세요
Cine Camera Actor를 배치하고 Filmback(센서 크기), Focal Length(초점 거리), Aperture(조리개)를 조정하세요. 35mm, 50mm, 85mm 렌즈를 시뮬레이션하여 화각과 심도 차이를 비교하세요.
Focus Method를 Manual, Tracking, Disable로 각각 설정하세요. Tracking 모드에서 이동하는 캐릭터에 자동으로 초점이 맞춰지는 설정을 만드세요.
대화 씬을 위한 3대의 Cine Camera(정면, A측 오버숄더, B측 오버숄더)를 배치하고, 영화 촬영 기법에 맞게 구성하세요. Camera Cut Track으로 샷 전환을 연출하세요.