简介
蒙皮网格渲染器(Skinned Mesh Renderer)组件(Component)用于渲染 蒙皮网格(Skinned Mesh)类型的可变形的网格,以实现在场景中绘制可变形或动态的 3D 角色或对象。
NOTE
蒙皮网格渲染器无法烘焙光照贴图等静态对象特有的操作,为了您游戏项目的性能考虑,如果渲染的网格无需变形,建议使用 网格渲染器(Mesh Renderer)。具体请参阅 网格渲染器 章节。
组件逻辑
- 需要使用 蒙皮网格渲染器(Skinned Mesh Renderer)组件(Component)将 网格(Mesh)分配给角色或场景中的对象。
- 通过蒙皮网格渲染器组件引用网格资产。
- 通过蒙皮网格渲染器组件引用场景中蒙皮网格所应用的骨骼根节点。
- 通过网蒙皮网格渲染器组件设置网格所应用的 材质(Material)资产以及调整不同的参数,以调整网格在场景的显示效果。
【Skinned_Mesh_Renderer001.png】
创建方法
在 场景编辑器(Scene Editor)的 层级窗口(Hierarchy)中,选中用于渲染该蒙皮网格的 游戏对象(Game Object)。
方法一:
选中对应的游戏对象后,在 检视窗口(Inspector)窗口中用鼠标左键点击 添加组件(Add Component)> 网格(Mesh)> 蒙皮网格渲染器(SkinnedMeshRenderer) 进行创建。
【Mesh_Renderer002.png】
方法二:
选中对应的游戏对象后,在 菜单栏(Menu Bar)中点击 组件(Component)> 网格(Mesh)> 蒙皮网格渲染器(SkinnedMeshRenderer) 进行创建。
【Mesh_Renderer003.png】
渲染条件
对于经常变形的 蒙皮网格(Skinned Mesh),如果每一帧对网格的所有顶点进行实时判断是否在 摄像机(Camera)的被观察区域,进而判断是否渲染对应网格,这会耗费巨大的性能,让游戏项目很难在 Blockman Go 平台支持的大多数设备上流畅运行。
为此 SandMod 使用网格的 范围框(Bounds)来确定是否渲染它。如果整个范围框都不在当前处于 激活状态(Active)的 摄像机(Camera)的被观察区域时,该蒙皮网格渲染器将不会被系统渲染。
【Skinned_Mesh_Renderer002.png】
选中带有蒙皮网格渲染器组件的游戏对象看到的白色立方体边框,就是该蒙皮网格的范围框。
对于蒙皮网格渲染器,其网格边界会随着变形而变化。SandMod 会根据蒙皮网格的顶点坐标以及导入时出现的所有动画改变的顶点坐标计算范围框,并作为该蒙皮网格渲染器的范围框默认值;但是,导入后发生的以下情况可能会将顶点或骨骼推到范围框的边界之外:
- 为蒙皮网格附加新动画。
- 运行时在脚本中动态更改骨骼的位置。
- 运行时在脚本中动态修改网格数据。
- 使用 布娃娃(Ragdoll)功能。
如果发生这种情况,有可能以范围框判断蒙皮网格是否渲染变得不准确,并且可能无法按预期显示它。在这些情况下,您可以尝试修改边范围框的相关属性,以符合显示该蒙皮网格潜在的更多可能性。
属性
蒙皮网格渲染器(Skinned Mesh Renderer)组件(Component)包含以下属性:
【Skinned_Mesh_Renderer003.png】
| 名称 | 描述 |
| 范围框(Bounds) | 范围框(Bounds)将影响判断对应蒙皮网格渲染器在场景中渲染与否的范围。具体请参阅 渲染条件 小节。 |
| 中心点(Center) | 设置对应蒙皮网格渲染器的范围框的偏移。 |
| 尺寸(Size) | 设置对应蒙皮网格渲染器的范围框的尺寸。 |
| 网格(Mesh) | 附加到此角色或对象的 网格资产(Mesh Asset)。 |
| 根骨骼(Root Bone) | 附加到此角色或对象的作为骨骼根节点的 变换(Transform)。 |
| 材质(Material) | |
| 元素条目(Element) | 元素条目的属性值决定了网格所应用的 材质(Material),这决定了网格显示的效果。 · 创建元素条目:如果您需要创建元素条目,请在列表下方点击 追加(Append)按钮。 【Mesh_Renderer005.png】 · 定义元素条目数:列表右上角可设置列表中元素条目的数量,元素条目会根据设置的数量增删,会优先删除序号更大的元素条目。 【Mesh_Renderer006.png】 · 自定义序列: 您可以拖动每个元素条目左侧的控制柄以调整该元素条目的顺序。此顺序会直接更改元素条目的索引,对应材质会根据索引渲染不同的子网格。 【Mesh_Renderer007.gif】 · 删除:鼠标左键点击元素条目右侧的删除按钮(x),可对元素条目进行删除。 【Mesh_Renderer008.png】 · 赋值:可从 项目窗口(Project)将材质资产拖入,或点击条目选框右侧的圆形图标打开选择列表选择材质资产用以分配给此元素条目。 |
| 光照(Lighting) | |
| 投射阴影(Cast Shadows) | 设置当合适的灯光照射在该蒙皮网格渲染器上时,该渲染器是、否、如何投射阴影。 · 启用(On),当能投射阴影的光照投射到该蒙皮网格渲染器上时,该蒙皮网格渲染器会投射阴影。 · 禁用(Off),该蒙皮网格渲染器不投射阴影。 · 双面(Two Side),该蒙皮网格渲染器引用的网格每个面片两侧均能阴影投射。这意味着即使光源位于网格中面片的背后该面片也可以投射阴影。前提是该蒙皮网格渲染器引用的材质必须支持双面全局照明。 |
| 接收阴影(Receive Shadows) | 是否显示投射到此蒙皮网格渲染器上的阴影。 勾选,该蒙皮网格渲染器上会显示投射在上面的阴影。 不勾选,该蒙皮网格渲染器上不显示阴影。 |

勾选,该蒙皮网格渲染器上会显示投射在上面的阴影。
不勾选,该蒙皮网格渲染器上不显示阴影。