#아드리

[Demo] Unity HDRP Interior Lighting 영상 포함 본문

Unity /Architecture

[Demo] Unity HDRP Interior Lighting 영상 포함

아두리두리 2020. 3. 16. 21:32

Unity HDRP로 구현된 Unity Korea Office_ Casual Meeting Room "BoraBora"

Unity HDRP로 구현된 Unity Korea Office 중 미팅 룸 하나를 선택해 간단히 인테리어 라이팅 튜토리얼을 써 보려 합니다.  

 

*이 Project에서는 Unity 2019.3 버전을 사용 할 예정입니다. 

 

Demo Project Download

 

Training PPT

Training.pdf
2.39MB


https://www.youtube.com/watch?v=KSzpQo_LJak

 

 

 

 

HDRP Setting

HDRP 프로젝트를 시작하는 방법이 크게 두 가지가 있습니다. 

  1. Unity가 제공하는 HDRP Template사용 

  2. Package Manager 에서 HDRP 패키지 다운로드해서 Manually 세팅

간편하게 시작하려면 Template을 사용하는 게 좋습니다만, Manually 세팅하는 법을 아는 것도 HDRP 프로젝트하시기 편리할 것이라 생각되어 두 가지 방법 모두 설명드리겠습니다. 

 

HDRP Template

  1. Unity Hub 열기

  2. High Definition RP 선택

  3. Project Name 및 파일 경로 지정

  4. 우측 하단의 Create 버튼 클릭

Unity Hub에서 HDRP Template 사용

 

HDRP Template은 Unity의 버전에 따라 HDRP 버번이 설치됩니다. 예를 들어, Unity 2019.2라면 HDRP 6.X 버전이 2019.3 이라면 7.X 버젼이 설치됩니다. HDRP Template은 기본 HDRP Setting이 되어 있어서, 좀 더 편리하게 프로젝트를 시작할 수 있습니다. 여기서 기본 세팅이라는 건 필요한 패키지가 미리 깔려있고 필요한 HDRP Asset이 생성되어 있음을 의미합니다. Template을 사용해서 프로젝트를 오픈하면 예제 Sample이 포함된 HDRP 프로젝트를 확인할 수 있습니다. 예제는 HDRP를 처음 접하시는 분들이 참고해서 보시면 좋을 것 같아요. 그리고 포함된 에셋은 실제 프로젝트할 때 써도 되고, 필요 없으면 지우셔서 에셋 폴더를 정리해 주시는 것도 방법일 것 같아요. 

 

Material Upgrade

HDRP부터는 Built-in Unity Rendering Pipeline과는 다른 Shader를 쓰기 때문에, 이를 호환해 주어야 합니다. 아래 그림과 같이, 스탠더드 쉐이더 메테리얼을 HDRP프로젝트에 사용했을 경우에 분홍색 언릿 셰이더를 사용해 표시가 됩니다. Note: HDRP는 Unity 빌트인, 스탠더드, 언릿(unlit) 머티리얼은 렌더링 되지 않습니다. 때문에, HDRP로 렌더링 하려면 메테리얼을 업그레이드해야 합니다.

 

HDRP에서 호환되지 않는 메테리얼은 분홍색 Unlit 메테리얼로 렌더링 된다.

메테리얼 변환 툴에 액세스는 Edit > Render Pipeline에서 합니다. 메뉴에서 몇 가지 업그레이드 옵션을 제공하는데, 여기서 "Upgrade Project Materials to High Definition Material"을 선택하면 프로젝트에서 업그레이드 가능한 머티리얼이 모두 업그레이드됩니다. 그리고 "Upgrade Selected Materials to High Definition Materials"는 Project 창에서 업그레이드할 머티리얼을 선택해서 업그레이 할 수 있습니다. 그리고 이 작업은 되돌릴 수 없으니 추후에 변경 가능성이 있다면 백업본을 만들어 두는 것이 좋겠습니다. 메테리얼이 변환되면 머티리얼 셰이더는 이제 "HDRP/lit"라고 지정되어 이제 Material Inspector에서 새로운 HDRP lit 셰이더 기능을 사용할 수 있게 됩니다. 그리고 커스텀 쉐이더 같은 경우에는 수동으로 포팅을 해야 해서 만약 프로젝트 중간에 변환을 해야 한다면 시간이 좀 소요될 수 있을 것 같아요. 

 

