首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模型查看器和游标移动

模型查看器和游标移动
EN

Stack Overflow用户
提问于 2022-04-17 14:04:20
回答 1查看 284关注 0票数 0

我使用模型查看器的三维模型,我想要移动的三维模型,根据光标的移动。我不知道如何连接属性“相机-控件”中的HTML变量,以便在js中更改它们。到目前为止,我已经用HTML编写了以下内容:

代码语言:javascript
复制
<div class="hero">
 <model-viewer src="{% static "images/file_name.glb" %}" alt="3d model"
        loading="eager" camera-controls disable-zoom 
        reveal="auto" auto-rotate rotation-per-second="60deg"
        id="model">
 </model-viewer>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-31 15:26:38

我设法用以下代码解决了这个问题:

代码语言:javascript
复制
const modelViewer = document.getElementById('model'); 

document.onmousemove = handleMouseMove;
    function handleMouseMove(event) {
        var eventDoc, doc, body;

        event = event || window.event; // IE-ism

        // If pageX/Y aren't available and clientX/Y are,
        // calculate pageX/Y - logic taken from jQuery.
        // (This is to support old IE)
        if (event.pageX == null && event.clientX != null) {
            eventDoc = (event.target && event.target.ownerDocument) || document;
            doc = eventDoc.documentElement;
            body = eventDoc.body;

            event.pageX = event.clientX +
              (doc && doc.scrollLeft || body && body.scrollLeft || 0) -
              (doc && doc.clientLeft || body && body.clientLeft || 0);
            event.pageY = event.clientY +
              (doc && doc.scrollTop  || body && body.scrollTop  || 0) -
              (doc && doc.clientTop  || body && body.clientTop  || 0 );
        }

        // Use event.pageX / event.pageY here
        x = - (event.pageX / window.innerWidth * 100 - 50)
        if(media_change.matches){
          x = - (event.pageX / window.innerWidth * 100 - 30)
        }
        y = - (event.pageY / window.innerHeight * 50) + 120
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71902537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档