빌트인 렌더 파이프라인에서 Unity가 오브젝트를 렌더링하는 순서는 두 가지 요소, 즉 오브젝트가 있는 렌더 대기열과 Unity가 해당 렌더 대기열 내에서 오브젝트를 정렬하는 방법에 기반합니다.
Unity는 오브젝트를 렌더 대기열이라는 그룹으로 정렬합니다. Unity는 한 렌더 대기열의 콘텐츠를 렌더링한 후 다른 렌더 대기열의 콘텐츠를 렌더링합니다.
Unity에는 다음과 같이 명명된 렌더 대기열이 있으며, 렌더링 순서는 다음과 같습니다.
이름 | Index | 설명 |
---|---|---|
Background | 1000 | 이 대기열은 씬의 배경에 그려야 하는 모든 요소에 사용됩니다. |
Geometry | 2000 | 이 대기열은 불투명 지오메트리에 사용됩니다. 기본 대기열입니다. |
AlphaTest | 2450 | 이 대기열은 알파 테스트 지오메트리에 사용되며, Geometry 대기열 다음입니다. 이는 알파 테스트 오브젝트는 모든 솔리드 오브젝트를 그린 후에 렌더링하는 것이 더 효율적이기 때문입니다. |
Transparent | 3000 | 알파 블렌드된 모든 항목(뎁스 버퍼에 기록하지 않는 셰이더)에 이 대기열을 사용합니다. 예를 들면 유리 또는 파티클 효과가 있습니다. |
Overlay | 4000 | 이 대기열은 다른 모든 요소 위에 렌더링 되는 효과(예: 렌즈 플레어)에 사용됩니다. |
스카이박스 머티리얼은 특수한 경우입니다. Unity는 모든 불투명 지오메트리 이후(대기열 인덱스 2500 이후) 및 모든 투명 지오메트리 이전(대기열 인덱스 2501 이전)에 스카이박스 머티리얼을 그립니다.
기본적으로 Unity는 Unity 셰이더에 지정된 렌더 대기열에 오브젝트를 배치합니다. 이 값은 [Queue]
SubShader 태그를 사용하여 정의합니다.
이 값은 머티리얼별로 오버라이드할 수 있습니다.
Unity 에디터에서 이 작업은 머티리얼 인스펙터에서 Render Queue 프로퍼티를 설정하여 수행할 수 있습니다. C# 스크립트에서는 Rendering.RenderQueue 열거형을 사용하여 Material.renderQueue 값을 설정할 수 있습니다.
각 렌더 대기열 내에서 Unity는 카메라로부터의 거리를 기준으로 오브젝트를 정렬하고 그립니다. 이 정렬 동작은 렌더 대기열의 인덱스에 따라 다릅니다.
렌더 대기열 내에서 정렬 동작을 변경하는 방식은 렌더 대기열의 인덱스에 따라 다릅니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.