HDRP Wizard

HDRP Wizard는 유니티 프로젝트가 HDRP와 호환이 잘 되도록 도와주는 기능입니다.  HDRP Wizard를 열려면 Window > Render Pipeline으로 이동해서 HDRP Wizard를 선택하면 됩니다.

 

HDRP Wizard

창 위쪽에 현재 설치된 HDRP버전과 현재 Unity 버전과 호환되는 최신 버전의 HDRP를 보여주는 Information box가 있습니다. Populate / Reset 버튼을 누르게 되면 HDRP가 신을 렌더링 하는데 필요한 리소스로 Default Resource Folder를 채우게 됩니다. HDRP 패키지만 깔려있으면 Wizard 통해서 빠르게 HDRP 세팅을 할 수 있습니다.  그리고 Cofiguration을 체크할 수 있게 마크로 표시되어있고 잘못되어있으면 Fix버튼 눌러서 고칠 수 있습니다. HDRP +VR을 HDRP로 VR프로젝트를 할 경우 HDRP + DXR은  Ray-Tracing 프로젝트를 할 경우 사용하시면 됩니다. 그리고 아래에 보면 Material 업그레이드할 수 있는 Quick-link도 포함되어 있습니다. HDRP 프로젝트할 때 Wizard로 좀 더 쉽게 호환할 수 있어 프로젝트하실 때 같이 사용하면 좋을 것 같아요. 

 

HDRP Manual Setting

주로 Built-in Render Pipeline에서 HDRP로 프로젝트를 Upgrade 할 때 이 방법을 사용할 수 있을 것 같습니다. 

  1. Package Manager (Window> Package Manager) 열기.

  2. High Definition Render-Pipeline 패키지 다운로드. (안 보일 경우 왼쪽 상단의 Advanced> Show Preview Packages 선택 )

  3. HDRP Asset 생성하기. Asset > Create > Rendering > High Definition Render Pieline Asset 

  4. Graphic Setting 열기. (Menu: Edit > Project Settings > Graphics)

  5. 생성한 HDRP Asset을 Scriptable Redner Pipelines Setting에 지정해 주기. ( Radio 버튼 눌러서 지정 / Drag-Drop 해서 지정할 수 있다. )

Scriptable Render Pipeline에 HDRP Asset 지정

  6. 그대로 Project Setting에서 Player > Other Setting > Color Space > Gamma에서 Linear로 지정.  Note: HDRP에는 Color Space를 Linear만 서포트함. 

  7. HDRP Wizard 사용해서 나머지 Setting 해주기. 

 


https://www.youtube.com/watch?v=3eUNCqSj8hY

Meeting Room 구성

 

앞서 세팅한 HDRP 프로젝트에 머티리얼이 입혀진 유니티 미팅룸을 가져와서 간단히 환경설정이랑 라이팅을 구성해보겠습니다. 그리고 새롭게 추가된 Progressive GPU 라이트맵을 활용해서 미팅룸 Scene을 완성해 보겠습니다. 아래 링크에 데모 프로젝트 첨부해 놓았으니 참고해주세요. 

  • Demo Download 
  • 새로운 Scene을 생성해 보겠습니다. File > New Scene. 

  • Meeting Room Model을 Hierarchy 창으로 Drag-Drop. 

위 그림과 같이 Directional Light이 너무 강하게 들어가 있을 확률이 있습니다. 지금 잠시 Directional Light을 꺼두도록 하겠습니다. 그럼 환경광이 아무것도 없어서 그냥 검은색으로 보일 수 있습니다. 우선 Volume Setting을 해볼 텐데요. HDRP부터는 Volume Setting에서  환경설정, Visual Environment, Sky, Shadow Setting, 포스트 프로세싱(후처리 기능)과 같은 요소를 수정할 수 있습니다. Game Object > Volume, 또는 Hierachy 창에서 우클릭 Volume 해서 원하는 Volume 설정을 사용할 수 있습니다. 주로 Sky and Fog에서 기본 환경 세팅을 해주고, Global Volume은 전체적으로 들어가는 후처리 기능, Box, Sphere, Convex Volume은 Collider가 들어가 있어서 공간을 지정하고, 그 지정한 부분만 후처리 기능을 사용해야 할 때 사용할 수 있을 것 같아요. 그럼 Sky and Fog Volume을 사용해서 Environment를 설정해볼게요. 

 

  • Game Object > Volume > Sky & Fog Volume. 

  • Visual Envrionment에서 Sky > HDRI Sky 사용

