[Unity] 14. 정당하게 월급루팡 합시다. Light Bake 중이거든요.

Using Unity;
Using C#;
Using Programming;


이전 시간에 Static 에 대해 소개하면서 Light Bake를 잠깐 언급했습니다.

하지만 Light Bake를 몰라서, 디자이너가 아니라서, 포기하시는 분들이 있습니다.

다시한번 말씀드리지만 개발자로서 FPS를 확보하기 위한 가장 좋은 방법은
(가만 생각해보니.. 제가 VR개발자라서 아닐 수도 있겠다 싶기도 합니다...ㅇ_ㅇ)

Light Bake를 통한 GPU부하 감소입니다. (디자이너가 라이트베이크를 안해줘서 느립니다!)





Light Bake 적용방법을 소개하겠습니다.

1. 정적오브젝트에 이전에 소개했던것 처럼 Static을 활성화 시키고 라이트를 배치합니다.

















오른쪽 인스펙터의 Light를 보시면 활성화된 RealLight에 의해 오른쪽에서 강렼한 빛으로

오른쪽 물체는 그림자가 짙게 생긴걸 볼 수 있습니다.





2. 이제 BakedLight 를 켜서 그림자가 생긴 부분에 라이트를 배치시켜 밝혀줍니다.



















이렇게 밝혀준 후에 Generate Lighting을 진행하면 정적오브젝트에 라이트맵핑이 적용되고,

임시로 밝혀준 BakedLight 는 꺼주면 됩니다.





3. 결과물을 잘 살펴봅니다.


































라이트맵 데이터가 잘 생성되었고 씬을 둘러 봅니다.


















임시로 켜두었던 BakedLight 는 껐습니다.

하지만 라이트맵핑 데이터에 의해 그림자는 사라졌습니다.

저렇게 구워진 오브젝트는 다른곳에 이동해서도, 어두운곳에서도 밝게 빛난 상태가 됩니다.

또한, 실시간 라이트보다 더 예쁘게 구워질 수 있고요.





이렇게 Static을 이용해 라이트빌드를 하게되면

프레임확보는 되지만 메모리를 쓰게되므로 적당한 선에서 구워야 합니다.
(최적화를 위해 마구잡이로 Static을 해서는 안되는 이유기도 합니다.. 굽는데 오래도 걸림..)

정적 객체를 잘 구별하여 최적화도 하고 디자인 퀄리티도 잡는 프로그래머가 됩시다!









댓글