我有一个a-image
实体。
当我设置look-at="[camera]"
时,它不会指向活动的相机。
当我设置look-at="#camera"
(这是活动相机的ID)时,它可以正常工作。
有谁知道为什么它可能不适用于[camera]
?我有多个摄像头,但一次只有一个摄像头。
答案 0 :(得分:0)
[camera]
是querySelector
所以当你执行[camera]
(这意味着任何具有相机属性的元素,每个相机都有)时,你无法控制哪个相机会被选中。
如果您在摄像机之间切换并想要抓住活动摄像机,则需要在活动摄像机上设置类或属性。
您可以收听camera-set-active
事件:
document.querySelector('a-scene').addEventListener('camera-set-active', function (evt) {
// 1. Remove active class from all cameras.
// ...
// 2. Add active class to camera.
evt.detail.cameraEl.classList.add('active-camera');
});
对于look-at
,您可以执行look-at=".active-camera"
。不幸的是,由于该组件目前无法检测到类的更改,因此您需要刷新它。最快的方法是分离(removeAttribute
)并重新附加组件(setAttribute
)。