Visual Environment에서 원하는 Sky Type을 먼저 설정하겠습니다. 메뉴를 보면 Gradient Sky, HDRI Sky, Physically Based Sky가 있습니다. Gradient Sky나 HDRI Sky는 빌트인 렌더 파이프라인에서도 있었는데, Physically Based Sky는 HDRP에 Preview로 새로 추가가 되었어요. 저는 HDRI SKY 옵션을 사용할 거예요. 이 기능은 컴포넌트 내에 설정된 이미지를 기반으로 환경 맵을 구성 합니다. HDRISky 컴포넌트는 볼륨 설정에 기본적으로 지정되어 있지 않아서 Inspector 탭 하단의 “Add Component Overrides..”를 클릭하고 “HDRI Sky”를 선택해야 컴포넌트를 사용할 수 있게 됩니다. 

 

  • Add Component Overrides.. 해서 HDRP Sky 컴포넌트 추가. 

이제 HDRI Sky 큐브 맵을 지정하여 실제와 같이 정확한 조명을 설정할 수 있도록 값을 변경할 수 있습니다. 저는 런던이 배경으로 된 소스를 사용할 건데요. HDRI 소스는 무료로 제공하는 웹사이트도 있고, 에셋스토어에 Unity가 제공하는 무료 에셋도 있으니 참고해주세요. Note: 제가 사용한 런던 배경은 저작권 이슈로 프로젝트 파일에 포함되어 있지 않습니다.

 

HDRI Sky 생성

Exposure이랑 Multiplier와 같이 컴포넌트 내에서 제공되는 조절기를 사용해서 밝기를 변경하고 조정할 수 있지만, 씬을 보완하는 HDRI 맵을 선택하는 것도 중요합니다. 

 

Fog 컴포넌트를 보시면 선택한 값을 기반으로 안개를 구성할 수 있는데 Volumetric Fog기능을 사용하려면, Volumetric 옵션을 선택하시면 되고, 선택하시면 하위 옵션을 확인하실 수 있습니다. 또 우측 상단에 톱니바퀴처럼 생긴 Advance Option을 클릭하시면 더 많은 세팅값을 조절할 수 있습니다. 하지만 우선은 안개는 사용하지 않을 거라서 잠시 꺼두도록 하겠습니다.

 

  • Fog Component Disable 해주기.

  • Lighting 창 열기. Window > Rendering > Lighting Setting  

이렇게 Environment 볼륨으로 생성된 프로파일은 환경광을 적용하기 위해 Environment Profile에 넣어줘야 합니다. 이 세팅은 Light Setting 창에서 할 수 있습니다. Lighting 창은 Inspector 창 옆에 고정시켜두도록 하겠습니다. Sky & Fog Volume에서 세팅한 프로파일은 제일 상단에 Environment(HDRP) Profile에 넣어주면 됩니다. 그리고 Static Lighting Sky는 내가 만든 HDRI Sky로 지정해 주면 HDRI 환경광이 적용이 됩니다.  

 

Lighting창에서 Environment 설정

다시 Sky & Fog Volume Inspector 창으로 가서 Exposure도 조절해 볼게요. HDRP는 Lux, Lumen, Candela 등의 실제 빛의 조명도를 단위로 사용합니다. 따라서 게임엔진에서 표현하기 위해서 실제 Exposure를 사용해 적절한 빛의 값으로 매핑하게 되는데 카메라의 조리개 값과 유사하게 동작합니다.

 

  • Exposure 컴포넌트 추가 및 Mode Automatic으로 설정. (아래 이미지 참고)

Exposure 컴포넌트로 노출 조절

Mode를 보면 Fixed, Automatic, Curve Mapping, Use Physical Camera 등이 있습니다.

 

  • Fixed : 일정한 노출값을 줄 수 있습니다. Scene 전체가 일정한 노출값일 때 유용하게 사용할 수 있습니다. ex) 움직이지 않는 공간에서 이미지를 찍을 때

  • Automatic : 화면의 밝기 수준에 따라 자동으로 노출값을 계산해 줍니다. 

  • Cuved Mapping: Automatic의 변형인데 Curve를 사용해서 노출값을 조절할 수 있다.

  • Use Physical Camera: DSLR 같은 카메라의 물리적 세팅 값을 기본으로 한다. Note: 이 옵션을 쓰려면 Main Camera에서 Link FOV to Physical Camera 체크한 다음 아래 Physical 옵션에서 ISO, Shtter Speed, Lens 등을 조절해서 사용할 수 있습니다. 

