【问题标题】:How to scale DAE models correctly in ARKit and SceneKit?如何在 ARKit 和 SceneKit 中正确缩放 DAE 模型?
【发布时间】:2017-12-24 14:02:47
【问题描述】:

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

Apples SceneKit Vehicle Demo, Resp. its Swift version, ARKit by exampleresp. its Swift version

每个项目都像魅力一样工作(尽管我更改了车辆演示,以便可以通过屏幕按钮控制汽车)。

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

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

有什么提示吗?

【问题讨论】:

    标签: ios scenekit arkit


    【解决方案1】:

    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】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-01-06
          • 2020-11-20
          • 2018-05-08
          • 2018-02-22
          • 2014-09-07
          • 2020-10-03
          • 2019-03-17
          • 2020-01-14
          相关资源
          最近更新 更多