1. 라이트 소스 텍스쳐 사용하기 : HDRLIGHTSTUDIO
- 단순하게 면으로 떨어지는 것들을 텍스쳐의 질감을 통해 라이트 디테일을 살려줌
- 사용 시 포토샵으로 캔버스에 맞게 라이트 소스를 늘리고 뒷 배경은 검정색으로 처리
- 저장할 땐 flatten Image로 만들어야 EXR로 쉽게 저장 가능



- 언리얼 엔진에 불러와서 상세창으로 열어보면 Mip Gen Settings → NoMinmaps로 설정되어 있어야 선명한 이미지를 얻을 수 있음
- 머티리얼을 생성해서 베이스 컬러로 연결해 사용
- 빛이 나는 걸 더 살리기 위해서 Multiply와 Emissive Color를 연결하고 바깥에서 조정할 수 있는 파라미터 값도 설정
- 머티리얼 인스턴스를 생성해 조명값 파라미터 조절이 가능하도록 함




2. 라이트 에셋 내 조명 셋팅

- 해당 메쉬를 클릭한 상태로 BP_Light_01이라는 블루프린트 Actor 만들기
- 상세창 안에 조명 Mesh를 넣고 위치가 모두 0으로 되어있는지 확인하고 해당 Static Mesh 하위에 Rect Light를 넣어 설정하기


- 디테일을 위해 light_set도 블루프린트 클래스로 만들기
- Rect Light를 light_set의 Static Mesh 하위에 넣고 다음과 같이 설정
- 디테일한 라이트 정보 값을 넣어주기 위해서 'Source Texture' 슬롯에 HDRLIGHTSTUDIO의 수정해놓은 소스를 넣음
- 머티리얼도 넣어주기


- 기존 메쉬는 삭제하고 블루프린트 light_set으로 대체해서 넣기. Location은 모두 0으로 설정

3. IES
- 실제 조명 데이터를 기반으로 사실적인 질감의 라이팅을 만들기 위해서는 IES가 필요
- 빛의 세기를 커브값으로 정의하는 데이터를 사실적인 기준에 의해 제공해 주는 라이브러리

- IES 파일을 다운로드 받아서 Content browser에 드래그 앤 드롭
- 블루프린트 내 Rect Light의 IES Texture에 해당 텍스쳐 파일 넣기


- 적용함으로써 아래 두번째 사진과 같이 현실감있는 조명 효과를 구현할 수 있음


4. 스튜디오 라이팅 구성하기
1) 렌더링 셋팅(Unreal Engine 5.3 기준, ProjectSettings)
Rendering
Global Illumination 간접광을 표현하는 구성 방식 |
Reflection 거울 반사. 빛이 반사되는 처리가 자동차에서는 중요한 포인트 |
사실적인 표현을 위해 Lumen에서 Standalone Ray Traced로 설정 변경 |
디테일을 살리기 위해 Lumen에서 Standalone Ray Traced로 설정 변경 |

- Lumen : Use Hardware Ray Tracing when available 체크(중요)
- 하드웨어에서 레이트레이싱 가속을 사용하겠다는 것
- Lumen : High Quality Translucency Reflections 체크
- 사실적이고 더 품질이 좋은 Reflections을 만듦
- Hardware Ray Tracing이 내 Support Hardware Ray Tracing 체크
- 가장 중요한 포인트
- Hardware Ray Tracing이 지원되는 그래픽카드를 사용해야 함
- RTX 그래픽 카드를 사용해야 함
- 소프트한 그림자의 표현과 스카이라이트에서 오는 사실적인 간접광을 위해서 Ray Traced Shadows, Ray Traced Skylight 꼭 체크


Windows
- DirectX 12를 제대로 활용하기 위해서 SM6를 체크해야 제대로 Ray Tracing의 모든 기능을 사용할 수 있음

2) 플러그인
- HDRI Backdrop으로 조명의 환경이 간접광을 만들어 낼 수 있도록 함

