【问题标题】:SceneKit SCNPhysicsVehicle problemsSceneKit SCNPhysics车辆问题
【发布时间】:2017-06-04 20:58:15
【问题描述】:

所以。我正在尝试在 SceneKit 中创建一个 SCNPhysicsVehicle。我遇到的问题是车辆底盘确实与场景中的地板发生碰撞,尽管车轮没有。车轮直接穿过地板,直到底盘与地板相撞。我想知道是否有什么我忘记了?我从未见过其他人为 SCNPhysicsVehicle 上的车轮设置碰撞类别或类别位掩码。话虽如此,我什至尝试过,但没有运气!

非常感谢提前。

    let carScene = SCNScene(named: "art.scnassets/Textures/rc_car.dae") //rc_car.dae
    let chassisNode = carScene!.rootNode.childNode(withName: "rccarBody", recursively: true)!
    chassisNode.position = SCNVector3Make(0, 10, -30)

    let body = SCNPhysicsBody.dynamic()
    body.allowsResting = false
    body.mass = 80
    body.restitution = 0.1
    body.friction = 0.5
    body.rollingFriction = 0
    chassisNode.physicsBody = body
    scene.rootNode.addChildNode(chassisNode)


    let wheelnode0 = chassisNode
        .childNode(withName: "wheelLocator_FL", recursively: true)!
    let wheelnode1 = chassisNode
        .childNode(withName: "wheelLocator_FR", recursively: true)!
    let wheelnode2 = chassisNode
        .childNode(withName: "wheelLocator_RL", recursively: true)!
    let wheelnode3 = chassisNode
        .childNode(withName: "wheelLocator_RR", recursively: true)!


    let wheel0 = SCNPhysicsVehicleWheel(node: wheelnode0)
    let wheel1 = SCNPhysicsVehicleWheel(node: wheelnode1)
    let wheel2 = SCNPhysicsVehicleWheel(node: wheelnode2)
    let wheel3 = SCNPhysicsVehicleWheel(node: wheelnode3)

    vehicle = SCNPhysicsVehicle(chassisBody: chassisNode.physicsBody!,
                                wheels: [wheel0, wheel1, wheel2, wheel3])



    chassisNode.physicsBody?.collisionBitMask = USBitMaskManager.boundary | USBitMaskManager.sphere
    chassisNode.physicsBody?.categoryBitMask = USBitMaskManager.sphere

//        scene.physicsWorld.addBehavior(vehicle)

    return vehicle

【问题讨论】:

  • 当然。我的代码几乎一模一样!
  • 您可能是很长时间以来第一个使用此示例的人。而且看起来 Apple 甚至没有对 SceneKit 的每个迭代进行基本测试......所以它很可能会被破坏。
  • 你能解决这个问题吗

标签: scenekit scnnode


【解决方案1】:

你检查过 github 吗?有几个关于 Apples Vehicle Demo 的项目......例如一个在这里:https://github.com/ooper-shlab/SceneKitVehicle1.0-Swift

【讨论】:

    猜你喜欢
    • 2016-08-18
    • 2021-05-15
    • 2015-01-06
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    相关资源
    最近更新 更多