gpt4 book ai didi

ios - SceneKit 对象在它们的边界框而不是沿着网格发生碰撞

转载 作者:可可西里 更新时间:2023-11-01 05:43:03 27 4
gpt4 key购买 nike

我正在使用“DAE”模型作为 SCNGeometry。

Half of TUBE

尝试将其用裁剪理体形:

    let url = Bundle.main.url(forResource: "art.scnassets/half", withExtension: "dae")
let sceneSource = SCNSceneSource(url: url!, options: nil)
let tubeGeometry = (sceneSource?.entryWithIdentifier("Cube-mesh", withClass: SCNGeometry.self ))! as SCNGeometry

tubeNode = SCNNode(geometry: tubeGeometry)
tubeNode.position = SCNVector3(0, 1, 0)
tubeNode.eulerAngles = SCNVector3Make(1.5, 2, 0)

let tubeShape = SCNPhysicsShape(geometry: tubeGeometry, options: nil)
let tubeBody = SCNPhysicsBody(type: .static, shape: tubeShape)
tubeNode.physicsBody = tubeBody
scene.rootNode.addChildNode(tubeNode)

不感知几何对象属性(边、面等)。感知立方体的外观。因此,球与一个不可见的平面发生碰撞,该平面不是我的对象,但必须向内落,如下面的屏幕截图所示: scene

任何想法/建议为什么会这样?请帮我解决这个问题...

提前致谢!

最佳答案

您需要将您的物理体形状配置为“SCNPhysicsShapeTypeConcavePolyhedron”(默认为凸面)。您可以使用 SCNView 的 debugOptions 来可视化物理形状

关于ios - SceneKit 对象在它们的边界框而不是沿着网格发生碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43162357/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com