Mesh Renderer 组件用于渲染网格。该组件与同一个游戏对象上的 Mesh Filter 组件配合使用;Mesh Renderer 组件渲染 Mesh Filter 组件引用的网格。
要渲染可变形网格,请改用 Skinned Mesh Renderer 组件。
在 C# 代码中,MeshRenderer 类表示 Mesh Renderer 组件。MeshRenderer
类的大部分功能继承自 Renderer 类。因此,该组件与其他从 Renderer
继承的组件(例如 Line Renderer 和 Trail Renderer)有很多共同之处。
A:Materials
B:Lighting
C:Lightmapping
D:Probes
E:Additional Settings
Materials 部分列出了此组件使用的所有材质。
属性 | 描述 |
---|---|
Size | The number of elements in the material list. If you decrease the number of elements, Unity deletes the elements at the end of the list. If you increase the number of elements, Unity adds new elements to the end of the list. Unity populates new elements with the same material that the element at the end of the list uses. |
Element | The materials in the list. You can assign a material asset to each element. By default, Unity orders the list alphabetically based on the name of the materials. This list is reorderable, and Unity updates the number of the elements automatically as you change their order. |
注意:如果材质多于子网格,则 Unity 会使用剩余的每个材质逐一渲染最后一个子网格,使一个材质加在下一个材质之上。如果材质不是完全不透明的,则可以将不同的材质分层并创建有趣的视觉效果。但是,完全不透明的材质会覆盖之前的层,因此 Unity 应用于最后一个子网格的任何其他不透明材质都会对性能产生负面影响,但不会带来任何好处。
Lighting 部分包含与光照相关的属性。
属性 | 描述 | |
---|---|---|
Cast Shadows | Specify if and how this Renderer casts shadows when a suitable Light shines on it. This property corresponds to the Renderer.shadowCastingMode API. |
|
On | This Renderer casts a shadow when a shadow-casting Light shines on it. | |
Off | This Renderer does not cast shadows. | |
Two-sided | This Renderer casts two-sided shadows. This means that single-sided objects like a plane or a quad can cast shadows, even if the light source is behind the mesh. For Baked Global Illumination or Enlighten Realtime Global Illumination to support two-sided shadows, the material must support Double Sided Global Illumination. |
|
Shadows Only | This Renderer casts shadows, but the Renderer itself isn’t visible. | |
Receive Shadows | Specify if Unity displays shadows cast onto this Renderer. This property only has an effect if you enable Baked Global Illumination or Enlighten Realtime Global Illumination for this scene. This property corresponds to the Renderer.receiveShadows API. |
|
Contribute Global Illumination | Include this Renderer in global illumination calculations, which take place at bake time. This property only has an effect if you enable Baked Global Illumination or Enlighten Realtime Global Illumination for this scene. Enabling this property enables the Contribute GI flag in the GameObject’s Static Editor Flags. It corresponds to the StaticEditorFlags.ContributeGI API. |
|
Receive Global Illumination | Whether Unity provides global illumination data to this Renderer from baked lightmaps, or from runtime Light Probes. This property is only editable if you enable Contribute Global Illumination. It only has an effect if you enable Baked Global Illumination or Enlighten Realtime Global Illumination for this scene. This property corresponds to the MeshRenderer.receiveGI API. |
|
Lightmaps | Unity provides global illumination data to this Renderer from lightmaps. | |
Light Probes | Unity provides global illumination data to this Renderer from Light Probes in the scene. | |
Prioritize Illumination | Enable this property to always include this Renderer in Enlighten Realtime Global Illumination calculations. This ensures that the Renderer is affected by distant emissives, even those which are normally excluded from Global Illumination calculations for performance reasons. This property is visible only if Contribute GI is enabled in the GameObject’s Static Editor Flags, your project uses the Built-in Render Pipeline, and Enlighten Realtime Global Illumination is enabled in your scene. |
Lightmapping 部分包含与烘焙光照贴图以及实时光照贴图相关的属性。
仅当 Receive Global Illumination 设置为 Lightmaps 时,此部分才可见。
属性: | 功能: |
---|---|
Scale in Lightmap | 指定渲染器的 UV 在光照贴图中的相对大小。 值为 0 会使渲染器不进行光照贴图,但仍然有助于为场景中的其他渲染器提供光照。大于 1.0 的值会增加用于此渲染器的像素数(即光照贴图分辨率),而小于 1.0 的值会减小该像素数。 可使用此属性来优化光照贴图,从而更精确地为重要和高度细节化的区域提供光照。例如:一幢具有平坦黑暗墙壁的隔离建筑物将使用低光照贴图比例(小于 1.0),而一组靠近在一起显示的彩色摩托车则需要高比例值。 此属性对应于 MeshRenderer.scaleInLightmap API。 |
Stitch Seams | 为此渲染器启用光照贴图接缝缝合。 此属性对应于 MeshRenderer.stitchLightmapSeams API。 |
Lightmap Parameters | 为此渲染器选择或创建光照贴图参数资源。 |
Optimize Realtime UVs | 确定 Unity 是否为此渲染器合并实时光照贴图 UV。 仅当项目使用内置渲染管线 (Built-in Render Pipeline),并且在场景中启用了 Enlighten Realtime Global Illumination 时,此属性才可见。 |
Max Distance | 指定在实时光照贴图中用于简化 UV 图表的最大世界空间距离。如果图表在此距离之内,则 Unity 会简化图表。 仅当项目使用内置渲染管线 (Built-in Render Pipeline),并且在场景中启用了 Enlighten Realtime Global Illumination 时,此属性才可见。 |
Max Angle | 指定在实时光照贴图中共享 UV 边缘的面之间的最大角度(以度为单位)。如果面之间的角度小于此值,则 Unity 将简化 UV 图表。 仅当项目使用内置渲染管线 (Built-in Render Pipeline),并且在场景中启用了 Enlighten Realtime Global Illumination 时,此属性才可见。 |
Ignore Normals | 启用此选项可防止 Unity 在实时光照贴图中拆分 UV 图表。 仅当项目使用内置渲染管线 (Built-in Render Pipeline),并且在场景中启用了 Enlighten Realtime Global Illumination 时,此属性才可见。 |
Min Chart Size | 指定在实时光照贴图中用于 UV 图表的最小纹素大小。如果需要缝合,则值 4 将创建一个 4x4 纹素的图表来存储光照和方向性。如果不需要缝合,则值 2 将降低纹素密度并提供更好的光照构建时间和游戏性能。 仅当项目使用内置渲染管线 (Built-in Render Pipeline),并且在场景中启用了 Enlighten Realtime Global Illumination 时,此属性才可见。 |
烘焙光照数据(菜单:Window > Rendering > Lighting > Generate Lighting)后,此部分还将显示这个渲染器在当前场景中使用的烘焙光照贴图和实时光照贴图。
属性 | 描述 | |
---|---|---|
Light Probes | Set how this Renderer receives light from the Light Probes system. This property corresponds to the Renderer.lightProbeUsage API. |
|
Off | The Renderer doesn’t use any interpolated Light Probes. | |
Blend Probes | The Renderer uses one interpolated Light Probe. This is the default value. | |
Use Proxy Volume | The Renderer uses a 3D grid of interpolated Light Probes. | |
Custom Provided | The Renderer extracts Light Probe shader uniform values from the MaterialPropertyBlock. | |
Proxy Volume Override | Set a reference to another GameObject that has a Light Probe Proxy Volume component. This property is only visible when Light Probes is set to Use Proxy Volume. |
|
Reflection Probes | Set how the Renderer receives reflections from the Reflection Probe system. This property corresponds to the Renderer.probeAnchor API. |
|
Off | Disables Reflection Probes. Unity uses a skybox for reflection. | |
Blend Probes | Enables Reflection Probes. Blending occurs only between Reflection Probes. This is useful in indoor environments where the character may transition between areas with different lighting settings. | |
Blend Probes and Skybox | Enables Reflection Probes. Blending occurs between Reflection Probes, or between Reflection Probes and the default reflection. This is useful for outdoor environments. | |
Simple | Enables Reflection Probes, but no blending occurs between Reflection Probes when there are two overlapping volumes. | |
Anchor Override | Set the Transform that Unity uses to determine the interpolation position when using the Light Probe or Reflection Probe systems. By default, this is the centre of the bounding box of the Renderer’s geometry. This property corresponds to the Renderer.probeAnchor API. |
Additional Settings 部分包含额外的属性。
属性 | 描述 | |
---|---|---|
Motion Vectors | Set whether to use motion vectors to track this Renderer’s per-pixel, screen-space motion from one frame to the next. You can use this information to apply post-processing effects such as motion blur. Note: not all platforms support motion vectors. See SystemInfo.supportsMotionVectors for more information. This property corresponds to the Renderer.motionVectorGenerationMode API. |
|
Camera Motion Only | Use only Camera movement to track motion. | |
Per Object Motion | Use a specific pass to track motion for this Renderer. | |
Force No Motion | Do not track motion. | |
Dynamic Occlusion | When Dynamic Occlusion is enabled, Unity’s occlusion culling system culls this Renderer when it is blocked from a Camera’s view by a Static Occluder. Otherwise, the system does not cull this Renderer when it is blocked from a Camera’s view by a Static Occluder. Dynamic Occlusion is enabled by default. Disable it for effects such as drawing the outline of a character behind a wall. |