저는 여기서 자동 노출을 사용하고, Metering 모드도 Average 값을 사용하겠습니다. 노출값도 1.5 정도 올려서 밝게 하겠습니다.  

 

Lightmap

먼저 환경광으로만 Meeting Room에 Lightmap을 구워보도록 하겠습니다. 그전에 Lightmap을 구우려면 설정해 주어야 하는 것이 있습니다. 

 

1) Lightmap UV 생성하기. 

 

라이트맵을 구우려면 라이트맵 UVs가 필요해서 내 Model이 Lightmap UVs가 생성이 되어있는지 확인해야 합니다. Unity는 Lightmap UVs을 자동으로 생성해 주는 기능이 있기 때문에 이 기능을 켜주겠습니다. Project 창에서 Original Room Model 선택하고 Inspector 창에서 Generate Lightmap UVs기능을 체크해 주고 Apply 버튼을 눌러주세요. 

 

Generate Lightmap UVs 생성

2) 동적 모델 Static Option 활성화. 

 

다음으로,  Lightmap 구울 모델들은 움직이면 안돼서 Static 옵션을 켜주도록 하겠습니다. Room을 선택 한 다음에 Inspector 우측 상단에 Contribution GI와 반사 값을 계산해 주는 Reflection Probe Static을 체크해주겠습니다. 아래 같이 있는 Children들도 모두 Static옵션을 같게 하겠다는 내용도 체크하겠습니다. 

Static Option 활성화

3. Light > Lightmappitng Setting  

 

  • Lightmap Mixed Mode>  Baked Indirect 설정 

  • Lightmapper > Progressive GPU (Preview) 설정

  • Compressed Lightmap Uncheck

  • Ambient Occlusion 활성화  

  • Lightmap Parameters > Default - HighResolution 

Lighting에 가서 GPU Lightmap으로 구워보도록 하겠습니다. GPU가 새로 나왔기도 하고 속도도 빠르다고 해서 사용해 보고 싶었어요. 하지만 아직 Preview라서 잘 안되면 언제든 CPU Lightmapper을 사용하시면 될 것 같아요. Lightmap mixed mode를 baked indirect로 설정해 간접광만을 bake 하는 설정으로 굽겠습니다.  Lightmap setting에서 각 옵션은 라이트맵의 퀄리티에 관여하고 특히, AO를 활성화해주어야 보다 높은 GI가 표현이 되니 참고해주세요. Note:  Post Processing에서 SSAO를 활성화해주어도 AO가 어느 정도 표현되지만 각 오브젝트의 색상이 반영되고 보다 품질 높은 GI를 표현하려면 이렇게 AO를 bake 해서 표현하는 것이 높은 퀄리티를 만들어 낼 수 있습니다. 

 

  • Max Distance: AO의 크기 조절

  • Indirect Contribution: AO의 간접적인 짙음 조절 

  • Direct Contriution: AO의 직접적인 짙음 조절

4. Generate Lighting 

상단의 Baked Lightmap을 켜서 보면 Lightmap 어떻게 구워졌는지 확인할 수 있습니다. 그리고 Scene 모드를 Baked Lightmap으로 하면 Scene에서 환경광이 어떻게 구워졌는지 볼 수 있습니다. 

 

Reflection Probe

그럼 이제 반사 값도 넣어볼게요. 유니티에서는 반사를 표현하는 방법이 몇 가지 있는데요. 쉽고 가볍게 표현할 수 있는 방법은 Baked Reflection Probe를 사용하는 것입니다. Reflection Probe는 Reflection Probe의 관점에서 장면을 포착하고 그 결과를 텍스처로 저장합니다. 프로브 범위의 반사 Material은 프로브의 Texture을 쿼리하고 이 것을 사용해서 반사를 생성할 수 있습니다. 실시간으로도 사용할 수는 있는데 퍼포먼스가 낮아지기 때문에 참고해주세요. 그럼 Reflection Probe를 배치해 보겠습니다. 

 

  • Hierarchy창에서 우클릭 Light > Reflection Probe

