Mesh Renderer 컴포넌트는 메시를 렌더링합니다. 동일한 게임 오브젝트의 Mesh Filter 컴포넌트와 함께 작동합니다. Mesh Renderer는 메시 필터가 참조하는 메시를 렌더링합니다.
변형 가능한 메시를 렌더링하려면 대신에 스킨드 메시 렌더러를 사용합니다.
C# 코드에서 MeshRenderer 클래스는 Mesh Renderer 컴포넌트를 나타냅니다. MeshRenderer 클래스는 대부분의 기능을 Renderer 클래스에서 상속합니다. 따라서 이 컴포넌트는 Line Renderer 및 Trail Renderer와 같이 Renderer에서 상속하는 다른 컴포넌트와 많은 공통점이 있습니다.
Materials 섹션에는 이 컴포넌트가 사용하는 모든 머티리얼이 나열됩니다.
| 프로퍼티 | 설명 |
|---|---|
| Size | 머티리얼 리스트에 있는 요소의 개수입니다. 요소의 개수를 줄이면 Unity는 리스트 마지막에 있는 요소를 삭제합니다. 요소의 개수를 늘리면 Unity는 리스트 마지막에 새 요소를 추가합니다. Unity는 리스트 마지막에 있는 요소가 사용하는 것과 동일한 머티리얼로 새 요소를 채웁니다. |
| Element | 리스트에 있는 머티리얼입니다. 각 요소에 머티리얼 에셋을 할당할 수 있습니다. 기본적으로 Unity는 머티리얼 이름에 따라 리스트를 알파벳순으로 정렬합니다. 이 목록은 재정렬할 수 있으며, 그에 따라 Unity는 요소의 개수를 자동으로 업데이트합니다. |
참고: 하위 메시보다 머티리얼이 많으면 Unity는 마지막 하위 메시를 나머지 각 머티리얼과 함께 렌더링합니다. 머티리얼이 완전히 불투명하지 않으면 다른 머티리얼을 레이어링하고 흥미로운 시각 효과를 만들 수 있습니다. 그러나 완전히 불투명한 머티리얼은 이전 레이어를 덮어씁니다. 따라서 Unity가 마지막 하위 메시에 적용하는 추가 불투명 머티리얼은 성능에 부정적인 영향을 미치며 아무런 이점을 제공하지 않습니다.
Lighting 섹션에는 조명과 관련된 프로퍼티가 포함되어 있습니다.
| 프로퍼티 | 설명 | |
|---|---|---|
| Cast Shadows | 적당한 광원이 비출 때 렌더러가 그림자를 드리우는 경우와 방법을 지정합니다. 이 프로퍼티는 Renderer.shadowCastingMode API에 해당합니다. |
|
| On | 그림자를 드리우는 광원이 비추면 렌더러가 그림자를 드리웁니다. | |
| Off | 이 렌더러가 그림자를 드리우지 않습니다. | |
| Two-sided | 이 렌더러가 양면 그림자를 드리웁니다. 즉, 광원이 메시 뒤에 있더라도 평면이나 사각형과 같은 단면 오브젝트가 그림자를 드리울 수 있습니다. 베이크된 전역 조명 또는 인라이튼 실시간 전역 조명이 양면 그림자를 지원하려면 머티리얼이 양면 전역 조명을 지원해야 합니다. |
|
| Shadows Only | 이 렌더러가 그림자를 드리우지만 렌더러 그 자체는 보이지 않습니다. | |
| Receive Shadows | Unity가 이 렌더러에 캐스팅된 그림자를 표시할지 여부를 지정합니다. 이 프로퍼티는 씬에 대해 베이크된 전역 조명 또는 인라이튼 실시간 전역 조명을 활성화한 경우에만 효과를 발휘합니다. 이 프로퍼티는 Renderer.receiveShadows API에 해당합니다. |
|
| Contribute Global Illumination | 베이크 시간에 수행되는 전역 조명 계산에 이 렌더러를 포함합니다. 이 프로퍼티는 씬에 대해 베이크된 전역 조명 또는 인라이튼 실시간 전역 조명을 활성화한 경우에만 효과를 발휘합니다. 이 프로퍼티를 활성화하면 게임 오브젝트의 정적 에디터 플래그의 Contribute GI 플래그가 활성화됩니다. 이는 StaticEditorFlags.ContributeGI API에 해당합니다. |
|
| Receive Global Illumination | Unity가 베이크된 라이트맵과 런타임 라이트 프로브 중 어디에서 전역 조명 데이터를 렌더러에 제공하는지를 나타냅니다. 이 프로퍼티는 Contribute Global Illumination을 활성화한 경우에만 편집할 수 있습니다. 씬에 대해 베이크된 전역 조명 또는 인라이튼 실시간 전역 조명을 활성화한 경우에만 효과를 발휘합니다. 이 프로퍼티는 MeshRenderer.receiveGI API에 해당합니다. |
|
| Lightmaps | Unity가 라이트맵에서 이 렌더러에 전역 조명 데이터를 제공합니다. | |
| Light Probes | Unity가 씬의 라이트 프로브에서 이 렌더러에 전역 조명 데이터를 제공합니다. | |
| Prioritize illumination | 이 프로퍼티를 활성화하면 인라이튼 실시간 전역 조명 계산에 이 렌더러가 항상 포함됩니다. 이를 통해 성능상의 이유로 전역 조명 계산에서 일반적으로 제외되는 멀리 떨어진 이미시브에도 렌더러가 영향을 받게 됩니다. 이 프로퍼티는 게임 오브젝트의 정적 에디터 플래그에서 Contribute GI가 활성화되어 있으며, 프로젝트가 빌트인 렌더 파이프라인을 사용하고, 인라이튼 실시간 전역 조명이 씬에서 활성화된 경우에만 표시됩니다. |
|
Lightmapping 섹션에는 베이크된 라이트맵과 실시간 라이트맵에 관련된 프로퍼티가 포함되어 있습니다.
이 섹션은 Receive Global Illumination이 Lightmaps로 설정된 경우에만 표시됩니다.
| 프로퍼티: | 기능: |
|---|---|
| Scale in Lightmap | 라이트맵 내에서 렌더러 UV의 상대적 크기를 지정합니다. 값이 0이면 렌더러가 라이트매핑되지 않지만 씬의 다른 렌더러에 계속 조명을 비춥니다. 값이 1.0보다 크면 이 렌더러에 사용되는 픽셀 수(라이트맵 해상도)가 증가하고, 값이 1.0보다 작으면 픽셀 수가 감소합니다. 이 프로퍼티로 라이트맵을 최적화하여 중요하고 상세한 영역에 조명을 더 정확하게 적용할 수 있습니다. 예를 들어 평평하고 어두운 벽이 있는 격리된 건물은 낮은 라이트맵 스케일(1.0 미만)을 사용하는 반면, 가까이에 표시되는 다채로운 오토바이 컬렉션은 높은 스케일 값을 필요로 합니다. 이 프로퍼티는 MeshRenderer.scaleInLightmap API에 해당합니다. |
| Stitch Seams | 이 렌더러에 대해 Lightmap seam stitching을 활성화합니다. 이 프로퍼티는 MeshRenderer.stitchLightmapSeams API에 해당합니다. |
| Lightmap Parameters | 이 렌더러에 대한 Lightmap Parameters 에셋을 선택하거나 만듭니다. |
| Optimize Realtime UVs | 이 렌더러에 대해 Unity가 실시간 라이트맵 UV를 병합하는지 확인합니다. 이 프로퍼티는 프로젝트가 빌트인 렌더 파이프라인을 사용하고 씬에서 인라이튼 실시간 전역 조명이 활성화된 경우에만 표시됩니다. |
| Max Distance | 실시간 라이트맵에서 UV 차트 단순화를 위한 최대 월드 공간 거리를 지정합니다. 차트가 이 거리 내에 있으면 Unity가 차트를 간소화합니다. 이 프로퍼티는 프로젝트가 빌트인 렌더 파이프라인을 사용하고 씬에서 인라이튼 실시간 전역 조명이 활성화된 경우에만 표시됩니다. |
| Max Angle | 실시간 라이트맵에서 UV 가장자리를 공유하는 면 사이의 최대 각도를 도 단위로 지정합니다. 면 사이의 각도가 이 값보다 작으면 Unity는 UV 차트를 간소화합니다. 이 프로퍼티는 프로젝트가 빌트인 렌더 파이프라인을 사용하고 씬에서 인라이튼 실시간 전역 조명이 활성화된 경우에만 표시됩니다. |
| Ignore Normals | 이 옵션을 활성화하면 Unity가 실시간 라이트맵의 UV 차트를 분할하지 않습니다. 이 프로퍼티는 프로젝트가 빌트인 렌더 파이프라인을 사용하고 씬에서 인라이튼 실시간 전역 조명이 활성화된 경우에만 표시됩니다. |
| Min Chart Size | 실시간 라이트맵의 UV 차트에 사용되는 최소 텍셀 크기를 지정합니다. 스티칭이 필요한 경우 값이 4이면 조명과 방향성을 저장할 4x4 텍셀 차트가 생성됩니다. 스티칭이 필요하지 않은 경우 값이 2이면 텍셀 밀도가 감소하고 조명 빌드 시간과 게임 성능이 향상됩니다. 이 프로퍼티는 프로젝트가 빌트인 렌더 파이프라인을 사용하고 씬에서 인라이튼 실시간 전역 조명이 활성화된 경우에만 표시됩니다. |
조명 데이터를 베이크한 경우(메뉴: Window > Rendering > Lighting > Generate Lighting) 이 렌더러가 사용하는 현재 씬의 베이크된 라이트맵과 실시간 라이트맵이 이 섹션에 표시됩니다.
Probes 섹션에는 라이트 프로브 및 반사 프로브와 관련된 프로퍼티가 나와 있습니다.
| 프로퍼티 | 설명 | |
|---|---|---|
| Light Probes | 이 렌더러가 라이트 프로브 시스템에서 빛을 받는 방식을 설정합니다. 이 프로퍼티는 Renderer.lightProbeUsage API에 해당합니다. |
|
| Off | 렌더러가 보간된 라이트 프로브를 사용하지 않습니다. | |
| Blend Probes | 렌더러가 하나의 보간된 라이트 프로브를 사용합니다. 이 값이 기본값입니다. | |
| Use Proxy Volume | 렌더러가 보간된 라이트 프로브의 3D 그리드를 사용합니다. | |
| Custom Provided | 렌더러가 MaterialPropertyBlock에서 균일한 라이트 프로브 셰이더 값을 추출합니다. | |
| Proxy Volume Override | Light Probe Proxy Volume 컴포넌트가 있는 다른 게임 오브젝트에 대한 레퍼런스를 설정합니다. 이 프로퍼티는 Light Probes가 Use Proxy Volume으로 설정된 경우에만 표시됩니다. |
|
| Reflection Probes | 렌더러가 반사 프로브 시스템에서 반사를 받는 방식을 설정합니다. 이 프로퍼티는 Renderer.probeAnchor API에 해당합니다. |
|
| Off | 반사 프로브를 비활성화합니다. Unity는 반사를 위해 스카이박스를 사용합니다. | |
| Blend Probes | 반사 프로브를 활성화합니다. 블렌딩은 반사 프로브 사이에서만 발생합니다. 이는 캐릭터가 다른 조명 설정이 적용된 영역 사이를 오갈 수 있는 실내 환경에서 특히 유용합니다. | |
| Blend Probes and Skybox | 반사 프로브를 활성화합니다. 블렌딩은 반사 프로브 사이, 또는 반사 프로브와 기본 반사 사이에 일어납니다. 야외 환경에 유용합니다. | |
| Simple | 반사 프로브를 활성화하지만, 두 개의 영역이 오버랩될 경우 반사 프로브 간 블렌딩이 발생하지 않습니다. | |
| Anchor Override |
라이트 프로브 또는 반사 프로브 시스템을 사용하는 경우 Unity가 보간 위치를 결정할 때 사용하는 트랜스폼을 설정합니다. 기본적으로 렌더러 지오메트리의 바운딩 박스 중앙에 있습니다. 이 프로퍼티는 Renderer.probeAnchor API에 해당합니다. |
|
Ray Tracing 섹션에는 레이트레이싱 효과와 관련된 프로퍼티가 포함되어 있습니다.
이 섹션은 그래픽 카드가 레이트레이싱을 지원하고 Player settings 창에서 DirectX 12를 사용하도록 프로젝트를 업그레이드한 경우에만 표시됩니다.
다음 프로퍼티는 다음 방법 중 하나를 사용하여 프로젝트를 설정하지 않는 한 효과가 없습니다.
| 프로퍼티: | 기능: | |
|---|---|---|
| Ray Tracing Mode | 레이트레이싱 중 이 렌더러의 업데이트 여부와 빈도를 지정합니다. 업데이트 빈도가 높을수록 렌더링 시간이 늘어납니다. | |
| Off | Unity는 레이트레이싱 계산에서 이 렌더러를 제외합니다. 예를 들어 이 옵션을 선택하면 레이트레이싱 기반 반사에 이 렌더러가 나타나지 않습니다. | |
| Static | 게임 오브젝트의 트랜스폼 또는 메시 지오메트리가 변경되면 Unity는 레이트레이싱 가속도 구조를 업데이트하지 않습니다. 즉, 레이트레이싱 효과는 런타임 시 변경되지 않습니다. | |
| Dynamic Transform | Unity는 게임 오브젝트의 트랜스폼이 변경되면 레이트레이싱 가속도 구조를 업데이트하지만, 메시 지오메트리가 변경되면 업데이트하지 않습니다. 이는 메시 렌더러의 기본값입니다. 프로젝트에서 HDRP를 사용하는 경우 HDRP가 프레임마다 가속도 구조를 다시 빌드하기 때문에 이 설정은 동적 지오메트리와 동일합니다. | |
| Dynamic Geometry | Unity는 게임 오브젝트의 트랜스폼 및 메시 지오메트리를 사용하여 프레임마다 레이트레이싱 가속도 구조를 업데이트합니다. 이는 스킨드 메시 렌더러의 기본값입니다. | |
| Procedural Geometry | Unity가 Mesh Filter 컴포넌트의 메시가 아닌 교차 셰이더를 사용하여 이 렌더러를 절차적으로 렌더링하게 합니다. | |
| Acceleration Structure Build Flags | 레이트레이싱 가속 구조를 생성할 때 이 렌더러가 지정한 기본 빌드 플래그를 오버라이드할지 여부를 지정합니다. | |
Additional Settings 섹션에는 추가 프로퍼티가 포함되어 있습니다.
| 프로퍼티 | 설명 | |
|---|---|---|
| Motion Vectors | 모션 벡터를 사용하여 이 렌더러의 픽셀당 스크린 공간 모션을 한 프레임에서 다음 프레임까지 추적할지 여부를 설정합니다. 이 정보를 사용하여 모션 블러와 같은 포스트 프로세싱 효과를 적용할 수 있습니다. 참고: 일부 플랫폼에서는 모션 벡터를 지원하지 않습니다. 자세한 내용은 SystemInfo.supportsMotionVectors를 참조하십시오. 이 프로퍼티는 Renderer.motionVectorGenerationMode API에 해당합니다. |
|
| Camera Motion Only | 카메라 동작만 사용하여 모션을 추적합니다. | |
| Per Object Motion | 특정 패스를 사용하여 이 렌더러의 모션을 추적합니다. | |
| Force No Motion | 모션을 추적하지 않습니다. | |
| Dynamic Occlusion |
Dynamic Occlusion을 활성화하면 이 렌더러가 정적 오클루더에 의해 카메라 뷰에서 가려질 경우 Unity의 오클루전 컬링이 이 렌더러를 컬링합니다. 그렇지 않으면 이 렌더러가 정적 오클루더에 의해 카메라 뷰에서 가려질 경우 시스템이 이 렌더러를 컬링하지 않습니다. Dynamic Occlusion은 기본적으로 활성화되어 있습니다. 벽 뒤에 있는 캐릭터의 아웃라인을 그리는 등의 효과를 구현하려면 이를 비활성화하십시오. |
|
MeshRenderer