首页 文章

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

提问于
浏览
2

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

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

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

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

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

任何提示?

3 回答

  • 3

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

  • 3

    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)
    
  • 0

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

相关问题