3) HDRI를 사용한 간접광
- 조명에 의한 직접광이 아닌 환경에 의한 이미지에서 조명을 넣어 소프트한 환경 만들기
- Local한 스피어를 반 구 형태로 만들어서 거기에 Projection 한 기능
- 좀 더 로컬한 조명의 방향들을 표한할 수 있음
- HDRI Backdrop을 넣고 바닥 아래로 숨기고 Studio 환경의 HDRI 이미지 적용


- Poly Haven에서 언리얼에서 사용할 HDRI 이미지를 쓰기 위해 HDR 포맷의 이미지 다운로드
- Texture Cube라고 떠야 HDRI 조명으로 사용 가능
- 상세창에서 NoMinMaps으로 설정해 깨끗하고 선명한 이미지로 사용
- 조명에 묻는 은은한 느낌으로 Intensity를 0.45로 설정




5. 다양한 조명 구성하기
Lighting Channel
Rect Light
- 차에만 Reflection 영향을 주도록 할 수 있음
- Place Actors 패널을 꺼내 Rect Light를 생성
- Lighting Channels를 1로 설정


- Car의 Lighting Channels도 1로 설정
- 차에만 Rect Light가 적용된 것을 확인
- Barn Door는 0으로 설정, Width는 쭉 늘려 조명이 보는 각도에 맞춰 배치
- 복붙해서 좀 더 긴 부분의 Rect Light도 넣어 다양하게 구성



Point Light
- 굵기감을 줄 수 있는 반사체를 만들 수 있음
- Point Light를 생성해 Source Radius를 5로 설정하고 Length를 늘려 90도로 회전
- Light Channels를 1로 해서 차에만 적용되도록 함

6. 조명값 세팅하기(Samples Per Pixel)
1) Post Process Volume
- 고품질 렌더링을 위한 조명 셋팅
- Samples 값 셋팅 : 추후에 명령어 창에서 수정 가능하기에 일단 8로 설정
- Ray Tracing Global Illumination → Samples Per Pixel : 8
- Ray Tracing Reflections → Samples Per Pixel : 8
- Ray Tracing Translucency → Samples Per Pixel : 8
- Ray Tracing Ambient Occulsion → Samples Per Pixel : 8




2) Light / HDRI Backdrop
- RectLight, PointLight에서 Ray 검색 후, Ray Tracing의 Sample Per Pixel 항목을 4로 수정
- Blueprint 내에 있는 Light 들 모두 동일하게 수정하기



- HDRIBackdrop의 Skylight에서 ray 검색 후, Ray Tracing의 Sample Per Pixel 항목을 8로 수정
- Skylight의 경우 부하가 많이 걸리기 때문에 쉐도우 표현을 제거하고 싶다면, Light 내 Cast Ray Traced Shadows → Disabled로 처리


3) 한 레벨에 여러 자동차 모델을 변경하기
- 자동차 블루프린트 클래스 파일 두 개를 Outliner에 위치하도록 함
- 새로 가져온 자동차에 아까 적용한 조명 셋팅이 적용되도록 Light Channels를 1로 지정함

- 상황에 따라 필요한 부분만 렌더할 수 있는 셋팅
- Empty Level을 생성(LV_Car_01, LV_Car_02) → 오로지 관련된 메쉬나 관리해야 할 부분들만 넣을 것
- Levels 패널에 해당 레벨 두 개를 드래그 앤 드롭
- Outliner에서 자동차 블루프린트 클래스를 잘라내기하고, Levels 내 Car_01을 더블 클릭해서 여기 Outliner에 붙여넣기



필요한 부분만 렌더링
- 렌더링 할 부분의 레벨 우클릭 → Change Streaming Method → Always Loaded
- 눈이 켜져 있어도 파란 점이 있으면 렌더링 할 때 렌더가 되지 않음


7. 렌더링 준비하기
1) 시퀀서 생성
- 시퀀서를 생성하면 Persistent Level 안에 넣어 관리하는 것이 좋음(다른 곳에 위치해 있으면 여기로 옮기기)

