简介
网格(Mesh)是 SandMod 用于描述形状的数据集合,通常应用于渲染和物理系统中。在渲染系统中网格可以与材质(Material)一起使用,网格定义被渲染的对象的形状,材质则定义其表面的外观。在物理系统中,网格可用于定义 碰撞体(Collider)的形状。
【Mesh001.png】
SandMod 中模型 网格(Mesh)的线框视图。
网格类型
在 SandMod 中 网格(Mesh)主要分为静态网格和蒙皮网格:
- 静态网格(Static Mesh)是 SandMod 中的一种基本元素,用于在 场景(Scene)中创建场景几何体。其中静态指的是网格中的顶点互相之间的相对静态,您可以通过 变换(Transform)组件或其他如 刚体(Rigidbody)等物理组件让静态网格在场景中运动。
【Mesh002.png】
静态网格示例。
- 蒙皮网格(Skinned Mesh)由构成蒙皮网格体表面的一组多边形,以及用于使多边形顶点产生动画的一组层次化的关联骨骼。在游戏创作过程中,通常使用蒙皮网格体代表角色或其他带动画的 游戏对象(Game Object)。
【Mesh003.gif】
蒙皮网格随着骨骼变换而网格发生变形。
创建网格
您可以通过以下方式将 网格(Mesh)添加到游戏项目中:
👉 导入资产(Asset Importing),3D 模型、骨骼及其动画都是在外部建模和动画应用程序(3DSMax、Maya、blender 等)中创建的,然后通过 SandMod 的 项目窗口(Project)把这些模型导入到 SandMod,并自动生成对应的 网格资产(Mesh Asset)和将 网格(Mesh)、贴图(Texture)与 材质(Material)打包成 预制体(Prefab)。
👉 自定义网格(Mesh Customing),在游戏项目运行时使用代码创建自定义网格。
使用网格
下面的章节将详细介绍如何在 SandMod 编辑器中创建、编辑和渲染网格。
👉 网格数据(Mesh Data),了解网格包含的数据,有助于您决定在项目中如何使用网格。
👉 网格资产(Mesh Asset),通过网格资产在 SandMod 编辑器中储存特定的网格数据,便于对网格数据的引用。
👉 网格渲染器(Mesh Renderer)组件,渲染不会发生变形的静态网格。
👉 蒙皮网格渲染器(Skinned Mesh Renderer)组件,渲染会变形的蒙皮网格,以及关联对应的骨骼。
👉 自定义网格(Mesh Customing),在游戏项目运行时使用代码动态编辑网格的方法。