실시간으로 켜서 어떻게 반사 값이 계산되는지 보면서 배치하는 게 편하니 일단 Realtime으로 사이즈 조절하는 것을 추천드려요. Use Influence Volume As Proxy Volume 체크해 주시면 더 자연스러운 반사 값을 확인 할 수 있습니다. 그리고 Per Axis Control에서 더 세세한 값들을 조절 할 수 있고 Capture Position도 조절해서 원하는 위치의 반사값을 이룰 수 있습니다. 어느 정도 세팅이 되었으면 Reflection Probe도 Bake로 바꿔 구워주시면 됩니다.

 

Reflection probe

Reflection Probe 외에도 반사 값 표현 방법 중에 하나인 Screen Space Reflection도 추가하는 방법 보여드리겠습니다. Sky and Fog Volume 에가서 add Overrides 한 다음에 Screen Space Reflection을 찾을 경우 현재의 HDRP Asset이 Screen Space Reflection을 서포트하지 않는다고 나와있습니다.

 

이걸 활성화시켜주려면 HDRP Setting 할 때 만들었던 HDRP Asset을 오픈하고 Reflections에서 Screen Space Reflection을 활성화할 수 있는 버튼을 클릭해주셔야 합니다.

HDRP Asset에서 Screen Space Reflection 활성화

설정해 주고 환경 세팅에 가 보면 이제 Screen Spaced Reflection을 사용할 수 있을 것입니다. 실시간 반사효과기 때문에 퍼포먼스를 좀 낮추니 유의하시면 좋을 것 같아요.

 

HDRP Lighting

이렇게 반사 값 세팅이 마무리되었으면 천장에 조명 한번 넣어 볼게요. 저는 Spotlight을 사용할 건데 Lightmap을 굽기 위해서 lighting setting mixed로 설정할게요.

 

  • Hierarchy 창 우클릭 > Lights > Spotlight 추가 및 위치 조절. 

  • Lighing Mode > Mixed

  • Outer Angle이랑 Inner Angle 조절

  • Intenstity, Color 조절 및 Reflector 옵션 체크

  • Light Cookie 설정

  • 그림자 설정

HDRP에서 조명은 Physical Light Units라는 시스템이 사용됩니다. 그래서 보이는 이런 Lumen이나 Candela 같은 단위는 스토어에서 전구를 살 때 보는 값처럼 실제 측정 가능한 값을 기반으로 하니 참고해서 Intensity 조정하면 될 것 같습니다.

지금 저는 밖이 밝은 낮이기 때문에 Spotlight의 밝기는 낮게 해 주겠습니다. 

Color 팔렛에서 색상 값 조정할 수 있고, 또 HDRP부터는 Color Temperature가 생겨서 온도 값을 조정해서 자체 광원의 색상을 정할 수도 있습니다. (Color Temperature Units은 Kelvins을 사용) Spotlight은 Advanced Option 클릭하셔서 Reflector의 기능을 사용할 수 있습니다. (Spotlight에만 있는 옵션) 그리고 아래는 다른 조명들이랑 마찬가지로 Specular 같은 것들을 조절할 수 있고, Dimmer라는 것도 있어서 뭐 이런 건 코딩으로 조명을 껐다 켜었다 할 때 사용할 수 있을 것 같아요. 

 

