javascript - 有没有办法在运行时通过使用模式中的选择器在 A-Frame 中设置“gltf-model”或“obj-model”?
问题描述
我正在制作一个 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,它可以完美地工作。
解决方案
推荐阅读
- python-3.x - 根据其他列对 pandas 数据帧进行求和和规范化
- google-chrome - gmail帐户如何存储其他网站的密码
- javascript - messageReactionAdd 仅检测缓存的消息
- r - 如何执行点到栅格操作并在 R 中使用不同空间分辨率的栅格进行绘制?
- axios - axios 没有在任何请求中添加默认 baseUrl,即使它已设置
- apache-kafka-streams - kafka 流 - 加入分区主题
- excel - Excel获取列中的最后一个数据并从不同列返回值
- c# - 团结蹲伏
- html - 检查器窗口的 html 中的 ::marker 是什么意思?
- linux - 如何使用终端删除mac中子文件夹下的常用文件