我有一个使用Swift编写的SceneKit游戏,其中有一辆汽车,它拥有一个动态物理实体,设置如下:
let carScene = SCNScene(named: "art.scnassets/truck.scn")!
let carNode = carScene.rootNode.childNode(withName: "Cube", recursively: true)!
let carPhysicsBody = SCNPhysicsBody(type: .dynamic,shape: SCNPhysicsShape(geometry: SCNBox(width: 5.343, height: 12.125, length: 4.373, chamferRadius: 0)))
carPhysicsBody.mass = 3
carPhysicsBody.friction = 2
carPhysicsBody.contactTestBitMask = 1
carNode.physicsBody = carPhysicsBody
carNode.position = SCNVector3(x: 0, y: 0, z: 5)
carNode.physicsBody?.applyForce(SCNVector3(x: 0, y: 50, z: 0), asImpulse: true)
car = carNode
floorScene.rootNode.addChildNode(car)
地面的物理效应如下所示: 正如您所看到的,汽车被发射到空中。然后场景中的重力使其下落,但它没有与地面碰撞,而是直接穿过了地面。
重力效应如下所示: 我应该做出哪些改变才能使其与地面碰撞?