저는 여기에 Light Cookies도 사용해서 빛의 Shape도 좀 더 예쁘게 바꿔 볼게요. 이런 쿠키들도 Unity Asset Store에서 쉽게 구할 수 있습니다. HDRP 7.X부터는 일반 2D 텍스처를 cookie로 사용할 수 있으니 참고해주세요. [IES 프로파일의 3D cookie 텍스쳐나 레거시의 cookie type 텍스쳐는 지원하지 않습니다. 그리고 이 조명이 다른 물체에 그림자를 드리울 수 있도록 그림자도 켜주도록 하겠습니다. 퀄리티도 이왕이면 가장 높은 걸로 해줄게요. 

 

Spotlight 외 다른 조명들도 넣어서 확인해 보셔도 좋을 것 같아요. HDRP부터는 Area light도 Realtime으로 렌더링이 되어서 더욱더 편리하게 사용할 수 있습니다. x y축으로 길이 조절해서 주방이나 갤러리에서 많이 쓰이는 Line light으로도 사용할 수 있을 것 같아요.

 

Line Light 추가 된 모습

조명 세팅이 어느 정도 되었으면 Lighting Setting 가서 라이트 맵 구울게요. 

  • Lighting > Generate Lighting

Light Explorere

내 씬에 사용된 모든 Light들은 Light Explorer에서 쉽게 관리할 수 있습니다. 이 기능은 Window > Rendering > Light Exporer. 씬에서 일일이 찾지 않고 값을 수정할 수 있습니다. Type이나 그림자 등을 조작 할 수 있고 Reflection Probe, Light Probe, 또 Static Emssives도 이 창에서 관리 할 수 있습니다.

 

Unity Light Explorer

Anti-Aliasing

Camera에서 Inspector를 보면 Anti-Aliasing도 조절할 수 있습니다. 여러 종류에 Anti-Aliasing이 포함되어 있으니 프로젝트에 맞는 거 사용하시면 될 것 같아요. 주로 FXAA 빠르고 가볍게 사용할 수 있고, Temporal은 더 품질을 내야 할 때 사용할 수 있을 거 같아요. 저는 Temporal 사용할게요. 

 

Post Processing 

HDRP은 Default로 Post-Processing이 들어있습니다. Edit > Project Setting > HDRP Default Setting에 가보면 확인할 수 있어요. Default로 들어가 있긴 하지만 Volume Component에 Post-Processing을 기능을 추가하게 되면 이 기준으로 Effect가 들어갑니다. Hierarchy창에서 우클릭 Volume > Global Volume 하고 새로운 HDRP Post Processing Profile 만들어 주겠습니다. Add Overrides 해서 원하는 후처리 기능 넣어주세요.  

 

  • Hierarchy 창에서 우클릭 Volume > Global Volume 

  • Profile 생성 

  • Add Overrides > Post Processing > Color Adjustments 추가 

Color Adjustment 사용해서 색, 밝기, 채도 및 대비 조절할 수 있습니다. 

  • Add Overrides > Post Processing > Tonemapping 추가 

ACES(The Academy Color Encoding System)를 사용할 경우보다 영화처럼 보이도록 기준 ACES 톤 매퍼의 근사치를 적용합니다. Neutral 옵션보다 대비가 강해서 실제 색상, 색조, 채도에 영향을 줍니다. Custom 같은 경우에는 원하는 톤을 잡을 때 사용할 수 있습니다. Note: ACES의 개념에 대한 자세한 정보는 다음 링크에서 확인 가능합니다. 

ACES는 이미지 캡처에서 편집, VFX, 마스터링, 공개 프레젠테이션, 보관 및 향후 리마스터링에 이르기까지 영상 콘텐츠 제작의 비전(Look)을 일관되게 유지하는 색상 환경을 보장하기 위해 사용됩니다. 점점 더 다양한 디지털카메라와 사용 중인 형식으로 인해 발생하는 수많은 중요한 제작, 포스트 프로덕션 및 보관 문제를 해결하고 이에 따라 공유 디지털 이미지 파일을 사용한 전 세계 협업을 원활하게 진행하기 위해 사용됩니다.

  

  • Add Overrides > Post Processing > Bloom 추가 

블룸 광원에서 빛이 주위의 물체에 새는 것처럼 보이게 하는 광학 효과입니다.  빛을 좀 더 빛답게 퍼져 나갈 수 있도록 합니다. 고급진 라이팅이 중요한 프로젝트에는 꼭 필요한 Effect입니다. 

 

  • Add Overrides > Post Processing > Ambient Occlusion 추가 

Ambient Occulusion 같은 경우 서로 인접한 주름, 구멍, 교차점, 표면을 어둡게 만듭니다. 이러한 영역은 주변광을 가리거나 차단하기 때문에 실제로 더 어두워 보입니다. Note: Quality를 Custom으로 선택할 경우 Full Resolution으로 사용할 수 있습니다. 

  • Add Overrides > Post Processing > Vignette, Chromatic Abrration & Film Grain 추가 

저는 위와 같은 효과들을 넣었지만 저와 똑같은 효과 및 설정 값을 넣지 않으셔도 되니 여러 효과 테스트해서 원하는 Look을 만들어 보시면 좋을 것 같습니다.  


https://www.youtube.com/watch?v=OaOdsh7qL0w

Volumetric Lighting 

Volumetric Lighting은 입체적으로 대기 안의 빛을 표현합니다. Unity HDRP로 구현한 Short Film The Heretic에도 사용되었는데요. 사실 실제 유니티 오피스의 창문들은 모두 Tint가 강한 유리창이라 햇살이 들어와서 룸 안에 그림자가 드리우는 현상?은 본 적이 없는 것 같아요. 그래도 이번에 HDRP에 새롭게 추가된 Volumetric Lighting 기능을 살펴볼 겸, Directional Light 이용해서 햇살 들어오는 것처럼 구현해 보겠습니다.

 

Unity The Heretic: Volumetric Lighting

  • Hierarchy > Lights > Directional Light 추가

  • Directional Light 방향, 색 및 Intensity 조절

  • Volumetrics Enable

  • Directional Light Shadows Option 조절 

우선 Directional Light 방향을 조절해서 빛이 창문을 투과해서 들어오도록 설정할게요. 그림자가 표현되게 Shadow도 켜주고 High Quality로 해줄게요. Note: 만약 햇살이 창문을 투과를 못할 경우. 오피스 같은 경우에는 창문 모델링 자체가 두 겹으로 되어있어서 Light이 투과를 못하고 있기 때문에, Shadow Cast를 Off 시킬게요. 그럼 Directional Light이 미팅룸 안으로 들어오게 됩니다.  

 

또 아래에 Volumetric Enable 되어있는지 확인해주세요. Directional light 외에도 다른 Lights으로도 Volumetric lighting 하려면 이 컴포넌트 켜주시면 됩니다. 예) 위에서 세팅한 Spotlights 보면 Volumetric Lighting 켜져 있는데, 만약 영향을 받고 싶지 않다면 꺼주시면 됩니다. 하지만, Area Lights은 아직 이 기능을 서포트하지 않으니 참고해주세요.

 

