swift - 在代码中复制通过场景套件编辑器创建的物理体

标签 swift scenekit

我一直在寻找,但无法找到如何将我在场景包编辑器中创建的物理体复制为快速代码。我正在寻找围绕我的 dae 模型创建一个简单的球体形状。这是场景套件编辑器选项的屏幕截图。 谢谢

enter image description here

这段代码似乎对我有用,但我不确定它是最佳的:

ball = scene.rootNode.childNode(withName: "ball",recursively: true)!
let ballRadius = CGFloat(ball.boundingBox.max.x)
let ballShape = SCNSphere(radius: ballRadius)
ball.physicsBody = SCNPhysicsBody(type: .dynamic, shape: SCNPhysicsShape(geometry: ballShape, options: [SCNPhysicsShape.Option.type:SCNPhysicsShape.ShapeType.convexHull]))

最佳答案

通过将 SCNPhysicsBody 初始化器中的 shape 属性设置为 nil,它将自动定义物理体的形状。如果您的形状只是一个球,它应该自动将物理 body 形状设置为具有正确尺寸的球体。

关于swift - 在代码中复制通过场景套件编辑器创建的物理体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51111649/

相关文章:

swift - 具有扩展所使用的通用类型别名的协议(protocol)

ios - 视频全屏在 ios Swift AVPlayer 中不起作用?

swift - 只有一个 SCNAudioPlayer 节点按位置播放

ios - 与旧款 iPhone 相比,iPhone X 上的按钮图像颜色不同

ios - 将 View 动态移动到自动布局中的新位置

swift - ARKit – 如何显示来自放置在 SCNPlane 上的虚拟 SCNCamera 的提要?

ios - 旋转2个盒子相交

ios - 使用隐藏的 SCNNode 捕获 SCNView 的图像/屏幕截图 : drawViewHierarchyInRect afterScreenUpdates not working

scenekit - 获取 SCNPhysicsVehicle 的位置

swift - 如何改善ARKit 3.0中的人物遮挡