씬 구성 요소 - Light, Camera, Mesh
Light·Camera·Mesh의 종류와 상호작용을 비교하고 장면의 시점·조명·형상을 목적에 맞게 구성합니다.
지금까지 우리는 언리얼 엔진의 C++ 기본기와 게임플레이 로직의 핵심 요소들을 다루며 캐릭터가 움직이고 상호작용하는 기반을 다졌습니다.
이제 이러한 캐릭터가 활동할 월드(World)와 그 월드를 구성하는 씬(Scene)에 대해 이해할 시간입니다.
게임은 단순히 움직이는 캐릭터뿐만 아니라, 그 배경이 되는 환경, 즉 씬이 있어야 완성됩니다.
씬은 주로 빛(Light), 카메라(Camera), 그리고 메시(Mesh)라는 세 가지 핵심 구성 요소로 이루어져 있습니다.
이 절에서는 각 요소의 역할과 중요성을 자세히 살펴보겠습니다.
핵심 포인트: Light는 메시를 드러내고, Camera는 결과를 프레이밍하며, Mesh는 월드의 시각적 형태를 제공해 세 요소가 함께 씬 품질과 플레이 경험을 결정합니다.
메시는 형태를 제공하고, 빛은 형태를 드러내며, 카메라는 결과를 프레이밍해 플레이어에게 전달합니다.
- Mesh
Static Mesh와 Skeletal Mesh가 월드의 형태, 충돌, 애니메이션 기반을 담당합니다. geometry
- Light
Directional, Point, Spot, Rect Light가 가시성, 분위기, 그림자와 성능 비용을 결정합니다. visibility
- Camera
FPS, TPS, 시네마틱처럼 플레이어가 월드를 보는 관점과 정보량을 설계합니다. framing
Light (빛): 씬에 생명을 불어넣는 조명
빛은 3D 씬에서 가장 중요한 요소 중 하나입니다.
빛이 없으면 아무것도 보이지 않으며, 빛의 종류와 배치, 강도에 따라 씬의 분위기와 시각적 품질이 극적으로 달라집니다.
언리얼 엔진은 다양한 종류의 빛을 제공하며, 각기 다른 방식으로 씬을 밝힙니다.
주요 광원 타입
- Directional Light (방향성 광원): 태양처럼 무한히 멀리서 평행하게 들어오는 빛을 시뮬레이션합니다. 씬 전체에 동일한 방향으로 영향을 미치며, 주로 낮/밤 환경의 주광원으로 사용됩니다. 그림자의 방향과 강도를 결정하는 데 핵심적입니다.
- Point Light (점 광원): 전구처럼 한 점에서 사방으로 빛을 발산하는 광원입니다. 빛의 강도가 거리에 따라 감소하며, 로컬 영역을 밝히거나 특정 오브젝트를 강조할 때 유용합니다.
- Spot Light (스포트 광원): 손전등이나 자동차 헤드라이트처럼 원뿔 형태의 특정 영역을 비추는 빛입니다. 원뿔의 크기와 내부/외부 각도를 조절하여 빛이 퍼지는 방식을 제어할 수 있습니다.
- Rect Light (직사각형 광원): 창문이나 대형 스크린처럼 직사각형 면에서 빛을 방출하는 광원입니다. 주로 실내 환경에서 부드럽고 넓은 영역을 밝히는 데 사용되며, 사실적인 반사를 생성하는 데도 효과적입니다.
빛의 중요성
- 가시성: 오브젝트를 보이게 만듭니다.
- 분위기 및 감성: 밝고 화사한 분위기, 어둡고 음침한 분위기 등 씬의 전반적인 감성을 결정합니다.
- 입체감 및 형태: 빛과 그림자의 상호작용은 오브젝트의 형태와 깊이감을 강조하여 씬에 입체감을 부여합니다.
- 성능: 광원의 개수, 그림자 계산 방식, 빛의 반사 여부 등은 씬의 렌더링 성능에 큰 영향을 미칩니다. 언리얼 엔진은 정적인 빛(
Static), 스테이셔너리 빛(Stationary), 무빙 빛(Movable) 등 다양한 모빌리티(Mobility) 설정을 제공하여 성능과 퀄리티 사이의 균형을 조절할 수 있습니다.
Camera (카메라): 플레이어의 눈
카메라는 플레이어가 게임 월드를 보는 시점을 결정하는 요소입니다.
3D 씬에서 카메라는 촬영 장비와 같아서, 카메라의 위치, 방향, 시야각 등에 따라 플레이어가 경험하는 게임의 전망이 완전히 달라집니다.
카메라의 종류
- Player Camera (플레이어 카메라): 플레이어가 게임 월드를 바라보는 주된 시점입니다. 일반적으로
APlayerController가 소유하거나 제어하는APawn/ACharacter에 부착된UCameraComponent를 통해 구현됩니다. - Cinematic Camera (시네마틱 카메라): 게임 내 이벤트나 컷씬(Cutscene)에서 특정 연출을 위해 사용되는 카메라입니다. 플레이어의 제어를 받지 않고 미리 정의된 경로를 따라 움직이거나 특정 장면을 강조합니다.
카메라의 중요성
- 관점: 1인칭(FPS), 3인칭(TPS), 탑다운, 쿼터뷰 등 게임의 핵심 플레이 방식을 결정합니다.
- 정보 전달: 플레이어에게 필요한 정보를 시각적으로 전달하는 역할을 합니다.
- 몰입감: 적절한 카메라 연출은 플레이어의 몰입감을 높여줍니다.
- 제어:
APlayerController를 통해 카메라의 회전(Yaw, Pitch), 위치 등을 제어하여 플레이어가 월드를 탐색할 수 있도록 합니다.USpringArmComponent와 같은 컴포넌트는 캐릭터와 카메라 사이의 거리를 유지하거나 장애물 충돌 시 카메라를 자동으로 조절하는 등 유용한 기능을 제공합니다.
Mesh (메시): 씬을 구성하는 형태
이 다이어그램은 씬을 구성하는 Light, Camera, Mesh가 각각 무엇을 담당하고 서로 어떤 결과를 만드는지 정리합니다.
씬 구성은 무엇을 비추고 어디서 보며 무엇이 보이는지 역할별로 나누면 쉽다.
| 요소 | 역할 | 확인 기준 |
|---|---|---|
| Light | 장면의 밝기, 그림자, 분위기를 만든다 | 물체의 입체감과 경로가 읽힌다 |
| Camera | 플레이어가 보는 위치와 각도를 정한다 | 구도와 조작 기준이 맞다 |
| Mesh | 월드의 물체와 캐릭터 외형을 제공한다 | Static/Skeletal 구분과 충돌이 맞다 |
| Playable View | 빛, 시야, 형태가 합쳐져 한 화면이 된다 | 플레이 가능한 장면으로 읽힌다 |
메시(Mesh)는 3D 씬을 구성하는 가장 기본적인 시각적 형태입니다.
삼각형(Triangles)으로 이루어진 면들의 집합으로, 캐릭터, 건물, 나무, 바위, 무기 등 게임 월드의 모든 시각적 오브젝트를 표현합니다.
메시의 종류
- Static Mesh (스태틱 메시): 정적인 형태를 가지는 메시입니다. 게임 플레이 중에는 형태가 변하지 않고 고정되어 있습니다. 건물, 지형, 가구, 소품 등 대부분의 환경 오브젝트에 사용됩니다. 언리얼 엔진에서는
.FBX등의 포맷으로 외부 3D 모델링 툴에서 제작된 후 임포트됩니다. - Skeletal Mesh (스켈레탈 메시): 골격(Skeleton)을 가지고 애니메이션될 수 있는 메시입니다. 캐릭터, 몬스터, 팔다리가 있는 동식물 등 움직임과 애니메이션이 필요한 오브젝트에 사용됩니다. 스켈레톤의 각 뼈(Bone)를 움직여 메시의 형태를 변형하고 애니메이션을 만듭니다.
메시의 중요성
- 시각적 표현: 게임 월드의 모든 시각적 요소를 구성합니다.
- 충돌 감지: 메시의 형태는 충돌 판정에도 영향을 미치며,
UStaticMeshComponent나USkeletalMeshComponent자체에 충돌 설정을 적용할 수 있습니다. - 성능: 메시의 복잡도(삼각형 수), 재질(Material)의 복잡도 등은 렌더링 성능에 직접적인 영향을 미칩니다. LOD(Level of Detail)나 최적화된 메시 사용은 성능 관리에 필수적입니다.
- 재질(Material) 및 텍스처(Texture): 메시는 그 자체로 색상이나 표면 질감을 가지지 않습니다. 표면에 색상, 질감, 반사 등을 입히기 위해 재질(Material)과 텍스처(Texture)가 적용됩니다. 재질은 메시의 표면이 빛과 어떻게 상호작용할지 정의하며, 텍스처는 재질에 세부적인 색상이나 패턴을 부여합니다.
씬 구성의 상호작용
이 세 가지 핵심 요소는 독립적으로 존재하지 않고 서로 밀접하게 상호작용합니다.
- 빛은 메시의 표면에 닿아 색상과 형태를 드러내고 그림자를 드리웁니다.
- 카메라는 이 모든 빛과 메시의 상호작용을 포착하여 플레이어에게 보여줍니다.
- 메시는 씬의 시각적 기반을 제공하며, 빛의 영향을 받아 사실적인 모습을 갖춥니다.
언리얼 에디터의 뷰포트(Viewport)는 이러한 빛, 카메라, 메시의 조합을 실시간으로 보여주는 창입니다.
뷰포트에서 액터(Actor, 즉 씬에 배치된 오브젝트)를 배치하고, 각 액터에 부착된 메시 컴포넌트의 형태를 확인하며, 빛 액터를 조절하여 씬의 분위기를 조성하고, 카메라의 위치와 시야각을 변경하여 플레이어의 경험을 설계하게 됩니다.
아래 다이어그램은 Light, Camera, Mesh가 씬 제작 과정에서 어떤 책임을 나눠 맡고 어떤 순서로 점검하면 좋은지 정리한 것입니다.
형태가 있어야 빛이 읽히고, 카메라가 그 결과를 플레이 경험으로 고정합니다.
- 형태 배치 메시
콜리전이 플레이 공간을 제대로 만듭니다.
- 가시성 조정 광원 타입
강도로 형태가 읽히게 합니다.
- 시점 고정 카메라 프레임 안에 핵심 정보
들어옵니다.
- 비용 확인 동적 조명, 메시 복잡도, 재질 비용
같이 봅니다.
마지막으로 세 요소를 함께 점검할 수 있도록 씬 균형 체크리스트를 한 화면에 정리했습니다.
Mesh는 배치와 충돌의 기준을 만들고, Light는 표면을 읽히게 하며, Camera는 그 결과를 플레이어 경험으로 자른다.
- Mesh
Static / Skeletal 월드의 형태, 충돌 영역, 재질 적용 대상을 제공한다.
- Light
Static / Stationary / Movable 가시성, 그림자 방향, 분위기와 렌더링 비용을 결정한다.
- Camera
Player / Cinematic 시야각, 거리, 장애물 처리로 플레이어가 보는 정보를 선택한다.
- 형태
메시 스케일, 피벗, 콜리전이 플레이 공간과 맞는지 본다.
- 가시성
광원 타입과 Mobility가 그림자 품질과 비용에 맞는지 본다.
- 구도
카메라가 목표, 이동 방향, 위험 정보를 안정적으로 담는지 본다.
- 성능
동적 조명, 메시 복잡도, 재질 비용이 목표 프레임 안에 있는지 본다.
이제 언리얼 엔진 씬을 구성하는 가장 기본적이고 핵심적인 요소인 빛, 카메라, 메시의 역할과 중요성을 이해하셨을 것입니다.
마지막으로 Light 타입과 Mobility 선택 기준을 실제 씬 점검 순서에 맞춰 정리해 보세요.
조명 선택은 분위기보다 먼저 가시성, 시선 유도, 그림자 비용을 분리하는 작업입니다.
- Directional 태양, 달빛, 야외 주광
그림자 방향과 하늘광 균형
- Point 전구, 횃불, 국소 발광체 반경
감쇠로 과조명 방지
- Spot 손전등, 헤드라이트, 무대 조명
방향, 콘 각도, 피사체 거리
- Rect 창문, 모니터, 넓
실내 면광 면 크기와 반사 품질
Light, Camera, Mesh가 플레이 시점에서 서로 어떻게 확인되는지 마지막 판독 순서로 묶어 봅니다.
보이는 것, 보는 위치, 읽히게 하는 빛을 같이 잡으면 구성 오류를 빨리 찾는다.
| 구성 요소 | 정할 것 | 점검 질문 |
|---|---|---|
| Light | Directional, Point, Spot의 목적과 그림자 | 무엇을 드러내고 어떤 분위기를 만드는가 |
| Camera | 시점, 구도, 추적 방식 | 플레이어가 상호작용할 기준점이 맞는가 |
| Mesh | Static Mesh와 Skeletal Mesh의 배치 | 외형, 애니메이션, 충돌의 책임이 맞는가 |
| Interaction | C++로 필요한 컴포넌트를 제어한다 | 보이는 결과와 코드 제어가 연결되는가 |