【问题标题】:how to handle 3D object size and its position in ARKit如何在 ARKit 中处理 3D 对象大小及其位置
【发布时间】:2018-04-03 11:36:04
【问题描述】:

我长期面临3d对象大小及其位置x,y,z的困难我将3d对象添加到sceneView但它的大小太大,如何根据我的要求减小3d对象大小,任何人都可以帮助我使用 x、y、z 处理 3D 对象的大小及其位置。我正在使用 swift 编码。

任何帮助将不胜感激。谢谢

【问题讨论】:

  • 到目前为止你做了什么?你能包括一些代码吗?请添加细节;我们无法为您完成所有研究。

标签: swift xcode scenekit arkit


【解决方案1】:

每个SCNNode 都有一个 scale 属性:

尺度向量的每个分量乘以对应的 节点的几何尺寸。默认比例为 1.0 三个维度。例如,将 (2.0, 0.5, 2.0) 的比例应用于 包含立方体几何的节点降低了它的高度并增加了它的 宽度和深度。

可以如下设置:

var scale: SCNVector3 { get set }

例如,如果您的节点被称为 myNode,您可以使用以下命令将其缩放为原始大小的 1/10:

myNode.scale = SCNVector3(0.1, 0.1, 0.1)

关于定位SCNNodes这可以通过设置position属性来实现:

节点的位置将其定位在其坐标系内 父节点,由节点的 pivot 属性修改。默认位置 是零向量,表示节点放置在原点 父节点的坐标系。

因此,如果您想将 SCNNode 添加到worldOrigin 的中心,并且距离相机 1m,您可以使用以下方法:

myNode.position = SCNVector3(0, 0, -1)

希望对你有帮助...

【讨论】:

    最近更新 更多