오늘 학습 진행 내용
2-3 콜리전
콜리전은 액터가 서로 부딪히고 캐릭터가 벽을 만나서 막히는 등의 물리적 상호작용 오버랩 충돌 이벤트
이런 교차와 충돌을 결정해주는 핵심 시스템이 콜리전
콜리전 채널
오브젝트 채널과 트레이스 채널 기반으로 동작
채널은 오버랩(Overlap), 블록(Block), 무시(Ignore) 중 하나로 설정돼, 서로 마주쳤을 때 어떻게 반응할지를 정함
Object Channel 예시 : WorldStatic, WorldDynamic, Pawn, Vehicle 등
Trace Channel 예시 : Visibility, Camera 등 레이캐스트(레이저 쏴서 물건이 어디있는지) 용도로 쓰이는 채널
프로젝트 세팅에서 확인
Edit -> Project Setting으로 이동
Engine -> Collision 섹션에서 Object Channels / Trace Channels / Presets 확인
사용자가 원하는 충돌 규칙을 추가 정의 가능
콜리전 변경해보기
블루프린트 클래스 -> Static Mesh의 디테일 패널에서 콜리전 프리셋 변경을 통해서 변경 가능
No Collision 상태일 경우 충돌 무시하고 통과 가능
Custom으로 수정할 경우 오브젝트 반응에서 선택을 통해서 무시하고자 하는 것들 체크해서 설정 가능
콜리전 옵션에서
Physics Simulation과 Simulation Generates Hit Events 를 체크함으로써 자체적으로 충돌할 때 이벤트 발동 가능
스태틱 메시 콜리전 형태 변경

해당 뷰포트에서 collision 선택해서 콜리전 형태 확인 가능
스태틱 메시 콜리전 형태 변경할 경우에 에셋을 더블 클릭
스태틱 메시 뷰포트 왼쪽 상단 표시에서 Simple collision 선택해서 형태 확인 가능
Collision 버튼 클릭해서 기존 콜리전 제거 후

Auto Convex Collision 선택해서 Static mesh 모양에 맞춘 콜리전 형태 생성 가능

Hull Count, Max Hull Verts, Hull Precision 옵션 조절해서 형태 세밀하게 조정 가능
2-4 환경 디자인 - 랜드스케이프 & 폴리지
환경 디자인
게임의 전반적인 분위기와 플레이어의 몰입감을 결정짓는 핵심 요소
게임 세계의 배경을 단순한 이미지 이상의 스토리와 감성을 전달하는 살아있는 무대
환경 디자인의 역할
감성 전달 : 조명, 색감, 분위기 연출을 통해 플레이어에게 정서적 경험을 선사
내러티브 강화 : 배경 자체가 스토리의 한 요소, 세계관 자연스럽게 표현
플레이어 몰입 : 세심하게 구성된 환경은 플레이어의 몰입도 높이는 중요한 요소
핵심 구성 요소
조명과 컬러 팔레트 : 시간대, 기후, 감정 상태 등을 반영하는 요소, 환경의 전체적인 느낌 좌우
구조와 배치 : 건물, 길, 자연 요소의 배치는 게임 내 탐험의 흐름과 상호작용 결정
디테일링 : 소품,잔디, 바위, 나무 등 작은 디테일이 현실감 부여
환경 디자인은 단순한 배경 제작을 넘어, 게임의 내러티브와 감서을 전달하는 강력한 도구
클라이언트 개발자는 디자인 결과물 받아서 실제로 구현필요함으로 어느 정도의 지식 필요
랜드스케이프 모드
디자인 하고 싶은 레퍼런스 디자인 가져오기
주요 기능
지형 조각 : 산, 계곡, 평지 자유롭게 조형
텍스처 페인팅 : 각 지형에 어울리는 재질 적용
대규모 환경 구성 : 한 번에 넓은 영역의 지형을 생성하고 편집, 오픈 월드 게임 제작에 최적
랜드스케이프용 프로젝트 생성 후

