【问题标题】:What unit is used by the Scene Editor in Xcode?Xcode 中的场景编辑器使用什么单位?
【发布时间】:2018-03-15 11:22:42
【问题描述】:

Xcode 中的场景编辑器显示大小但没有单位。尺寸是英寸还是米?

例如,当我选择一个节点时,例如一个盒子,当我在节点检查器中检查它的属性并在“边界框”旁边的“变换”部分检查它的大小时,没有显示任何单位。

该单位似乎与在“语言和区域”首选项窗格(在“高级...”弹出窗口中)中设置的系统测量单位无关,因为节点中的数字不会改变当我在“公制”和“美国”之间切换测量单位时的检查员。

【问题讨论】:

    标签: xcode scenekit


    【解决方案1】:

    尺寸以米为单位。请参阅 SceneKit 文档:

    SceneKit 物理模拟中的所有值均使用国际单位制 (SI):质量单位为千克;力、冲量和扭矩的单位是牛顿、牛顿-秒和牛顿-米; 节点位置和大小的距离单位是米

    【讨论】:

    • 从 Apple 获得关于显示的缺失单位的反馈:“SceneKit 中的基本单位始终是米,无法更改,因此您始终可以假设是这种情况。”
    【解决方案2】:

    你从 Apple 得到的答案是正确的,但也不完整。

    在诸如 SceneKit 之类的 3D 场景图模型中,长度单位对于大多数用途来说并不重要。它可以是完全任意的,只要你的单位使用一致,单位的选择和使用对视觉效果没有影响。例如,以下场景看起来完全一样:

    • 一个 1.0 米宽的立方体,距离相机 3.0 米
    • 一个 0.1 米宽的立方体,距离相机 0.3 米
    • 一个 0.91 米宽的立方体,距离相机 2.73 米
    • 一个 1.0 英尺宽的立方体,距离相机 3.0 英尺
    • 一个 6.28 frobnitz 宽的立方体,距离相机 18.84 frobnitz(如何将 frobnitz 转换为米?没关系!)

    最重要的是,场景图中的每个节点都可以对其子节点应用比例。因此,您可以拥有一个宽度设置为 1.0 单位的立方体,以及一个距离设置为 3.0 单位的相机,并将这两者作为比例为 0.91 的节点的子节点......在这种情况下,即使其他地方还有其他东西在“1.0 单位”表示一米的场景中,立方体和相机对于“1.0 单位”的含义不一致。 (对他们来说,这是一个美国码。)因此,SceneKit(和 Xcode 的场景版 UI)中的大多数基于长度的属性都没有标记它们的单位,因为它们的单位是相对于其父级的(可能是任意的)比例的节点。

    场景空间单元的含义在几个地方开始变得重要:

    1. 如果您开始使用物理模拟。当质量、力、能量和摩擦开始涉及时,长度单位和其他量的单位之间的关系就变得很重要。物理引擎的其余部分(质量、力、冲量)使用 SI 单位(千克、牛顿、牛顿秒),所以为了简单起见,我们只假设长度(以及扩展的面积、体积和速度)也一样.

    2. 如果您需要渲染场景以使结果看起来与另一个 3D 空间对齐,例如在 AR 或 VR 中。与 ARKit 一起使用时,SceneKit 长度/距离以米为单位,因此渲染的图像看起来就像 ARKit 所测量的真实世界。

    所以,是的——你从 Apple 那里得到的答案是正确的......在最广泛的用例中,最好假设 SceneKit 空间的未标记单位是米,并进行相应的设计。但重要的是要知道为什么,什么时候该假设适用,什么时候它只是一个任意假设。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 2018-08-26
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多