목차

,

유니티 그림자

Desktop!

유니티 프로 어떤 빛에서도 실시간 shadows 를 사용하는 것이 가능함. 객체는 서로에게 그림자를 만들수 있으며 자기 자신에게도 ("self shadowing")에게도 그림자를 드리울 수 있다. 모든 Lights의 형태는 - Directional, Spot 과 Point – 그림자를 지원함.

그림자를 이용하는 것은 Light에서 Hard Shadows 또는 Soft Shadows 를 선택하는 것만큼 쉽다. 그러나 그림자의 최대 퀄리티와 성능을 원한다면 몇가지 고려해야 하는 것이 있다.

Shadow Troubleshooting 페이지는 흔한 그림자 문제들에 대한 해결책을 포함함.

신기하게도 최고의 그림자는 실시간이 아닌 것들 이다. 사용자 게임의 기하와 빛이 정적이면 사용자의 3D 프로그램에서 빛맵을 미리 계산하라. 그림자를 오프라인으로 미리 계산하는 것은 항상 실시간으로 계산하는 것보다 더 나은 퀄리티와 성능을 보여준다. 이제 실시간 그림자에 대해 말해 보겠다…

그림자 퀄리티 고치기

유니티는 그림자를 보여주기위해 shadow maps라는 것을 사용함. 그림자 맵핑은 텍스쳐 기반의 접근인데 빛에서 나와 화면에 뿌려지는 "shadow textures"라 생각하면 아주 쉽다. 그래서 다른 보통의 텍스쳐와 마찬가지로 그림자 맵핑의 퀄리티는 다음의 두가지 요소에 주로 의존 함:

다른 Light 타입은 그림자 계산을 위해 다른 알고리즘을 사용함.

어떻게 그림자 맵 크기가 계산되는지에 대한 제세한 사항은 Shadow Size Details를 보라.

그림자 성능

실시간 그림자는 고 성능을 필요로므로 가끔 씩만 사용 하도록 함. 그림자를 렌더할 각 빛을 위해선 첫째 어떤 잠재적으로 그림자를 내는 것은 그림자 맵에서 렌더되야 하고 그럼 모든 그림자를 받는 것은 그 그림자 맵에서 렌더되야 함. 이것은 그림자 비추는 것은 픽셀 빛보다 비싼 작업 이지만 컴퓨터 또한 빨라지고 있지 않습니까!

Soft shadowsHard shadows를 렌더하는 것보다 비싼 작입이다. 비용은 전적으로 그래픽 카드에 있다(단지 더 긴 그림자이다). 그래서 하드 대 소프트 그림자는 CPU나 메모리 사용에는 전혀 영향을 주지 않는다.

Quality SettingsShadow Distance이라 불리는 설정을 포함함 – 이것은 그림자가 카메라에서 얼마나 멀리 그려지는가 이다. 보통 카메라에서 500미터 떨어진 그림자를 계산하고 보여주는 것은 말이 되지 않기 때문에 가능한 낮은 그림자 거리를 사용하라. 이것은 성능에 도움을 줄 것이다(그리고 방향 빛 그림자의 퀄리티를 향상 시킬 것이다. 위를 보라).

hardware

그림자를 위한 하드웨어 지원

내장된 그림자는 조각 프로그램(pixel shader 2.0)이 가능한 그래픽 카드를 필요로 함. 아래는 지원되는 카드를 보여준다:

소프트 그림자는 드라이버 버그로 비활성화 되어있다(대신 하드 그림자가 사용된다).

주의

iOS!

이기능은 현재 iOS에서는 지원되지 않는다.

Android!

이기능은 현재 안드로이드에서는 지원되지 않는다.