如何在three.js中的360度全景图像内添加div元素或热点?

时间:2019-07-11 08:01:35

标签: javascript three.js 360-panorama

我正在通过上传360图像来创建虚拟游览,并且希望在360图像的点击位置上在该360图像内包含热点或任何div元素。我应该从事件值中保存什么到数据库中,例如我可以从单击的事件中获取角度值和event.clientX或event.clientY值。如果我创建div,则在旋转360度图像时,该div会保持在同一位置,但是我希望在旋转相机时隐藏该div。

我已经尝试过使用精灵材质。它工作正常,但不能在该Sprite材质内使用任何CSS。因此,我希望在画布外部设置div元素,在其中可以设置顶部,左侧位置值并显示热点或任何div元素。

onMouseMove( event ) {
    const intersects = raycaster.intersectObjects(spheremesh, true);
    if (intersects[0]) {
        var infoHotspotsPoint = intersects[0].point;
        $('#hotspotdiv').css({
            top: `${event.offsetY}px`,
            left: `${event.offsetX}px`
        });
    }
 }

此选项仅在旋转时显示在360图像中的一个位置。但是,如果该特定的单击部分不可见,我希望该div也可以移动并隐藏。

我想要这样的东西:

https://dubai360.com/scene/5526-49-al-seef-walkabout-49/en

1 个答案:

答案 0 :(得分:0)