如何在ARKit和SceneKit中正确扩展DAE模型?

时间:2017-07-19 10:43:23

标签: ios scenekit arkit

我目前正在尝试合并以下来源:

Apples SceneKit Vehicle DemoResp. its Swift versionARKit by exampleresp. its Swift version

每个项目本身就像一个魅力(虽然我改变了车辆演示,以便汽车可以通过屏幕按钮控制)。

现在,当我尝试将这两个项目结合起来创建一个增强现实赛车游戏时,我遇到了关于.dae车型大小的问题:它太大了。

我可以使用(机箱)节点.scale属性扩展模型,但是只要我添加SCNPhysicsVehicle属性和行为,汽车就会重置(?)到原始大小。我试图在Xcode中扩展模型(打开dae文件,更改比例),但它的边界框保持不变 - 这告诉我重新缩放没有正常工作。

任何提示?

3 个答案:

答案 0 :(得分:5)

我喜欢做的是使用Blender或其他一些3D建模程序来调整你的dae模型的大小以便以米为单位工作。 ARKit中的所有内容都基于米,因此通过坚持相同的指标,您可以让所有模型在一起运行,而无需猜测比例因子需要什么。

答案 1 :(得分:5)

1)您可以直接通过art.scnassets缩放dae模型。

art.scnassets -> car.dae -> node inspector -> transforms -> scale the object

2)可以按SCNAction

缩放3dmodel
let scene = SCNScene(named: "art.scnassets/cup.dae")!
let node = scene.rootNode.childNode(withName: "cup", recursively: true)!
let action = SCNAction.scale(by: sender.scale, duration: 1.0)
node.runAction(action)

答案 2 :(得分:1)

我不确定如何直接在Xcode中修复模型。但是,您可以在搅拌机中修复它。首先将对象导入blender。选择对象并观察其尺寸。将对象缩放到所需的尺寸,然后按Ctrl + A应用它们,然后选择比例。或者,从对象菜单中,您可以选择应用 - >规模。现在,您可以使用更正的尺寸导出模型。