라이트맵과 라이트 프로브에 대해 총 정리하는 시간을 가져보고자 합니다.
지금까지 공부한 내용은 위 포스팅들을 참고해 주세요.
라이트 맵 굽는 방법
먼저, 라이트맵을 굽기 위해서는 라이팅 탭에 들어가셔서 라이팅 세팅 어셋을 새롭게 만드셔야 합니다.
기존에 라이팅 세팅 해둔 게 있다면 불러오셔서 사용하시면 됩니다.
라이팅 세팅은 다음과 같은 정보들을 포함하고 있습니다.
사진을 보시다시피 (좌), (우) 모습은 동일하다는 것을 볼 수 있습니다.
따라서, 라이팅 세팅에서 프로퍼티를 수정하든, 라이팅 탭에서 프로퍼티를 수정하든 동일한 결과를 낼 수 있습니다.
Realtime Global Ilumination 옵션을 활성화할 경우 라이트 맵을 구울 때 전역 조명에 대한 정보도 계산합니다.
Realtime Global Ilumination을 사용할 경우 퍼포먼스 부담이 높기 때문에 성능 최적화를 위해 Baked Global Ilunmination과 Light Probe를 사용하여 실시간 전역 조명과 같은 효과를 연출할 수 있습니다.
GI는 직접광(Direct), 반사광(InDirect) 등의 Light Data를 가지고 있습니다.
여기서 주의할 점은, Baked Global Ilunmination를 사용한다고 Light Mode를 Baked로 할 경우 동적으로 움직이는 객체의 그림자는 사라지게 됩니다.
왜냐하면 Baked Mode는 라이트 맵에 구워진 그림자 Data만 사용하겠다는 뜻이므로 동적오브젝트의 경우 라이트 맵에 그림자를 굽지 않았기 때문에 그림자가 사라지게 됩니다.
따라서, 동적으로 움직이는 객체의 그림자는 나오게 하고 싶고, 움직이지 않는 정적인 객체의 그림자는 라이트 맵을 구워서 사용하고 싶다면 Light Mode는 Mixed로 설정하셔야 합니다.
라이트 맵 굽는 방법에는 총 3가지 방법이 있다고 소개드렸습니다.
라이팅 모드 | GI 라이트맵에 저장 | 그림자 라이트맵에 저장 | 정적 오브젝트의 그림자 계산 |
Baked Indirect | 저장함 | 저장하지 않음 | 실시간 계산 |
Subtractive | 저장함 | 저장함 | 저장하지 않음 |
Shadowmask | 저장함 | 저장하지 않음 | 별도의 Shadowmask 텍스처로 저장 |
그 외 라이트맵을 구울 때 알아두셔야 하는 프로퍼티들에 대해 정리해 봤습니다.
Property | Description |
Progressive Updates | 활성화하면 현재 보이는 (화면?)텍셀에 먼저 변경 내용을 적용한 후 뷰 밖에 있는 텍셀에 변경 내용을 적용합니다. |
Multiple Importance Sampling | 잘 모르는 부분이라 생략... |
Direct Sample Count | 직접 조명 계산에 사용하는 샘플 수를 제어합니다. |
Indirect Sample Count | 간접 조명 계산에 사용하는 샘플 수를 제어합니다. |
Environment Sample Count | 잘 모르는 부분이라 생략... |
Light Probe Sample Multiplier | 값이 높을수록 라이트 프로브의 품질이 향상되지만 베이크 시간이 증가합니다. |
Min Bounce | 바운스 수의 최소값을 설정합니다. |
Max Bounce | 바운스 수의 최대값을 설정합니다. |
Filter Mode | 포스트 프로세싱 효과를 적용하는 방식을 설정하며, Direct, Indirect, Ambient Occlusion 타겟에 대해 분할된 라이트맵을 조절합니다. |
라이트 프로브 적용방법
라이트 프로브를 설치하신 후에는 반드시 라이트맵을 새로 구워야 합니다.
절대 PPL이 아님을 강조하며 말씀드리자면, 비싼 에셋들은 그만큼 가치가 있어서 제가 직접 하지 않고 주로 에셋을 이용해서 개발을 하는 편입니다...
사실 처음에 개발할 땐 "왜 돈 주고 에셋을 사용해! 내가 직접 하면 되지! " 이런 마인드였으나
에셋의 위대함을 알게된 이후, 절대 혼자 힘으로 모든 것을 해결하려 하지 않습니다.
라이트 프로브의 경우도 마찬가집니다.
라이트프로브를 백날 수동으로 설치하는 것보다 원클릭으로 자동으로 라이트 프로브 설계하는 것이 더 훌륭하며 시간 단축에도 엄청난 기여를 합니다.