物理实体似乎与物体不匹配

时间:2015-02-21 16:40:50

标签: game-physics blender scenekit

我设计了一个由立方体制成的水平仪,形成一个长长的走廊,两侧都有房间,但是当我把它装入场景套件时,事情似乎并不匹配。走廊的地板延伸了整个长度,但物理机构似乎不适合它。在走廊的尽头仍然有一个楼层,但如果玩家走在上面,他就会直接穿过。墙壁(门)之间的一些空间就像玩具无法穿过的固体物体。有一次,我试图走过一条边,但是尽管没有地板,但是在我终于找到了物理体的末端之前,场景表现得好像我还在坚实的地面上。      在Blender中,我通过应用对象变换将每个对象的位置设置为0,0,0,并将比例设置为1,1,1,以便在我将它们移过时更容易使用。
     有没有办法解决这个问题或者在场景工具包中看到物理实体,这样我就可以弄清楚发生了什么?

 let Scene2: SCNScene = SCNScene(named: "art.scnassets/hallway.dae")!
    var nodeArray = Scene2.rootNode.childNodes
    var node = SCNNode()
    for childNode in nodeArray {
        println(childNode.position.z)
        var cN = childNode as SCNNode
        cN.scale = SCNVector3Make(cN.scale.x * 150, cN.scale.y * 150, cN.scale.z * 150)
            cN.position = SCNVector3Make(cN.position.x, cN.position.y, cN.position.z)
            cN.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.Static, shape: nil)
            cN.physicsBody?.categoryBitMask = rockCategory
            cN.physicsBody?.collisionBitMask = 3
             node.addChildNode(cN)
        if( childNode.name == "BackWall"){
            backWallLoc = SCNVector3Make(cN.position.x, cN.position.y, cN.position.z)
            println(backWallLoc.y)
        }
    }
    scene.rootNode.addChildNode(node)

0 个答案:

没有答案