Bp_SunSky라는 블루 프린트 생성 후 하늘과 관련된 액터들 추가
모드에서 랜드스케이프 모드 선택 후 컴포넌트 수, 섹션 크기를 조정해서 규모를 조절 가능
랜드 스케이프 모드 내 여러가지 도구를 사용해서 랜드 스케이프 내 지형 조절 혹은 새로운 요소들 배치 가능
사용할 에셋
스태틱 메시
변형 없이 고정된 3D 모델
구성 요소
메시 데이터 : 3D 모델의 형상과 구조를 정의하는 데이터
콜리전 데이터 : 게임 내 물리적 상호작용을 위한 충돌 영역 정보를 포함
재질(Material) : 표면의 색상, 반사, 질감 등 시각적 특성을 결정
다른 프로젝트의 에셋을 프로젝트로 가져올 경우에는
컨텐츠 브라우저에서 선택해서 Asset Action -> Migrate을 통해서 현재 프로젝트의 Content 폴더로 가져오는 것이 가능
폴리지 모드
폴리지 모드는 자연스러운 식생 및 소규모 오브젝트를 대량 배치할 수 있게 해주는 모드
폴리지 모드의 핵심 기능
대량 배치 : 수많은 오브젝트를 자동으로 분포시켜 자연스로운 환경을 조성
세부 조절 : 밀도, 크기, 회전, 기울기 등 다양한 옵션을 통해 각 요소의 배치를 조절
퍼포먼스 최적화 : 효율적인 배치 방식으로 게임의 퍼포먼스를 유지
건물 배치
모드에서 폴리지 모드 선택 -> 폴리지-> 액터 폴리지 선택해서 새로운 폴리지들을 생성 -> 페인트 모드를 선택해서 생성된 폴리지들 선택해서 뷰포트에서 마우스를 따라 반원 생성 표 시 떴을 때 배치 가능
배치 시 선택 옵션들
Denssity/1Kuu : 반경 안에 생성될 액터의 수
Radius : 생성되는 액터 사이의 거리
Scaling : 생성되는 액터의 크기, 스케일의 최소, 최댓값 사이로 랜덤하게 배치
Align to Normal : 체크하면 땅과 같은 각도로 폴리지 생성
식생
fab에서 식물 관련 에셋 다운 받아서 사용
폴리지 모드에서 +폴리지 클릭해서 import한 폴리지 선택 또는 원하는 폴리지가 없는 경우 Static Mesh Foliage 클릭해서 폴리지 생성
2-5. 환경 디자인 - 머티리얼 & 라이팅
머티리얼
머리티리얼은 게임 오브젝트의 표면 특성을 결정하는 중요한 요소
머티리얼의 역할
표면 표현 : 금속, 유리, 나무, 플라스틱 등 다양한 재질을 사실적으로 표현
빛의 상호 작용 : 조명에 따른 반사, 굴절, 그림자 효과를 통해 현실감을 부여
효과 구현: 노멀 맵, 스페큘러, 메탈릭 등 세밀한 속성을 통해 복잡한 시각 효과를 구현
랜드스케이프 마무리
커스텀 머티리얼 생성
적장한 풀 에셋 2개, 도로 질감 구현할 에셋 다운로드
최상위 폴더에서 Material 선택해서 -> 새로운 Material 생성
에셋의 텍스처 정보
컬러 정보(Albedo) : 베이스 컬러
물체의 색상 정보가 저장된 텍스처
조명, 그림자 등의 영향을 받지 않는 상태의 순수한 정보
라이팅 정보(Normal Map) :
미세한 굴곡을 표현하는 텍스처
조명이 닿았을 때, 튀어나온 부분은 밝고, 패인 부분은 어둡게 표현됨.
패킹 텍스쳐(Packed Texture) :
성능 최적화를 위해 개별 텍스쳐를 하나로 합쳐놓은 상태
AO(Ambient Occlusion), Roughness, Metalness 등의 정보가 들어있다.
새로 생성한 Material 그래프에서 LandscapeLayerCoords 노드 생성(여러개의 텍스쳐 한번에 사용하도록 맵핑하는데 사용)
각 텍스쳐 노드들의 UVs 핀 연결(노드에서 적용 텍스쳐들의 크기,회전,반복 수 조절 가능)
사용할 3개의 모든 Material 텍스쳐 연 결 후 각 레이어들 결합해서 LandscapeLayerBlend 노드에 레이어 별 이름 지정 해서 사용
메티리얼 속성 블렌드
생성한 Layer Blend 노드를 각각 Base Color, Normal Map, A/O, Roughness 지정
텍스처 노드들과 블렌드 노드 연결
BaseColor 텍스쳐 -> Base Color 노드
Normal Map 텍스쳐 -> Normal Map 노드
패킹 텍스쳐 노드의 R -> A/O(엠비언트 오클루전 노드)
패킹 텍스쳐 녿의 G -> Roughness 노드
Material의 기본 옵션 중 Blend Mode에서 Masked 선택하면 머티리얼 노드의 오파시티 마스크 활성화 -> Landscape Visibility Mask 노드 생성 후 추가(랜드스케이프의 투명도를 관리)
랜드스케이프 머티리얼 적용
뷰포트에서 랜드스케이프 선택 후 Default Phys Material에 생성한 Material 적용 가능
랜드스케이프에 할당된 Material 레이어 별로 사용 위해서
랜드스케이프 모드 -> Paint 에서 패널 아래 할당된 Layers에서 레이어 추가, 웨이트 블렌딩된 레이어(노멀) 클릭 레이어 정보 저장
랜드 스케이프 내부 레이어 노드에서 디테일 패널에서 머티리얼 사이즈, 반복 수 변경하면서 적용
라이팅
라이팅은 게임 분위기를 결정짓는 핵심 요소
적절한 조명 설정은 게임 환경에 생명력을 불어넣어, 플레이어 몰입감 극대화
디렉셔널 라이트, 포인트 라이트, 스포트 라이트 등 다양한 조명 옵션을 활용해서 각 상황에 맞는 분위기를 연출
포스트 프로세스 볼륨
플레이어의 카메라에 여러가지 효과를 줄 수 있는 매우 효과적인 툴, 주로 시네마틱 카메라와 함께 사용
포스트 포르세스 볼륨 생성 후 Infinite Extent(Unbound) 체크하면 레벨 전체에 효과 적용
전체 레벨에 적용된 라이팅 처리 방식 여러 가지 존재
Lens 옵션-> Exposure을 Manual로 설정하면 값 고정되어
노출보정 자동으로 처리하지 않고 일관된 라이팅값을 보여줌
Lens Flares를 활성화 시키면 빛을 바라봤을 때 카메라에 빛의 산란이 발생함
디렉셔널 라이트
디렉셔널 라이트의 회전값 변경하면 햇빛의 각도 조절 가능
스카이 라이트
스카이 라이트의 월드 영향, 간접광 강도 옵션 조절하여 전체적인 라이팅 양과 분위기 변경
Exponential Height Fog 액터 추가하면 레벨에 안개 추가
디테일 추가
컨텐츠 브라우저에서 +추가 -> Add Feature or Content Pack -> Starting Content 추가하면 시작용 기본 컨텐츠 추가 가능
fab에서 다운 받는 것도 가능
사전 캠프 퀘스트
1. 레벨 생성 및 기본 오브젝트 배치
왜 중요한가요?
Unreal Engine의 가장 핵심적인 작업은 3D 공간을 구성하는 것입니다. 레벨을 구성하고 오브젝트를 배치하는 과정은 모든 프로젝트의 출발점이며, 이후 조명, 캐릭터 이동, 인터랙션 등의 기능들이 모두 이 공간 위에서 구현됩니다.
개념 바로 알기
레벨(Level)이란?
Unreal Engine에서 "레벨"은 게임 내 하나의 맵 또는 공간을 의미합니다.
하나의 프로젝트 안에 여러 개의 레벨이 있을 수 있고, 각각 독립된 씬처럼 작동합니다.
Static Mesh란?
Static Mesh는 움직이지 않는 3D 오브젝트(예: 벽, 바닥, 건물 등)를 의미합니다.
모든 레벨 구성은 다양한 Static Mesh를 조합해 완성됩니다.
오늘 배운 개념 요약
레벨의 생성부터 레벨 내에 기본적인 Shapes 타입의 액터들(Cube,Sphere,Cylinder 등) 배치 및 액터들 크기 조정(Scale 값 조정)을 통해서 액터 원하는 형태 구현
Static Mash는 움직이지 않는 3D 오브젝트를 의미하고 해당 Static Mash 컴포넌트에 에셋을 추가하는 형태로 입히고 싶은 형태를 추가하는 것이 가능
뷰포트 내 카메라 조작을 통해서 시점 및 여러 각도를 통해서 배치 제대로 됬는지 확인 및 잘못 배치된 경우 해당 오브젝트들 조정하면서 수정하는 방법에 대한 개념
구현 과정 요약 (스크린샷 + 간단 설명)

