我正在为一个游戏使用gltf模型。它被引用为-
<a-asset-item id="orca1" src="../images/models/orca/scene.gltf"></a-asset-item>
然后作为
<a-entity id="orca" position="-1 0.4 -40" gltf-model="#orca1"></a-entity>
<a-entity model-subset="target: #orca"></a-entity>
因此,在“模型子集”组件中,我试图控制object3d场景,以便克隆它。下面是我在那里访问object3d的方式
AFRAME.registerComponent('model-subset', {
schema: {
target: { default: '', type: 'selector' }
},
init: function() {
var data = this.data;
var el = this.el;
console.log(data.target.object3D.children);
data.target.addEventListener('model-loaded', function(e) {
this.model = e.detail.model;
console.log(this.model)
})
}
})
我试图理解的是-当我执行data.target.object3D.children时,我在控制台日志中得到以下内容-
但是e.detail.model在控制台日志中给出了以下内容-
因此,当我尝试从data.target.object3d.children[0]访问“OSG_场景”时,我在console.log中得到了“undefined”。
-
data.target.getObject3D('场景')
或
-
非常感谢你的帮助。