Priv's Blog

Shadows 속성 본문

Dev. Study Note/Unity

Shadows 속성

Priv 2022. 8. 28. 14:33


 

 

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 실시간 그림자를 표시한다. 부드러운 그림자를 표시하지만, 부하가 가장 심하다.

 

 


 


수고하셨습니다!


Comments