【发布时间】:2019-01-15 06:38:28
【问题描述】:
我正在实现渲染器的动画功能以扩展一些功能。
this.scene = document.querySelector('a-scene').object3D;
this.renderer = document.querySelector('a-scene').renderer;
var comp = this;
this.scene.children.forEach(element => {
element.traverse(function (node) {
if(node.type === "PerspectiveCamera"){
comp.camera = node;
comp.renderer.animate( update )
}
});
});
function update(){
if(THREE.VRController){
THREE.VRController.update();
}
var scene = document.querySelector('a-scene').object3D;
var renderer = document.querySelector('a-scene').renderer;
scene.children.forEach(element => {
element.traverse(function (node) {
if(node.type === "PerspectiveCamera"){
var camera = node;
var lookcontrols = node.el.components['look-controls'];
if(lookcontrols){
lookcontrols.play();
}
renderer.render( scene, camera );
}
});
});
}
当我注释代码行 comp.renderer.animate(update) 时,外观控件开始工作。我想保持上面的实现和外观控制工作。请提出一种方法。
【问题讨论】: