【问题标题】:How to add div element or hotspot inside 360 panaroma image in three.js?如何在three.js中的360全景图像中添加div元素或热点?
【发布时间】:2019-07-11 16:28:17
【问题描述】:

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

我已经尝试过使用精灵材质。它工作正常,但不能在该精灵材料中使用任何 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

【问题讨论】:

标签: javascript three.js 360-panorama


【解决方案1】:

【讨论】:

  • 实际上我正在使用three.js,并且不想使用除此之外的任何其他库。你能帮我在three.js上做吗?
  • panolensjs 和threejs 可以同时使用
猜你喜欢
  • 2018-04-21
  • 1970-01-01
  • 2020-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-13
  • 2016-12-07
相关资源
最近更新 更多