Priv's Blog
Shadows 속성 본문
1. Cast Shadows
오브젝트의 Inspector 창에서 Mesh Renderer 컴포넌트를 열어보면, lighting이라는 탭이 존재한다.
이 부분은 Renderer 계열의 컴포넌트에 있는 그림자 관련 속성으로, Mesh Renderer와 동일하게 Renderer 계열 컴포넌트인 Skinned Mesh Renderer에도 존재한다.
Cast Shadows는 빛을 받아서 오브젝트 자신이 그림자를 생성할 것인지를 결정하는 속성이다.
게임에서 그림자는 시각적 효과에 탁월한 기능을 하지만, 엔진에 많은 부하를 주기 때문에 신중하게 설정해야 하는 부분이기도 하다.
Cast Shadows에는 다음과 같이 4가지 속성 값이 존재한다.
속성 | 설명 |
Off | 그림자를 생성하지 않음 |
On | 그림자를 생성함 |
Two Sided | 백 페이스(Backface) 컬링을 무시하고 그림자를 양면으로 생성함 |
Shadows Only | 그림자만 만들고 자신은 렌더링하지 않음. (화면에 보이지 않는 특성을 통해 그림자 처리만을 위한 로우 폴리 3D 모델에 활용 가능) |
기본 3D 오브젝트 중에 Plane, Quad와 같은 오브젝트들은 단면(Single-Side)만 렌더링 하는 오브젝트들이다.
이러한 오브젝트들은 Cast Shadows 속성을 On으로 설정하고, 빛을 모델의 뒤쪽(Backface)에서 비추면 그림자가 생성되지 않는다.
이때 Cast Shadows 속성을 Two Sided로 바꿔주면, 빛을 모델 뒤쪽에서 비추어도 그림자가 생성된다.
즉, 오브젝트는 게임 상에 보이지 않고 그림자만 보이게 만들 수 있는 것이다.
그림자를 생성할 필요가 없는 바닥 오브젝트의 경우, Cast Shadows를 Off로 설정하여 그림자를 생성하지 않도록 만드는 것이 최적화에 도움이 될 수 있다.
2. 실시간 그림자
Unity에 존재하는 Directional Light, Point Light, Spotlight라는 3가지 종류의 광원들은 실시간 그림자(Real Time Shadow)를 지원한다.
모바일 디바이스의 경우에는 실시간 그림자를 사용할 경우 자원을 크게 소모하기 때문에 주의가 필요하다.
기본적으로 실시간 그림자가 적용되어 있으며, 사용자가 임의로 이를 변경할 수 있게 되어 있다.
Directional Light를 클릭하고, Shadow Type 옵션을 열어보면 No Shadows, Hard Shadows, Soft Shadows라는 3가지 속성을 확인할 수 있다.
속성 | 설명 |
No Shadows | 기본 설정값. 실시간 그림자를 제거한다. |
Hard Shadows | 실시간 그림자를 표시한다. 품질이 낮아 계단 현상이 발생한다. |
Soft Shadows | 실시간 그림자를 표시한다. 부드러운 그림자를 표시하지만, 부하가 가장 심하다. |
수고하셨습니다!
'Dev. Study Note > Unity' 카테고리의 다른 글
Windows 상에서 VSC와 Unity 연동 시 자동 완성 작동 오류 해결법 (0) | 2022.09.18 |
---|---|
LOD 간단 사용법 (0) | 2022.08.28 |
Time.deltaTime 이해하기 (0) | 2022.08.28 |
Unity에서 사용되는 Animation Type 속성 (0) | 2022.08.28 |
macOS에서 Unity용으로 VSC 설정 시, 나타날 수 있는 대표적인 에러들 해결법 (2) | 2022.01.03 |