【问题标题】:World Position of Vertex in grouped Object3D Geometry分组 Object3D 几何中顶点的世界位置
【发布时间】:2018-07-25 17:19:33
【问题描述】:

到目前为止,我已经花了 7 个小时尝试了这里找到的答案中的每种组合:

How to get the absolute position of a vertex in three.js?

我正在尝试查找平面几何图形的顶点位置,该平面位于 Object3D 内部,位于组内。

我可以毫无问题地获得 Object3D 的全局坐标,即使组或 Object3D 被移动,但顶点要么只给我它们的局部坐标,要么给我与其位置不相关的垃圾编号,或者未定义,或者告诉我它找不到这个或那个东西。

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    您可以在 Object3D 上使用某种快捷方式 - localToWorld()。您必须确保矩阵已更新,这通常在您渲染时自动发生。为了安全起见,请复制Vector3

    yourObject3d.updateMatrixWorld()
    yourObject3d.localToWorld( new THREE.Vector3().copy(yourGeometry.vertices[someVertex]) )
    

    【讨论】:

    • 虽然此代码 sn-p 可能是解决方案,但 including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    • 天哪!谢谢你!!!这行得通!我觉得我以我能想到的各种方式输入了这种东西,除了我不知道这样做,我仍然不明白为什么我的其他尝试没有工作,但有相同的变量在 .localToWorld() 之外声明,然后添加到它,当它像这样工作时。
    • 这可能是copy() 成功了。如果你没有太多的three.js经验,很容易变异错误的东西。
    • daaaamn!你是对的!由于同一问题@_@生活和学习的其他答案,我在几次尝试中使用了 clone()!
    • 这可以杀死 javascripts 垃圾收集,但是,为了测试和开发,最好在安全方面犯错
    猜你喜欢
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2020-07-25
    • 2023-03-13
    • 2015-10-29
    • 1970-01-01
    相关资源
    最近更新 更多