【发布时间】:2018-10-31 17:44:16
【问题描述】:
我正在 Three.js 中创建一个有 6 个面的 3D 对象。每个面都有一个使用 THREE.PlaneGeometry 的网格(宽度和高度均为 256)。在网格上,我使用 256 x 256 的 JPEG 图片作为纹理。我正在尝试找到一种方法来在 Object3D 的 PlaneGeometry 上找到像素坐标的世界坐标(例如 200,250 是像素坐标),该坐标对应于该图片用作纹理的位置。 对象层次结构:- Object3D-->face(object3d)(共6个面)-->每个面都有一个mesh(planegeometry),并使用jpeg文件作为纹理。
Picture1像素坐标-->用于为Plane1创建纹理-->该像素坐标对应的世界坐标。
谁能帮帮我。
附加信息:- 感谢你的回答。我正在尝试比较 2 个结果。 方法 1:- 通过使用鼠标单击 3d 对象中的特定点(例如,作为前脸的特定汽车前灯的中心)并使用光线投射获取与前脸的交点来获得一个偏航/俯仰.
方法2:-另一个偏航/俯仰是通过获取同一点(特定汽车前灯的中心)的像素坐标并计算该像素点的世界空间坐标来获得的。请注意,像素坐标取自 JPEG 文件,该文件用作纹理来为网格创建 PlaneGeometry(它是正面的子对象)。
假设这两种方法的所有其他参数都相同,您认为上述比较方法应该产生相同的结果吗?
【问题讨论】:
-
你在哪里卡住了?
-
如果您解释了为什么需要这个世界坐标,我们可以提供一些关于找到它的最佳方法的指导。
-
通过查找世界坐标,我试图计算这个特定 3d 场景中该点的偏航角/俯仰角。这是预先映射的,如果我有世界坐标 (x,y,z),我可以使用标准公式计算偏航角/俯仰角。
-
对于mypetlion的问题,我真的不知道如何计算,现在我不知道如何解决这个问题!
标签: three.js