每当我指定一个凹面物理形状
let physicsShape = SCNPhysicsShape(node: starNode, options: [SCNPhysicsShapeTypeKey:SCNPhysicsShapeTypeConcavePolyhedron])
starNode.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.Dynamic, shape: physicsShape)
starNode只是通过所有其他节点。我在Blender中创建了starNode。我还注意到在场景编辑器中我无法将starNode的PhysicsShapeType指定给Concave。为什么会发生这种情况,我该如何解决? Convex形状类型是不可能的,因为它是几何形状的不准确表示。
答案 0 :(得分:2)
来自docs:
SCNPhysicsShapeTypeConcavePolyhedron
物理形状是紧密跟随几何体表面的凹面多面体。
此选项提供最高级别的详细信息,但模拟性能成本较高。仅用于不规则形状的物体,其中精确的碰撞行为对您的应用程序的设计至关重要。
此形状类型只能用于静态物理实体(即
type
属性为SCNPhysicsBodyTypeStatic
的那些)。
如果您需要动态形状为凹形,最好的办法是从多个SCNPhysicsShape
个对象(或从节点及其几何体的层次结构)创建复合形状。