Aframe 如何获得a帧中的渲染器
我尝试在a-frame中使用three.js库。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
比如说,
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);//确定
});