728x90
목차.
개요
유니티에서 캐릭터가 실내에 있을 때 그림자가 생기지 않는 현상을 발견했습니다.
그래서 Directional Light에 Shadow가 꺼져있나? 싶어서 확인을 했는데
분명 Shadow도 켜져 있고 Strength도 1로 되어있었습니다.
그렇게 Light Setting이랑 이것저것 만져봐도 해결이 안 돼서 고민하던 중,
아무 생각 없이 캐릭터 위치를 바꿨는데
그림자가 생겼습니다.
실내에 있을 때 사물의 그림자가 생기지 않고, 실외로 캐릭터를 옮기니 다시 그림자가 생기는 모습을 보니
Directional Light의 문제가 아닌 것을 알게 되었습니다.
문제 해결
알고 보니 천장 오브젝트의 Mesh Renderer에 Cast Shadows가 On으로 되어있었습니다.
지금까지 그림자가 안 생기는 것이 아니라 맵 전체에 그림자가 생겨서 다른 오브젝트는 그림자가 생기지 않는 것처럼 보였던 것입니다.
Mesh Renderer에 Cast Shadows를 Off로 변경하면 천장 오브젝트는 그림자를 생성하지 않아 다시 오브젝트들의 그림자가 생기게 되었습니다.
물론 실내에서 Directional Light로 인해 그림자가 생기는 것은 부자연스러워 보일 수 있습니다.
이때는 Point Light나 Emission을 활용하는 것도 좋은 방법입니다.
728x90
'유니티' 카테고리의 다른 글
[Unity] 유니티 : 싱글톤(Singleton) 패턴 (0) | 2023.09.04 |
---|---|
[Unity] 유니티 오브젝트 컬링 문제 (0) | 2023.09.02 |
[Unity] 유니티 라이팅 공부 : Emission과 Global Illumination (0) | 2023.09.01 |
[Unity] 병목(Bottleneck) - CPU 와 GPU, 최적화 및 프로파일링 (0) | 2023.08.25 |
[Unity] 유니티 : TextMeshPro 수정하기 (0) | 2023.08.19 |