components - Aframe togle 活动相机轨道控制覆盖第二个相机的外观控制
问题描述
我正在尝试使用 2 个按钮在 2 个摄像头之间切换。开关按预期工作完美无缺,但存在一个问题。活动相机是一个带有轨道控制组件的相机,第二个相机是一个带有 constrainToNavMesh 运动控制组件的“装备”。第一个相机工作正常,但在我切换后的第二个相机上,我只能移动(wasd)并且失去了相机旋转/平移但是当我再次切换到第一台相机时,平移动作实际上在第一台相机中生效。有人可以告诉我我做错了什么吗?
HTML
<a-entity
id="camara_principal"
position="-5.481 -0.15 13"
movement-controls="speed: 0.08; constrainToNavMesh: true">
<a-entity
id="camera_caminhar"
camera="far: 2000;"
position="0 1.6 0"
look-controls="pointerLockEnabled: false">
<a-entity
id="camera_box"
geometry="primitive: box; active: false;"
position="0 -0.3 0"
aabb-collider="objects: a-box; collideNonVisible: true;"
scale="0.1 0.1 0.1"
material="opacity:0">
</a-entity>
</a-entity>
</a-entity>
<a-entity
id="camera_orbita"
camera="far: 2000;"
orbit-controls="autoRotate: true; autoRotateSpeed: 0.2;target:-1.5 0 -1; minDistance: 13; maxDistance: 35; initialPosition: 0 7 35; maxPolarAngle:87; minPolarAngle:60;">
</a-entity>
Javascript
function CamaraSecundaria(){
var secondCameraEl = document.querySelector('#camera_orbita');
secondCameraEl.setAttribute('camera', 'active', true);
};
function CamaraPrincipal(){
var firstCameraEl = document.querySelector('#camera_caminhar');
firstCameraEl.setAttribute('camera', 'active', true);
};
(EDIT)Added pause(); and play(); to parent entity but still no success!
function CamaraPrincipal(){
var firstCameraEl = document.querySelector('#camera_caminhar');
firstCameraEl.setAttribute('camera', 'active', true);
document.querySelector('#camera_orbita').pause();
document.querySelector('#camara_principal').play();
};
谢谢!PS:这个错误只出现在手机版,PC端测试正常。这是项目的链接https://www.digimatter.pt/PT/2camaras_teste.html
解决方案
推荐阅读
- javascript - 如何禁用自定义滑块中的“上一个”和“下一个”按钮?
- gitlab - GitLab,将 2 个现有项目克隆到单个根文件夹
- python - Numpy:将三个 1D 数组组装成 3D(但不完全是简单的坐标网格)
- mongodb - NodeJS mongoose 传入一个 id 数组
- java - 为什么我的字符串数组数组中的数据变为空?
- powershell - Powershell 脚本正在将用户添加到文件夹 ACL 但未应用权限
- javascript - Javascript增量循环(倒序)
- python - Django + HTML:即使我没有提交兴趣,为什么我的模板中的 if 条件也会失败?
- python - 使用空白数据将字符串转换为日期时间
- android - 关闭 DialogFragment 时出现 NullPointerException