Je fabrique une voiture dans une scène et les roues semblent couler dans le sol. J'ai utilisé le code Apples pour le faire. Quand j'utilise leur modèle, cela fonctionne très bien. Mais quand j'utilise le mien, non. Je ne peux pas comprendre pourquoi cela se passe. Heres une image des roues de voiture coulant et le code est juste en dessous. Les roues du véhicule s'enfoncent dans le plancher - Scenekit (IOS)
@IBAction func AddFloor(_ sender: Any) {
let floor = SCNNode()
let floorGeom = SCNFloor()
floorGeom.firstMaterial?.diffuse.contents = "concrete.png"
floor.geometry = floorGeom
let staticBody = SCNPhysicsBody.static()
floor.physicsBody = staticBody
floor.position = SCNVector3(0, -10, 0)
sceneView.scene.rootNode.addChildNode(floor)
}
@IBAction func AddCar(_ sender: Any) {
let chassisNode = getNode("rccarBody", fromDaePath: "Models.scnassets/rc_car.scn")
let wheelnode0 = chassisNode
.childNode(withName: "wheelFrontL", recursively: false)
let wheelnode1 = chassisNode
.childNode(withName: "wheelFrontR1", recursively: false)
let wheelnode2 = chassisNode
.childNode(withName: "wheelRearL", recursively: false)
let wheelnode3 = chassisNode
.childNode(withName: "wheelRearR", recursively: false)
let body = SCNPhysicsBody.dynamic()
body.allowsResting = false
body.mass = 80
body.restitution = 0.1
body.friction = 0.5
body.rollingFriction = 0
chassisNode.physicsBody = body
sceneView.scene.rootNode.addChildNode(chassisNode)
// add wheels
let wheel0 = SCNPhysicsVehicleWheel(node: wheelnode0!)
let wheel1 = SCNPhysicsVehicleWheel(node: wheelnode1!)
let wheel2 = SCNPhysicsVehicleWheel(node: wheelnode2!)
let wheel3 = SCNPhysicsVehicleWheel(node: wheelnode3!)
// set physics
vehicle = SCNPhysicsVehicle(chassisBody: chassisNode.physicsBody!,
wheels: [wheel1, wheel0, wheel3,wheel2 ])
chassisNode.position = SCNVector3(0,-8,0)
sceneView.scene.physicsWorld.addBehavior(vehicle)
}