我为此示例导入了一个非常基本的网格。我只是将默认搅拌机立方体的大小调整为更像平面的结构,并将其导出到 glb 中,然后将其导入到 Godot 中。
在 Godot 中,我创建了一个
Rigidbody3D
,然后将该网格添加为其子网格
到目前为止一切顺利,我现在想给该地板一个碰撞形状。是的,我可以从字面上添加碰撞形状并根据地板的网格调整其大小,但这只是更复杂的网格的替代示例。
要执行此操作,所有教程/文档都说只需选择顶部的“网格”按钮(当在编辑器中也选择网格时出现),然后按“创建碰撞形状”按钮。
但是当我这样做时,我得到的不是碰撞形状,而是这个错误“网格是空的!”似乎没有人拥有这一点。我对 Godot 还很陌生,但我确实有使用 Unity 以及碰撞、网格和 Blender 的经验。既然我们谈论的是一个简单的凸碰撞形状,沿着网格线,为什么这这么困难......
编辑: 我在这里添加了一个可重现的最小示例
这里是我向网格添加碰撞形状的步骤。
1- 将你的 glb 作为子节点添加到某个场景
2-在场景选项卡中,找到新添加的节点,然后按“在编辑器中打开”按钮。
3-在地板场景中,选择网格节点并添加碰撞形状,如问题中所示。这将创建一个 CollisionShape3D 节点。
4- 在地板场景中,添加一个 StaticBody3D 节点,并使之前创建的 CollisionShape3D 节点成为该节点的子节点。
5-通过Scene->“Save Scene As”保存这个新修改的场景。
现在您可以在主场景中使用这个新创建的场景。