Ios 如何在ARKit和SceneKit中正确缩放DAE模型?

Ios 如何在ARKit和SceneKit中正确缩放DAE模型?,ios,scenekit,arkit,Ios,Scenekit,Arkit,我目前正在尝试合并以下来源: ,, ,及 每个项目都有自己的魅力(尽管我更改了车辆演示,使车辆可以通过屏幕上的按钮控制) 现在,当我尝试结合这两个项目来创建增强现实赛车游戏时,我遇到了关于.dae车型大小的问题:它太大了 我可以使用(底盘)节点.scale属性缩放模型,但只要添加SCNPhysicsVehicle属性和行为,汽车就会重置(?)为其原始尺寸。我尝试在Xcode中缩放模型(打开dae文件,更改缩放),但其边界框保持不变-这表明重新缩放无法正常工作 有什么提示吗?我喜欢做的是使用Ble

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

,, ,及

每个项目都有自己的魅力(尽管我更改了车辆演示,使车辆可以通过屏幕上的按钮控制)

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

我可以使用(底盘)节点
.scale
属性缩放模型,但只要添加
SCNPhysicsVehicle
属性和行为,汽车就会重置(?)为其原始尺寸。我尝试在Xcode中缩放模型(打开dae文件,更改缩放),但其边界框保持不变-这表明重新缩放无法正常工作


有什么提示吗?

我喜欢做的是使用Blender或其他一些3d建模程序调整dae模型的大小,使其以米为单位工作。ARKit中的一切都是基于米的,因此,通过坚持相同的度量,您可以让所有模型都很好地配合使用,而无需猜测比例因子需要是什么。

我不确定如何直接在Xcode中修复模型。不过,你们可以在搅拌机里把它修好。首先将对象导入blender。选择对象并观察其尺寸。将对象缩放到所需的尺寸,并通过按住Ctrl+A键并选择“缩放”来应用这些尺寸。或者,从“对象”菜单中,可以选择“应用->缩放”。现在,您可以导出具有正确大小的模型。

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

art.scnassets->car.dae->node inspector->transforms->缩放对象

2) 可以通过
SCNAction

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)