게임 개발/학습 일지

Unreal 언리얼 부트캠프 - 사전캠프 12일차 / 머티리얼 & 라이팅

이개 2026. 2. 10. 17:31

머티리얼이란?

게임 오브젝트의 표면 특성을 결정하는 요소

 

사용할 머티리얼을 팹에서 다운받는다.

 

풀과 아스팔트 머티리얼

 

 

 

 

새 머티리얼 만들기

텍스처를 M_Landscape에 넣어준다.

1. 베이스컬러 텍스처

단순한 색상정보가 들어가 있는 텍스처

2. 라이팅 정보 텍스처

조명이 닿았을 때 튀어나온 부분들을 표현

3.질감 텍스처

엠비언트 오클루전, 거친 정도 등을 표현

 

Landscape Coords에 세 가지 머티리얼을 연결해준다.

 

 

다른 머티리얼 텍스처들도 한 그래프에 넣고 Landscape Layer Blend 노드를 생성한다.

레이어 인덱스를 추가한다.
4개 만든다.

A/O 는 마지막 R값, Roughness는 마지막 노드 G값에 있다.

 

블렌드 모드를 Masked로 설정해준다.
LandscapeVisibilityMask 추가
오파시티 마스크에 연결

랜드스케이프 비저빌리티 마스크는 랜드스케이프 전체의 투명도를 관리한다.

 

랜드스케이프 확인을 위해 폴리지 비표시
랜드스케이프 모드 진임 후 랜드스케이프 선택
페인트 모드-> 할당된 머티리얼에서 레이어 생성

 

+ 버튼 눌러 웨이트 블렌딩된 레이어(노멀)로 저장
전부 저장

 

칠해준다.
매핑 스케일을 키우고 저장하면 머티리얼이 확대된다.
차선 방향 바꾸려면 매핑 회전하면 됨

 

라이팅 조절하기

포스트 프로세스 볼륨 설정

미터링 모드를 Manual로 바꾸고 노출보정을 조절하면 노출을 변경할 수 있다.

오토로 해놓으면 전체적인 빛의 양을 자동으로 계산해서 캐릭터 위치마다 빛의 양이 달라지기 때문에 매뉴얼로 놓는다.

렌즈 플레어도 적용 가능하다.

 

Bloom으로 빛번짐 조절가능하다.

 

빛 조정은 보통 시네마틱 촬영하는데 사용한다.

Sunsky에서 Directional light(해 위치)의 Y회전을 변경해주면 해 지는 연출 가능

 

나나이트가 없으면 성능 이슈 가능성이 있어 표시되는 오류. 개발에 지장은 없다.
모든 콘텐츠에서 스태틱메시만 확인 후
나나이트 활성화해주면 경고가 사라진다.

 

스카이라이트의 경우 월드 영향을 끄면 간접광(반사광 등)을 끄게 된다.

 

SkyAtmosphere나 AtmosphereFog는 구름과 관련이 있다.

 

안개 효과 주기

 

스타터 콘텐츠에 있는 이펙트들을 활용할 수 있다.

[Step 0] Interact 입력 Mapping 추가

 

Edit → Project Settings → Input
Action Mappings에 Interact(키: E) 추가
E 키 이벤트를 블루프린트에서 찾기 위함.

 

 

 

머티리얼로 애니메이션 만들기

사인그래프를 사용해서 머티리얼에 반짝이는 효과를 준다.

 

새 머티리얼 생성 후 Tme, Sine 노드 추가

 

Color는 Vecotr parameter 노드이다.
컬러값을 사인에 곱해주면 반짝임이 생성된다.

 

 

1 누르고 그래프 클릭하면 상수노드가 생성되며, 우클릭해서 파라미터로 변환해준다.
오프셋을 추가하면 주기 시작점이 달라진다.
주기는 Time에 곱해주면 되며 높으면 빨라진다.
Ceil 노드는 0, 1만 들어오게하는 역할을 한다.
계산 후 multiply는 최대 강도를 강하게 만들어준다.
1-x는 값을 반전해줌

Fresnel(프레넬): 화면상에서 법선 벡터와 카메라 간의 각도차를 바탕으로 표면 가장자리 부분이 두드러진 값을 계산해주는 노드. 머티리얼의 가장자리만 빛나게 해준다고 보면 된다.

가장자리를 구분하게 해주는 노드 구성

 

머티리얼 인스턴스 생성
원본을 바꾸지 않고 파라미터를 바꿀 수 있다.

스태틱 메시를 하나 생성해서 확인한다.

 

인스턴스를 추가해서 파라미터를 조절할 수 있다.

 

화살표 조명 만들기

 

캐릭터에게 스포트라이트로 전등 달아주기

 


[Step 1] 문 또는 아이템 블루프린트 생성


새 Actor 블루프린트 생성 (BP_InteractableDoor 또는 BP_PickupItem)
Static Mesh 추가 (문 / 아이템 등으로 보이게 설정)
생성한 BP_InteractableDoor/BP_PickupItem 에디터에서
Components 탭의 Static Mesh 선택
Collision Presets → BlockAll 설정


Line Trace가 오브젝트를 정확히 감지합니다.
[Step 2] 상호작용 범위 구현 (Line Trace)
MyCharacter 블루프린트에 Line Trace by Channel 노드 추가
E 키 입력 → Line Trace → Hit된 오브젝트 태그 확인 → 이벤트 실행
blueprint
복사편집
E Pressed → LineTraceByChannel → BreakHitResult → Check Tag → Custom Event 실행


Plain Text
[Step 3] 문 열기 or 아이템 줍기 로직 추가
문이면: SetRelativeRotation으로 회전값 변경
아이템이면: Destroy Actor로 사라지게 처리
[Step 4] 태그 설정 & 테스트
상호작용 대상 블루프린트에 Tag: Interactable 설정
게임에서 캐릭터가 E 키를 눌러 상호작용 되는지 테스트