Aframe 如何获得a帧中的渲染器

Aframe 如何获得a帧中的渲染器,aframe,Aframe,我尝试在a-frame中使用three.js库。 比如说, var helper = new THREE.MMDHelper(renderer); 我不知道如何在a帧中获得渲染器 a场景具有渲染器属性。 => 但是,它没有定义 document.querySelector('a-scene').renderer; <= undefined document.querySelector('a-scene')。渲染器 在渲染器可用之前,需要等待场景初始化: sceneEl.addEve

我尝试在a-frame中使用three.js库。
比如说,

var helper = new THREE.MMDHelper(renderer);
我不知道如何在a帧中获得渲染器

a场景具有渲染器属性。
=>
但是,它没有定义

document.querySelector('a-scene').renderer; <= undefined 

document.querySelector('a-scene')。渲染器 在渲染器可用之前,需要等待场景初始化:

 sceneEl.addEventListener('render-target-loaded', function () {
   // sceneEl.renderer is now set.  
 });

如果您在组件中编写代码,可以保证所有内容都已加载:

AFRAME.registerComponent('do-something', {
  init: function () { 
    console.log(this.el.renderer);
  }
});


<script src="do-something-component.js"></script>
<a-scene do-something></a-scene>
AFRAME.registerComponent('do-something'{
init:function(){
log(this.el.renderer);
}
});

谢谢,唐·麦考迪和凯文

顺便说一句,我在寻找相机的属性。
我可以使用“camera set active”(相机设置活动)获取相机属性。
供你参考

<html>
  <head>
    <title>a-frame sample</title>
    <script src="https://aframe.io/releases/0.3.0/aframe.min.js"></script>
  </head>
  <body>
    <a-scene do-something>
    </a-scene>
  </body>
  <script>

var sceneEl = document.querySelector('a-scene');

window.onload = function() {
  console.log('window.onload');
  console.log(document.querySelector('a-scene').renderer);  // undefined
  console.log(document.querySelector('a-scene').camera);    // undefined
}

AFRAME.registerComponent('do-something', {
  init: function() {
    console.log('do-something init');
    console.log(this.el.renderer);    // OK
    console.log(this.el.camera);      // undefined

    this.el.addEventListener('camera-set-active', this.cameraSetActive.bind(this));
  },

  cameraSetActive: function() {
    console.log('do-something cameraSetActive');
    console.log(this.el.renderer);    // OK
    console.log(this.el.camera);      // OK
  }
});

sceneEl.addEventListener('render-target-loaded', function() {
  console.log('render-target-loaded');
  console.log(document.querySelector('a-scene').renderer);  // OK
  console.log(document.querySelector('a-scene').camera);    // undefined
});

sceneEl.addEventListener('camera-ready', function() {
  console.log('camera-ready');
  console.log(document.querySelector('a-scene').renderer);  // OK
  console.log(document.querySelector('a-scene').camera);    // undefined
});

sceneEl.addEventListener('camera-set-active', function() {
  console.log('camera-set-active');
  console.log(document.querySelector('a-scene').renderer);  // OK
  console.log(document.querySelector('a-scene').camera);    // OK
});

  </script>
</html>

a型架样品
var sceneEl=document.querySelector('a-scene');
window.onload=函数(){
console.log('window.onload');
console.log(document.querySelector('a-scene').renderer);//未定义
console.log(document.querySelector('a-scene').camera);//未定义
}
AFRAME.registerComponent('do-something'{
init:function(){
log('do-somethinit');
console.log(this.el.renderer);//确定
console.log(this.el.camera);//未定义
this.el.addEventListener('camera-set-active',this.cameraSetActive.bind(this));
},
cameraSetActive:函数(){
log('do-something cameraSetActive');
console.log(this.el.renderer);//确定
console.log(this.el.camera);//好的
}
});
sceneEl.addEventListener('render-target-loaded',function(){
console.log('render-target-loaded');
console.log(document.querySelector('a-scene').renderer);//确定
console.log(document.querySelector('a-scene').camera);//未定义
});
sceneEl.addEventListener('camera-ready',function(){
console.log(“摄像头就绪”);
console.log(document.querySelector('a-scene').renderer);//确定
console.log(document.querySelector('a-scene').camera);//未定义
});
sceneEl.addEventListener('camera-set-active',function(){
console.log('camera-set-active');
console.log(document.querySelector('a-scene').renderer);//确定
console.log(document.querySelector('a-scene').camera);//确定
});