Shadow도 Enable 해서 그림자를 드리울 수 있게 하고 Penumbra Tint Option을 켜줘서 Directional Light의 Penumbra(반음 영) 부분의 색을 좀 조절해 볼게요.

 

  • HDRP Asset > Volumetric Enable 

그리고 저희 HDRP Setting 할 때 만들었던 HDRP Asset에 가서 Lighting에 Volumetric을 체크해 줄게요. 미팅룸 자체가 작아서 High Quality도 체크하겠습니다.

 

  • Sky & Fog Volume > Fog Enable 

그다음에 Sky and Fog Volume 가서 아까 꺼두었던 Fog 켜줄게요. Fog Option 중에 Volumetric Fog check 해주시고, 필요에 따라 Advance Option 클릭하셔서 안개의 정도를 조절해 주세요.

 

  • Hierarchy 창에서 마우스 우클릭 > Rendering > Density Volume 추가  

그리고 이제 Volumetric 한 Effect를 넣기 위해  Density Volume도 추가 해 줄게요. Hierarchy 창에서 마우스 우클릭 Rendering > Density Volume. Density Volume을 미팅룸 안에 가져와서 보면 안개가 살짝 비추는 거 확인할 수 있습니다.

 

이제 미팅룸 전체적으로 사이즈를 조절해서 넣어도 되는데 만약 전체적으로 뿌연 느낌이 싫다면 창문 중심으로만 넣어주셔도 사이즈 조절해서 넣어주시면 됩니다. 그리고  Fog Distance랑 Single Scattering Albedo 색, Blending도 조절해주겠습니다. 그리고 Directional Light 움직여서 보면 햇살이 들어와서 나른한 느낌을 주는 Volumetric Lighting을 표현할 수 있습니다.

 

나뭇잎 사이로 퍼지는 Volumetric Light
Volumetric Lighting w/ Human Figure

건축 렌더링처럼 Human Figure은 넣어보고 싶고.. 컴포지팅하기 어렵네요. 미팅 룸 공간이 작아서 그런 거겠죠..? (예쁘게 하신 분.. 공유해주세요 :D) 

 

이렇게 잠깐 미팅룸 하나를 꾸며 보면서 HDRP 기능의 일부를 가볍게 경험해 보셨습니다. HDRP Manual도 참고하셔서 더 많은 기능 습득해서 더욱더 멋있는 프로젝트를 하시길 기대해 볼게요! 

 

반응형
Comments