【问题标题】:Coordinates of clicked object relative to the same clicked object单击对象相对于同一个单击对象的坐标
【发布时间】:2015-05-13 20:45:12
【问题描述】:

我有旋转物体(球体)。当我点击一个对象时,我通过以下方式获得相对于相机的坐标:

var raycaster = new THREE.Raycaster();
raycaster.setFromCamera( mouse, camera );
var intersects = raycaster.intersectObjects( cameradestinations, true );

如何获得相对于点击对象位置的坐标,而不是相对于场景中心的坐标?

(是的,我可以制作 clicked.point - clicked.position,但这里有更聪明的东西吗?)

【问题讨论】:

    标签: three.js


    【解决方案1】:

    如果你有一个带有世界坐标的向量并且希望它们在一个对象的局部空间中,你可以使用 Object3D 类中的 .worldToLocal() 方法。

    intersectedObject.worldToLocal(point);
    

    【讨论】:

    • 就这么简单?人谢谢你!我刚刚创建了一个同样的功能。这反映了物体的旋转吗?
    • 我的意思是如果 intersectedObject 正在旋转并且我点击了他,我是否得到了点向量,就像对象处于零旋转状态一样,或者我得到了相同的 clicked.point - clicked.position 结果?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    相关资源
    最近更新 更多