【问题标题】:Why is "convertPosition" called to project a point found in SceneKit?为什么调用“convertPosition”来投影在 SceneKit 中找到的点?
【发布时间】:2017-10-26 15:03:46
【问题描述】:

我正在研究 3D 项目/取消项目逻辑,并且正在学习一些基础知识。我解决了这个问题:

Scene Kit: projectPoint calculated is displaced

在该问题中显示的代码部分是:

//world coordinates
let v1w =  topSphereNode.convertPosition(v1, toNode: scene.rootNode)
let v2w =  topSphereNode.convertPosition(v2, toNode: scene.rootNode)

我的问题是,为什么需要这样做?为什么不直接使用 v1 和 v2 作为点,因为它们已经是场景中的有效点 3D 点?为什么顶部球体节点的位置需要相对于根节点的位置进行转换?

【问题讨论】:

    标签: ios scenekit


    【解决方案1】:

    因为它们已经是场景中的有效点 3D 点?

    它们不一定是场景中的有效 3D 点,而是球体局部空间中的 3D 点。您显示的代码将它们转换为世界空间,即场景空间。当球体是子对象、旋转、缩放和/或根本不在场景中心时,这一点很重要。

    而不是使用问题中的代码,请在此处查看答案: How to use iOS (Swift) SceneKit SCNSceneRenderer unprojectPoint properly

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-24
      • 2015-06-09
      • 2018-05-19
      • 2016-02-09
      • 2017-07-09
      • 2019-08-28
      • 2017-02-27
      • 1970-01-01
      相关资源
      最近更新 更多