linearGravityField () wirkt sich nicht auf physische Körper in der Szene aus. SceneKit

Ich versuche, ein SCNPhysicsField.linearGravityField-Objekt zu verwenden, um nur bestimmte Objekte in meiner Szene zu beeinflussen. Das Problem ist, dass ich es anscheinend nicht dazu bringen kann, irgendetwas zu beeinflussen. Hier ist ein Beispiel meines Codes in Swift:

let downGravityCatagory = 1 << 0
let fieldDown = SCNPhysicsField.linearGravityField()
let fieldUp = SCNPhysicsField.linearGravityField()
let fieldNode = SCNNode()

let sceneView = view as! SCNView
sceneView.scene = scene
sceneView.scene!.physicsWorld.gravity = SCNVector3(x: 0, y: 0, z: 0)

fieldDown.categoryBitMask = downGravityCatagory
fieldDown.active = true
fieldDown.strength = 3
fieldNode.physicsField = fieldDown
scene.rootNode.addChildNode(fieldNode)

var dice = SCNNode()
//I then attach geometry here
dice.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.Dynamic, shape: SCNPhysicsShape(geometry: dice.geometry!, options: nil))
dice.physicsBody?.categoryBitMask = downGravityCatagory
scene.rootNode.addChildNode(dice)

bwohl den Physik-Körpern dieselbe catagoryBitMask wie dem Gravitationsfeld zugewiesen wurde, schweben sie nur in 0 G, was nur von der Schwerkraft der Physikwelt beeinflusst wir

Antworten auf die Frage(6)

Ihre Antwort auf die Frage