2) 프리뷰 이미지 생성하기
- 지금 보고 있는 화면을 렌더링 한다면 High Resolution Screenshot으로 캡쳐 → Screenshot Size Multiplier : 2
- 선명하게 보고 싶다면 Screen Percentage : 120(20% 더 선명)하고 캡쳐 → Screenshot Size Multiplier : 1
- 보이는 그대로 캡쳐하기 때문에 피봇이나 게임모드로 모이는 모든 요소들을 안 보이게 설정할 것



3) 렌더링 셋팅
Anti-aliasing
- 이미지의 가장자리를 부드럽게 하고, 계단 현상을 줄이는 데에 중요한 역할을 함. 2배수로 올려주기
Spatial Sample Count | Temporal Sample Count |
각 프레임 내에서 픽셀의 샘플 수를 결정하여 이미지의 부드러움을 향상시키는 설정. 선명하고 정확한, 깔끔한 이미지를 만들 때 사용 |
여러 프레임에 걸쳐 샘플링 해 움직임이 있는 객체의 잔상을 줄이고 품질을 높이는 설정. 정확한 모션 블러를 만들어줘서 모션을 만들 때 사용하면 좋음. 이미지 작업에는 큰 의미는 없음 |

Camera(그냥 사용)
- 모션 블러나 오버스캔(스크린에 여백을 줘서 해상도를 크게 뽑는 → 후반 작업에서 컴포지팅할 때 사용)에 관여됨

Game Overrides(그냥 사용)
- 게임에서 활성화되는 최적화 기능들을 렌더에 맞게 꺼주는 기능

Console Variables
- PostProcessVolume에서 셋팅한 값이 적게 되었을 때 이 부분을 렌더할 때만 높게 설정해줄 수 있음
r.Tonemapper.Sharpen | 기본은 0.25로 설정. 좀 더 선명한 이미지를 얻을 수 있음 |
r.RayTracing.Shadows.SmaplesPerPixel | 기본 -1로 설정, 일괄적으로 값을 고정시켜줄 수 있음. 16정도 올리면 쉐도우에 대한 노이즈도 해소됨 |
r.ScreenPercentage | 기본 100. 렌더할 때는 더 높게 뽑음. 높게 해도 좋지만 크래쉬가 날 수 있기 때문에 110~120정도 설정 |
r.DepthOfFieldQuality | 4로 설정 |
r.MotionBlurQuality | 동적인 영상인 경우에 올려주면 좋음. 일단 4로 설정 |

High Resolution
- 그래픽 카드의 용량이 작을 때, 렌더의 영역을 쪼개서 한 그래픽 카드에서 뽑아낼 수 있는 렌더의 한계를 극복할 수 있는 편법
- 타일 렌더링의 개념 → 여러개로 쪼개서 디테일한 하나의 이미지로 합쳐서 고 해상도의 이미지를 만들 수 있음

High Resolution에서 제한이 있는 기능들
- 타일 렌더링의 기본 개념은 여러 이미지를 쪼개서 뽑은 다음에 그 경계면을 블렌딩 처리해 하나의 이미지로 만듦
- 엣지 면에 차이가 있는 렌더링 방식은 사용 불가
- 대표적으로 Screen Space 기반의 렌더 기능들, Bloom, Lens Flares, Exposure
- Ray Tracing Reflections, Translucency의 Max Roughness를 1로 올리기
- Bloom효과. Standard 로 바꾸고 아예 꺼주기. 최종 렌더 후 후반에서 넣을 것
- Lens Flares 효과
- Exposure 은 Manual로 고정 시켜 작업하기. 수치값은 맞춰서 설정
- Ray Tracing Reflections, Translucency의 Max Roughness를 1로 올리기

저장 방식
- png나 빛에 대한 정보를 담고 있는 exr로 뽑는 것을 권장
- 좀 더 디테일한 색 값을 받아서 색 보정을 하고 싶은 경우에는 exr로 뽑기
'4. 언리얼 엔진(Unreal Engine) 공부 > Automotive Cinematic 스터디 [심화]' 카테고리의 다른 글
2. [Automotive Cinematic] 자동차 리깅 세팅 (0) | 2024.12.16 |
---|