代码之家  ›  专栏  ›  技术社区  ›  Niraj

一帧获取对象3D子对象

  •  0
  • Niraj  · 技术社区  · 7 年前

    我正在为一个游戏使用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时,我在控制台日志中得到以下内容-

    enter image description here

    但是e.detail.model在控制台日志中给出了以下内容-

    enter image description here

    因此,当我尝试从data.target.object3d.children[0]访问“OSG_场景”时,我在console.log中得到了“undefined”。

    1. data.target.getObject3D('场景')

    非常感谢你的帮助。

    1 回复  |  直到 7 年前
        1
  •  1
  •   ngokevin    7 年前

    应该是 data.target.getObject3D('mesh')