1. Light
- 전 3d쿼터뷰 시리즈에서 Light시스템에 대해 짧게 언급한 적 있다.
- 빛에 대해 자세히 알아보자.
- 빛은 많은 연산량을 필요로 하기 때문에, 최대한 적은 연산으로 다루는 방법을 알아봐야 함.
1-2. Directional Light
- 빛 연산 최적화는 곧 게임 최적화로 직결되는 문제로, 가급적 연산을 최소하기 위해 유니티에서 사용하는 Light.
- 빛이 확산되는 것이 아닌 일직선상으로 진행되ㅕㅁ, 이를 통해 폴리곤의 법선벡터에 대한 연산을 최소화 가능.
2-1. Bake
- Directional Light을 사용해도 최적화면에서 충분하지가 않음.
- 따라서 유니티 엔진은 컴파일 단계에서 빛에 대한 연산을 미리 계산하는 방식으로 Bake를 사용.
2-2. Bake 방법
- Lightiing Settings Asset 설정.
- Lighting Mode - Shadowmask: 그림자까지 bake.
- Lighting Mode- Substractive: 그림자 x.
- 움직이지 않을 object를 static true텍스트.
- Light Mode - Baked
-> 만약, Mixed로 할 경우 Lighting Mode Substractive 필요.텍스트
- Generate Lighting 클릭
3-1.Reflection Probe
- 빛의 Bake와 마찬가지로 반사되는 연산을 줄이기위하여 미리 반사된 장면을 계산하여, 계산한 이미지를 사용.
- Reflection probe는 공간마다 두는 편.
3-2. Bake 방법
- Light - Reflection Probe 생성.
- Type을 Baked로 변경한 후 , Lighting에서 Generate Lighting.
- baked 한 후, 저장된 반사된 면이 잘 적용된 모습.
-> 단, Reflection Probe가 있는 위치를 기준으로 반사된 면을 저장하기 때문에, Object 위치를 움직여도
반사되는 면은 똑같다.
-> 따라서 공간마다 두어 반사되는 면을 여러 저장해 적용.
- 예시로 약간 겹쳐서 사각형 기준 5시 방향, 7시방향 반사면 저장하기.
4-1. LightProbeGroup
- Light 쪽에서 Mode를 Mixed를 안하고 LightProbeGroup을 통해서
baked된 라이트 내부에서 Object에 빛을 반사 가능.4-2. Bake 방법
- Light - LightProbeGroup 생성.
- Edit모드를 누른 뒤, 빛이 많이 변화는 곳에 구를 많이 둠.
- Lighting에서 Generate Lighting.
- Light가 Bake Mode이지만, LightProbeGroup을 통해 움직이는 Object에 빛이 반사되는 모습.