【问题标题】:Creating SCNPhysicsBody for SceneKit Terrain nodes?为 SceneKit 地形节点创建 SCNPhysicsBody?
【发布时间】:2020-01-01 20:51:44
【问题描述】:
我有一个从 SceneKit 中的 perlin 噪声创建的地形,现在我想向地形添加物理。但是,简单地执行terrain.physicsBody = SCNPhysicsBody(type: .static, shape: nil) 会导致 SceneKit 自动将地形的物理形状转换为凸面形状。现在,如果您将任何东西放在地形上,它会漂浮在地形边界框的平面上的空中,而不是粘在地面上。
如何修改 SCNPhysicsBody 的行为,使其模拟地形的物理特性?
【问题讨论】:
标签:
swift
scenekit
physics
terrain
【解决方案1】:
由于 SceneKit 没有专用的地形碰撞器,也不允许您创建自定义碰撞器,因此我使用凹多面体物理形状来解决它。
node.physicsBody = SCNPhysicsBody(type: .static, shape: SCNPhysicsShape(geometry: geometry, options: [SCNPhysicsShape.Option.type: SCNPhysicsShape.ShapeType.concavePolyhedron]))