Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法设定一个';gltf模型&x27;或';obj模型&x27;在运行时使用模式中的选择器在A帧中?_Javascript_Aframe_Webvr - Fatal编程技术网

Javascript 有没有办法设定一个';gltf模型&x27;或';obj模型&x27;在运行时使用模式中的选择器在A帧中?

Javascript 有没有办法设定一个';gltf模型&x27;或';obj模型&x27;在运行时使用模式中的选择器在A帧中?,javascript,aframe,webvr,Javascript,Aframe,Webvr,我正在制作一个A-Frame项目,在该项目中,我必须在运行时根据用户输入将3D对象设置为实体。有没有办法使用选择器类型来设置它 例如: AFRAME.registerComponent('model',{ schema:{ ext: {type: 'string', default:'gltf'}, scene:{type: 'selector'}, material:{type: 'selector'}, scale:{type: 'string', default:

我正在制作一个A-Frame项目,在该项目中,我必须在运行时根据用户输入将3D对象设置为实体。有没有办法使用选择器类型来设置它

例如:

AFRAME.registerComponent('model',{
schema:{
   ext: {type: 'string', default:'gltf'},
   scene:{type: 'selector'},
   material:{type: 'selector'},
   scale:{type: 'string', default: '1 1 1'}
},
init: function (){
   var el = this.el;
   var data = this.data;
   if(data.ext == 'obj')
   {
     el.setAttribute('obj-model','obj',data.scene);
     el.setAttribute('obj-model','mtl',data.material);
   }
   else
     el.setAttribute('gltf-model',data.scene);
   el.setAttribute('scale',data.scale);
   console.log(this.el.toString() + ': Model component registered successfully!');
   }
});
通过使用元素ID设置它是不起作用的,但是如果我在HTML文档中手动输入ID,它会很好地工作。

和组件不使用DOM元素,而是使用URL或选择器。将选择器向右传递到模型中

AFRAME.registerComponent('model',{
 schema:{
  ext: {type: 'string', default:'gltf'},
  scene:{type: 'string' },
  material:{type: 'string'},
  scale:{type: 'string', default: '1 1 1'}
}

我觉得我们仍然缺少一些信息。如果您分享一个完整的可运行示例,那么会更容易提供帮助。这个小故障肯定很棒!我创建了一个简单的故障示例来展示该组件。以下是它的链接: