Godot导入GLB网格创建碰撞形状时提示‘Mesh is empty!’求助
解决Godot创建碰撞形状提示“Mesh is empty!”的问题
排查与修复步骤:
- 检查GLB导入设置
选中导入的GLB资源,打开Godot的导入面板,确认Mesh分类下的Import Meshes已勾选,同时检查LOD相关设置没有误过滤掉基础网格数据。 - 确认网格节点的资源关联
选中场景里的网格子节点,在检查器面板查看Mesh属性是否正确绑定了导入的网格资源。如果显示为空,直接从资源管理器拖拽GLB里的网格资源到这个属性框。 - 修正Blender导出配置
回到Blender重新导出GLB时,注意:- 务必选中要导出的类平面立方体对象,别漏选;
- 导出面板的
Mesh部分要勾选Apply Modifiers,确保所有修改器都应用到网格上; - 只勾选
Only Selected Objects,避免导出空对象或无关几何体。
- 手动创建碰撞形状
如果编辑器的“Create Collision Shape”按钮还是失效,直接手动添加CollisionShape3D作为网格的子节点,然后在检查器里给Shape属性新建ConvexPolygonShape3D,点击该形状的Edit按钮,选择从网格导入碰撞数据即可。 - 清理Blender网格数据
在Blender里对类平面立方体执行Mesh > Clean Up > Merge by Distance,合并重叠顶点,同时检查有没有零面积的无效面,修复后再重新导出GLB。
内容的提问来源于stack exchange,提问作者Wouter Vandenputte
相关产品推荐
相关产品推荐

