使用SceneKit,我正在加载一个very simple .dae
file,它由一个带有三个相关骨骼的大圆柱体组成。我想按比例缩小圆柱体并将其放置在地面上。这是代码
UIWebBrowserView
这行不通;当我查看时,圆柱体仍然很大。我可以使代码正常工作的唯一方法是删除关联的SCNSKinner
。
public class MyNode: SCNNode {
public convenience init() {
self.init()
let scene = SCNScene(named: "test.dae")
let cylinder = (scene?.rootNode.childNode(withName: "Cylinder", recursively: true))!
let scale: Float = 0.1
cylinder.scale = SCNVector3Make(scale, scale, scale)
cylinder.position = SCNVector3(0, scale, 0)
self.addChildNode(cylinder)
}
}
为什么会发生这种情况,如何正确缩放和定位模型,骨骼及所有物体?
答案 0 :(得分:2)
为几何体蒙皮时,它是由其骨架驱动的。这意味着不再使用蒙皮节点的变换,重要的是骨骼的变换。
对于此文件,Armature
是框架的根。如果您平移/缩放此节点而不是Cylinder
,则会得到所需的内容。