Gra*_*col 1 ios scenekit swift
我有两个盒子。顶部的框具有连接的动态PhysicalBody,底部的框具有连接的静态主体。
physicShapes使用以下方法创建:
topBox.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.Dynamic, shape: nil)
bottomBox.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.Static, shape: nil)
Run Code Online (Sandbox Code Playgroud)
当它们静止时,顶部的框比应有的高,这表明PhysicalShape大于应有的形状。这是静止的对象:

如何创建与要附加节点的几何形状相同的大小/形状的物理形状?
仅供参考:该SCNScene文件来自从Cheetah 3D导出的导入DAE文件。
尽管从头开始创建形状,但我遇到了同样的问题。我认为问题是将创建一个默认SCNPhysicsShape.ShapeType值。这总是比盒子大。您可以通过打开调试选项来确认这一点:convexHullconvex polyhedron roughly enclosing the geometry.showPhysicsShapes
sceneView.debugOptions = .showPhysicsShapes
Run Code Online (Sandbox Code Playgroud)
所以下面的代码通过使用.boundingBoxoption 有所帮助
let boxBodyShape = SCNPhysicsShape(geometry: SCNBox(width: 1, height: 1, length: 1, chamferRadius: 0),
options: [SCNPhysicsShape.Option.type: SCNPhysicsShape.ShapeType.boundingBox])
let boxBody = SCNPhysicsBody(type: .kinematic, shape: boxBodyShape)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1256 次 |
| 最近记录: |