我使用ARKit和SceneKit来面对跟踪,所以在某些情况下,我需要重新设置我的场景。这是我的重置代码:
sceneView.scene.physicsWorld.removeAllBehaviors()
let configuration = ARFaceTrackingConfiguration()
configuration.isLightEstimationEnabled = true
sceneView.session.run(configuration, options: [.resetTracking, .removeExistingAnchors])下一步是设置我的场景,在这里我要添加节点并通过SCNPhysicsBallSocketJoint.链接它们但这一步导致了坠机
Thread 8 name: com.apple.scenekit.scnview-renderer Dispatch queue: com.apple.scenekit.renderingQueue.ARSCNView0x153d0a8d0
Thread 8 Crashed:
0 SceneKit 0x00000001bad70600 btUnionFind::unite+ 2950656 (int, int) + 8
1 SceneKit 0x00000001bad705cc btDiscreteDynamicsWorld::calculateSimulationIslands+ 2950604 () + 296
2 SceneKit 0x00000001bad6f218 btDiscreteDynamicsWorld::internalSingleStepSimulation+ 2945560 (float) + 136
3 SceneKit 0x00000001bad6f138 btDiscreteDynamicsWorld::stepSimulation+ 2945336 (float, int, float) + 276
4 SceneKit 0x00000001babb7334 -[SCNPhysicsWorld _step:] + 180
5 SceneKit 0x00000001babff774 -[SCNRenderer _update:] + 964
6 SceneKit 0x00000001bac01c50 -[SCNRenderer _drawSceneWithNewRenderer:] + 196
7 SceneKit 0x00000001bac02208 -[SCNRenderer _drawScene:] + 48
8 SceneKit 0x00000001bac025b0 -[SCNRenderer _drawAtTime:] + 636
9 SceneKit 0x00000001bac9c9bc -[SCNView _drawAtTime:] + 452
10 ARKit 0x00000001c275b9cc -[ARSCNView _drawAtTime:] + 40
11 SceneKit 0x00000001bab638d0 __69-[NSObject+ 800976 (SCN_DisplayLinkExtensions) 奇怪的是,在第一次场景设置时,向节点添加SCNPhysicsBallSocketJoint连接时没有崩溃。我想可能是因为错误地重置了现场。请帮帮忙。
发布于 2020-09-30 17:30:58
SCNPhysicsBallSocketJoint中的节点应该有physicalBodyies。
https://stackoverflow.com/questions/62338169
复制相似问题