包含此页的版本:
不含此页的版本:
网孔碰撞体 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表需要一个游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表的网格Unity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表正确配置,以便碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
请参阅术语表是准确的。
有一些特定的配置和优化需要启用 Mesh 读/写。有关此上下文中“读/写”含义的详细信息,请参阅有关网格 API 属性的文档Mesh.isReadable.
如果满足以下任何情况,则必须启用 Mesh 读/写:
要启用网格体读/写,网格体必须具有Mesh.isReadable值true.要通过编辑器应用此设置:
Assets文件夹(项目选项卡)更多信息要计算与网格体碰撞器的碰撞,物理系统需要能够访问网格体的几何体。“网格烘焙”是指将 3D 网格从其原始格式(例如 FBX 或 OBJ)转换为物理系统可以读取的格式的过程。烘焙过程采用原始网格数据并构建空间搜索结构,以便 Unity 可以更快地响应物理查询。
你可以在 导入设置(导入设置(Import Settings) > 模型(Model > 生成碰撞体(Generate Colliders) )或运行时触发网格体烘焙。
在网格烘焙过程中,Unity 可以应用各种优化来减小网格的大小和复杂性(例如:删除冗余顶点、合并重叠三角形或简化几何体以减少三角形数量)。然后,Unity 可以更快、更高效地加载优化的网格,从而减少内存使用并提高整体性能。
若要控制运行哪些优化,请使用网格碰撞器的 Cooking Options 属性(对应于 C# 枚举MeshColliderCookingOptions). 有关可用不同烘焙选项的概述,请参阅网格体碰撞器组件参考。
默认的烘焙选项适用于你在编辑器中烘焙且从不在运行时重新烘焙的任何网格体碰撞体。它们也适用于运行时需要的大多数网格体碰撞器(尤其是只需要烘焙一次的大型或复杂网格体)。但是,如果你需要在运行时快速生成碰撞几何体(例如,程序表面或响应玩家行为而变形的网格体碰撞器),则可能需要更改烘焙选项(Cooking Options) 以加快碰撞体生成速度。
若要优化 Unity 在运行时生成的网格的网格烘焙,可以禁用数据清理步骤(启用网格清理和焊接共置顶点)。但是,如果禁用数据清理步骤,则必须有其他方法来验证网格数据,以确保不会使用这些算法会清理的数据。
你还可以禁用 烘焙以加快模拟速度(Cook For Faster Simulation) 以节省内存使用。
更改烘焙选项时,需要对网格体应用读/写权限。有关如何执行此作的指导,请参阅允许对网格体的读写访问。
如果网格体只需要提供用于物理计算的数据,而不需要提供用于渲染的数据(例如,对于不可见的碰撞体),则无需导入网格体的法线。没有法线的网格体需要更少的内存,并使用更少的磁盘空间。
要禁用法线: