javascript - 如何选择抽头模型three.js webxr
问题描述
我正在为 ar (webxr) 中添加到场景中的模型实现旋转功能,目前我只在最近添加的模型上实现它,但我想让用户使用存在的任何模型来执行它,所以我需要选择轻敲模型(我使用touchstart 事件),我使用 raycaster 并检查是否与对象相交但它不起作用,我需要更新相机吗?或者什么,这里是代码:
// loc is vec2d , I add rotation to model in rotatemodel
renderer.domElement.addEventListener('touchstart',function(e){
e.preventDefault();
touchDown=true;
touchX = e.touches[0].pageX;
touchY = e.touches[0].pageY;
loc.x = touchX ;
loc.y = - touchY;
raycaster.setFromCamera( loc , camera );
const intersects = raycaster.intersectObjects( scene.children );
if ( intersects.length > 0 ) {
if ( rotatemodel != intersects[ 0 ].object ) {
rotatemodel = intersects[ 0 ].object;
}
}
},false)
解决方案
touchstart
通过 WebXR 进入沉浸式模式时,浏览器会禁用触摸事件。因此,您不能使用它们在您的应用程序中实现交互性。
推荐阅读
- cobol - 在 COBOL 中操作变量的 HEX 值
- python - 编写一个程序,使用整数 user_num 和 x 作为输入,输出 user_num 除以 x 三倍
- huawei-mobile-services - ApiException:907122036:没有权利
- java - 从 MySQL 数据库中检索最近记录数时出现 Spring Boot/Hibernate 问题
- multithreading - 在线程之间共享相机帧
- vue.js - 在 Vue.js 中使用路由器渲染组件
- python - 解释缩放特征的逻辑回归系数
- node.js - 如何在不定义 Sequelize 模型的情况下使用 postgres 操作表
- git - 如何将 .env 文件存储在 github 中?
- reactjs - 如何通过 react-yandex-maps 在 yandex 地图上构建路线