如何旋转 camera/world 以专注于任何实体

how to rotate camera/world to focus on any entity

我想做类似的东西,但我在旋转 camera/scene 时遇到问题(我都试过了)。我面临的问题是,因为我们不能再在框架中设置相机旋转,所以我尝试将它包装到一个实体标签中,我将在此调用 camera-rig 并旋转它,但是,如果用户与相机交互然后点击按钮应该聚焦的实体不会聚焦任何人都可以帮助我吗

我想做什么(click here)

我做了什么(click here)

要在故障中旋转世界请点击场景中的介绍按钮

是的,外观控件确实覆盖了旋转组件。但是您仍然可以使用三个 js 命令设置相机的旋转。

    AFRAME.registerComponent('camcontrol',{     
        init: function(){
            let self = this;
            this.el.addEventListener('loaded', function(){
                self.cam3d = self.el.object3D.children[0];
            });
            this.el.addEventListener('animationcomplete__look', function(){
                self.data.animactive = false;
            });
        },
        update: function(){
            if (this.data.animactive){
                let rot = this.data.rot;
                // console.log('update: rot ', rot);
                let euler = new THREE.Euler( rot.x, rot.y, rot.z, 'ZXY');
                this.cam3d.setRotationFromEuler(euler);
            }
        },
        lookAt: function(pos){          
            this.cam3d.lookAt(pos.x, pos.y, pos.z);         
        }
    });

故障here

将视线移向目标的动画有点复杂。 我主要让它工作,但也有一些问题。 故障 here