私はシーンキットで車を作っており、車輪は床に沈むようです。 私はそれを作るためにAppleのコードを使用しました。彼らのモデルを使用するとうまく動作します。 しかし、私は私が私を使用していません。私はそれがなぜ起こっているのか理解できません。車輪が沈んでいる写真があり、そのコードがその下にあります。 床に車輪が沈む - 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)
}