无法使用物理形状的凹面表示

时间:2015-07-27 08:35:23

标签: ios shape scenekit

每当我指定一个凹面物理形状

let physicsShape = SCNPhysicsShape(node: starNode, options: [SCNPhysicsShapeTypeKey:SCNPhysicsShapeTypeConcavePolyhedron])
starNode.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.Dynamic, shape: physicsShape)

starNode只是通过所有其他节点。我在Blender中创建了starNode。我还注意到在场景编辑器中我无法将starNode的PhysicsShapeType指定给Concave。为什么会发生这种情况,我该如何解决? Convex形状类型是不可能的,因为它是几何形状的不准确表示。

1 个答案:

答案 0 :(得分:2)

来自docs

  

SCNPhysicsShapeTypeConcavePolyhedron

     

物理形状是紧密跟随几何体表面的凹面多面体。

     

此选项提供最高级别的详细信息,但模拟性能成本较高。仅用于不规则形状的物体,其中精确的碰撞行为对您的应用程序的设计至关重要。

     

此形状类型只能用于静态物理实体(即type属性为SCNPhysicsBodyTypeStatic的那些)。

如果您需要动态形状为凹形,最好的办法是从多个SCNPhysicsShape个对象(或从节点及其几何体的层次结构)创建复合形状。