scenekit - 获取dae节点的大小

标签 scenekit

假设我有一个collada文件,其中有一个框,然后将dae文件导入场景。现在,在导入场景之后,我知道dae对象是一个盒子。将场景框添加到场景后,如何在场景包中获取其尺寸

如果将节点作为SCNBox导入,则会收到错误消息,提示SNCBox不是SCNNode的子类型。

    floorNode = scene.rootNode.childNodeWithName("floor", recursively: false) as SCNBox
    floorNode?.physicsBody = SCNPhysicsBody.staticBody()
    floorNode?.physicsBody?.categoryBitMask = 2

    let floorGeo: SCNBox  = floorNode.geometry! as SCNBox

如果SCNNode是导入节点的唯一方法,如何获得尺寸?

最佳答案

关于如何使用boundingBox的示例Swift代码:

var min = shipNode.boundingBox.min
var max = shipNode.boundingBox.max
let w = CGFloat(max.x - min.x)
let h = CGFloat(max.y - min.y)
let l = CGFloat(max.z - min.z)
let boxShape = SCNBox (width: w , height: h , length: l, chamferRadius: 0.0)
let shape = SCNPhysicsShape(geometry: boxShape, options: nil)

shipNode.physicsBody!.physicsShape = SCNPhysicsShape(geometry: boxShape, options: nil)
shipNode.physicsBody = SCNPhysicsBody.dynamic()

关于scenekit - 获取dae节点的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28337026/

相关文章:

scenekit - ARKit:将在 ARPointCloud 中找到的特征点投影到图像空间并检查它是否包含在屏幕上的 CGRect 中?

ios - 我想在 coredata 中存储 allowsCameraControl 的 pointOfView.position

ios - 我们可以在 SceneKit 中的透明平面上渲染阴影吗

swift - 为什么 SceneKit 聚光灯角度会影响阴影?

ios - 存在 Web View Controller 时,Sceneview 卡住

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

ios - 相机没有指向我想要使用 SceneKit 的地方

ios - 如何预加载 SCNAudioSource 以防止第一次声音播放时出现滞后?

ios - 如何在 SceneKit 中创建边框?

avfoundation - AVPlayerLayer 作为 SCNMaterial 未呈现,音频播放正常