[Step 2] 바닥 만들기
Place Actors 패널에서 Cube 선택
바닥 역할로 사용할 큐브를 배치하고 Scale을 아래처럼 조정
X: 20, Y: 20, Z: 0.5

[Step 3] 벽 만들기
Cube를 4개 더 추가해서 네 방향에 벽처럼 배치
각 벽은 높이(Z)를 3.0, 길이(X 또는 Y)는 20으로 설정

[Step 4]
오브젝트 배치 연습
테이블이나 의자처럼 보이도록 작은 큐브를 만들어 배치
다양한 Mesh(예: Cylinder, Sphere)로 오브젝트 감각 익히기
탁자와 침대 구성
그리고 탁자 옆에 큐브(Scale X=6,Y=4,Z=1), 큐브(Scale X=1,Y=4,Z=2), 구(Scale X=1.5, Y=2,Z=1) 2개를 배치해서 침대 위에 배개 2개가 놓인 형태를 구현
[Step 5] 카메라 시점 바꾸기
뷰포트 조작 (마우스 우클릭 + W/A/S/D)으로 공간 둘러보기
오브젝트 위치와 크기 확인, 어색하면 수정해보기



배치한 오브젝트들 다양한 각도로 보면서 제대로 배치되었는지 크기는 어색한 점이 없는지 체크