개발 낙서장

[UnrealEngine] UE4 스카이박스와 안개 배치 본문

UnrealEngine/Technic

[UnrealEngine] UE4 스카이박스와 안개 배치

권승준 2022. 3. 4. 01:19

지금까지 했던 게임 중 의도적으로 제거한 경우를 제외하고 배경이 없는 맵이 있었나? 아마 없었을 것이다. 어떠한 경우에서건 레벨에는 오브젝트도 중요하지만 배경 자체도 굉장히 중요한 요소이다. 아무리 아름답고 예쁜 꽃과 나무, 풀들이 있다고 하더라도 햇빛이나 달빛, 하늘이 없다면 굉장히 이질적인 느낌을 받을 것이다.

그래서 오늘은 레벨에서 햇빛과 하늘을 배치하는 방법을 알아보자.


레벨 제작

지오메트리와 Nav Mesh Bounds Volume만 배치한 레벨이다. 라이팅과 하늘이 없으니 굉장히 밋밋하다.

빈 레벨을 생성하고 지오메트리를 이용해 간단한 레벨을 만들었다. 프로젝트를 진행하면 적 NPC가 초록색으로 깔린 Nav MeshPatrol 하게 될 것이다.

근데 라이팅이 없으니 맵이 전체적으로 어두컴컴한 모습이다. 먼저 햇빛을 추가할 필요가 있어 보인다.


디렉셔널 라이트

Directional Light (디렉셔널 라이트)는 무한히 먼 거리에 있는 광원에서 오는 빛을 흉내 내는 것입니다. 즉 이 라이트로 인해 드리워지는 모든 그림자는 평행이 되며, 태양광 시뮬레이션에 이상적입니다.
출처 : [언리얼 엔진 공식 문서]

 

디렉셔널 라이트

디렉셔널 라이트에 대한 기초입니다.

docs.unrealengine.com

 

먼저 액터 배치 - 라이트 - 디렉셔널 라이트를 드래그 & 드롭해 맵에 배치해보자

 

라이트를 배치하니 맵에 전체적으로 광원이 비친 모습이다. 라이트는 어디에 배치해도 레벨이 받는 영향은 같으니 원하는 위치에 배치해두자.

 

위치에는 영향을 받지 않지만, 각도에는 영향을 받는다. Y축 회전을 -90.0°로 변경했더니 직사광선이 내리쬐는듯한 라이팅이 형성되었다.

이렇게 디렉셔널 라이팅을 통해 햇빛은 해결했지만 여전히 맵 주변이 까만색이다. 실제 하늘과 같은 풍경을 만들려면 엔진 콘텐츠에 있는 BP_Sky_Sphere을 활용하면 된다.

 

엔진 콘텐츠에서 'sky'를 검색해 BP_Sky_Sphere를 찾아 레벨에 배치하자. 만약 엔진 콘텐츠가 보이지 않는다면 우측 하단에 있는 '뷰 옵션'을 클릭해 '엔진 콘텐츠 표시'를 체크해주자.

 

BP_Sky_Sphere를 배치해주니 맵이 전체적으로 환해지고 노을빛이 생겼다. 그런데 내가 원하던 하늘은 푸른 하늘인데 지금은 세상 종말 직전의 하늘 같다.

 

디테일 패널의 기본/디폴트 항목 중 Directional Light Actor라는 항목이 있는데, 이 항목을 아까 추가한 DirectionalLight로 설정하자.

 

이렇게 하니 푸른 하늘과 구름이 자동으로 생겼다. 이 작업은 DirectionalLight의 피치 각도를 태양의 높이로 보고, 시각이 자동으로 설정되어 푸른 하늘이 만들어지게 하는 작업이다.

 

추가적으로 하늘에 빛의 산란, 안개 등을 넣고 싶다면 비주얼 이펙트에서 적절히 조합해 추가해주면 된다. 위의 그림은 약간의 안개 효과를 주기 위해 에트머스페릭 포그를 추가한 하늘의 모습이다. 큰 차이는 없지만 이런 사소한 디테일들이 모여서 좋은 그림을 만들어낸다고 생각한다.

Comments