Version: 2019.2
광원 문제 해결 및 성능
리니어 렌더링 개요

관련 항목

Unity의 조명 시스템은 다른 여러 효과 및 시스템과 영향을 주고 받을 수 있습니다.

Quality Settings

Quality 창에는 조명과 그림자에 영향을 미치는 여러 설정이 있습니다.

Player settings

Player 창에서 렌더링 경로와 색 공간을 선택할 수 있습니다.

카메라(Camera) 인스펙터

카메라 인스펙터에서는 렌더링 경로에 대한 Unity 플레이어 설정을 카메라별로 오버라이드할 수 있습니다. 여기서 HDR도 활성화할 수 있습니다.

렌더링(Rendering) 경로

Unity는 여러 렌더링 기법, 즉 ‘경로’를 지원합니다. 사용할 경로 결정은 프로젝트를 시작할 때 조기에 내려야 하는 중요한 결정입니다. Unity의 디폴트는 ‘Forward Rendering’입니다.

포워드 렌더링에서는 오브젝트에 영향을 미치는 각 광원의 ‘패스’에서 각 오브젝트가 렌더링됩니다. 따라서 범위 내에 있는 광원 수에 따라 각 오브젝트가 여러 번 렌더링될 수 있습니다.

이 접근방식은 매우 빠르다는 장점이 있습니다. 따라서 다른 방식보다 하드웨어 요구 사항이 낮습니다. 또한 포워드 렌더링은 광범위한 커스텀 ‘셰이딩 모델’을 제공하고 투명성을 빨리 처리할 수도 있습니다. 포워드 렌더링을 사용하면 디퍼드 렌더링을 비롯한 다른 접근방식에서 사용할 수 없는 MSAA(multi-sample anti-aliasing) 같은 하드웨어 기법도 사용할 수 있습니다.

하지만 포워드 경로는 광원별로 렌더링 리소스가 소모된다는 커다란 단점이 있습니다. 다시 말해, 각 오브젝트에 영향을 미치는 광원이 많을수록 렌더링 성능이 더 느려집니다. 따라서 광원이 많은 일부 게임 타입에는 사용하지 못할 수 있습니다. 하지만 게임에서 광원 수를 적절히 관리하는 것이 가능하다면 포워드 렌더링은 실제로 매우 빠른 솔루션이 될 수 있습니다.

반면에 ‘디퍼드’ 렌더링에서는 광원 정보 셰이딩과 블렌딩을 각 표면의 포지션, 노멀 및 머티리얼이 일련의 스크린 공간 텍스처인 ‘지오메트리 버퍼’(G 버퍼)에 렌더링되는 첫 번째 패스 이후까지 연기합니다. 그런 다음 이런 결과를 이용하여 조명 패스를 적용합니다. 이 방식은 조명을 렌더링하는 데 사용되는 리소스가 광원 자체의 수 대신 광원이 비추는 픽셀 수에 비례한다는 중요한 장점이 있습니다. 따라서 화면에 렌더링하고 싶은 광원의 수에 더 이상 구속을 받지 않게 되는데, 이 장점은 일부 게임에서 매우 중요한 이점을 제공합니다.

디퍼드 렌더링을 사용하면 매우 예측하기 쉬운 성능 특성을 얻지만, 일반적으로 더 강력한 하드웨어가 필요합니다. 렌더링은 일부 모바일 하드웨어에서 지원되지 않습니다.

디퍼드, 포워드 및 기타 사용 가능한 렌더링 경로에 대한 자세한 내용은 메인 문서 페이지를 참조하십시오.

HDR(High Dynamic Range)

HDR 렌더링을 사용하면 기존에 사용 가능하던 것보다 훨씬 더 넓은 범위의 컬러를 시뮬레이션할 수 있습니다. 하지만 일반적으로 화면에 표시할 밝기 범위를 선택해야 합니다. 이 방법으로 씬의 야외 조명과 그늘진 영역 사이의 큰 밝기 차이 등을 시뮬레이션할 수 있습니다. 씬에서 이런 밝은 컬러에 효과를 적용하여 ‘블룸’ 또는 글로우 같은 효과도 만들 수 있습니다. 이런 특수 효과는 파티클이나 기타 가시 광원에 사실감을 더할 수 있습니다.

HDR에 대한 자세한 내용은 매뉴얼의 해당 페이지를 참조하십시오.

톤 매핑

톤 매핑은 HDR의 컬러를 화면에 표시되는 컬러에 매핑하는 방법을 설명하는 데 필요한 컬러 분류 포스트프로세싱 효과의 일부입니다. 자세한 내용은 컬러 분류 효과를 참조하십시오.

반사

반사는 엄밀히 말해 조명 효과가 아니지만, 반짝이는 금속이나 유리처럼 광원을 반사하는 머티리얼을 사실적으로 나타내는 데 중요합니다. Unity의 스탠다드 셰이더를 비롯한 최신 셰이딩 기법은 반사를 머티리얼의 프로퍼티에 통합합니다.

자세한 내용은 반사 섹션을 참조하십시오.

리니어(Linear) 컬러 공간

프로젝트에 조명을 추가하기 전에 렌더링 경로를 선택함과 동시에 ‘컬러 공간’을 선택하는 것이 중요합니다. 컬러 공간에 따라 Unity에서 조명 계산에 컬러를 혼합하거나 텍스처에서 값을 읽어올 때 사용하는 계산 방식이 결정됩니다. 컬러 공간은 게임의 사실감에 극적인 영향을 미칠 수 있지만, 많은 경우에 사용할 컬러 공간이 타겟 플랫폼의 하드웨어 제한에 의해 결정될 수 있습니다.

사실적인 렌더링을 위해 권장되는 컬러 공간은 리니어입니다.

리니어 공간을 사용하면 씬에서 셰이더에 적용되는 컬러가 광도 증가에 따라 선형적으로 밝아진다는 커다란 장점이 있습니다. 대안인 ‘감마’ 컬러 공간을 사용하면 값이 높아질 때 밝기가 빨리 흰색으로 변하여 화질이 저하됩니다.

자세한 내용은 리니어 렌더링을 참조하십시오.

광원 문제 해결 및 성능
리니어 렌더링 개요