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

3

我目前正在尝试结合以下资源:

苹果的 SceneKit 车辆演示它的 Swift 版本ARKit 示例,以及它的 Swift 版本

每个项目都可以单独工作得很好(虽然我已经更改了车辆演示,使汽车可以通过屏幕按钮进行控制)。

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

我可以使用(底盘)节点的 .scale 属性来缩放模型,但是一旦添加了 SCNPhysicsVehicle 属性和行为,汽车会被重置 (?) 回其原始大小。我尝试在 Xcode 中缩放模型(打开 dae 文件,更改比例),但其包围盒大小保持不变 - 这告诉我重新缩放未正常工作。

有什么提示吗?

3个回答

6

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

art.scnassets -> car.dae -> 节点检查器 -> 变换 -> 缩放对象

2) 可以通过SCNAction缩放3D模型。

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)

5

我喜欢使用Blender或其他3D建模程序,将您的dae模型调整大小以适应米的工作。在ARKit中,一切都基于米,因此通过坚持相同的度量标准,您可以让所有模型协调工作,无需猜测比例因子应该是多少。


1

我不确定如何直接在Xcode中修复模型。但是,你可以在blender中修复它。首先将对象导入到blender中。选择对象并观察其尺寸。按下Ctrl + A并选择比例来缩放对象至所需尺寸并应用它们。或者,从对象菜单中,你可以选择"应用" -> "比例"。现在,你可以使用已纠正大小的模型进行导出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接