2

在以下层次结构的根上应用 generateCollisionShapes() 时,没有任何反应。根实体的“碰撞”组件仍然为零。

根实体类如下所示:

class SomeEntity: Entity, HasAnchoring, HasModel, HasCollision

子实体从 .usdz 文件中加载,其层次结构为:Entity -> [ModelEntity, ModelEntity]

所以最终的层次结构是:

SomeEntity -> Entity -> [ModelEntity, ModelEntity].

现在,当应用以下行时,SomeEntity 的碰撞组件保持为零,我收到以下日志消息:

someEntity.generateCollisionShapes(recursive: true)
arView.scene.addAnchor(someEntity)
arView.installGestures([.all], for: someEntity)

日志消息是:[碰撞] 错误参数 (SphereRadius),值 = 0.000000,传递给形状创建。

  • 听起来没有模型组件的实体会破坏递归操作

编辑 1:它适用于在代码或 Reality Composer 中创建的模型实体。对于从 USDZ 文件加载的实体,这种行为是出乎意料的,因为模型层次结构似乎发挥了重要作用。

4

0 回答 0