似乎大多数 3D 创作应用程序都使用 Z 作为“上”轴。而 SceneKit 使用 Y 作为“向上”轴。SceneKit 允许您将场景加载为 Collada .DAE 文件。通过以下任一方式加载场景时:
SCNScene(named: String?, inDirectory: String?, options: [NSObject : AnyObject]?)
或者
SCNSceneSource(URL url: NSURL!, options: [NSObject : AnyObject]!)
您可以指定包括 SCNSceneSourceConvertToYUpKey 和 SCNSceneSourceConvertUnitsToMetersKey 在内的选项。
相应地设置这些,我希望当我将各种节点添加到我自己的场景中时,它们会被转换和缩放,这些场景是由加载场景中的节点构建的。但这些选项似乎没有效果。
let myScene = SCNScene(named: "Scene.dae", inDirectory: nil, options: [SCNSceneSourceConvertToYUpKey:true, SCNSceneSourceConvertUnitsToMetersKey:25.4])
我是否误解了这些选项参数的含义?