23 lines
545 B
JavaScript
23 lines
545 B
JavaScript
/**
|
|
* Pull a submesh out of a model file.
|
|
*/
|
|
AFRAME.registerComponent('sub-object', {
|
|
schema: {
|
|
from: {type: 'selector'},
|
|
name: {type: 'string'}
|
|
},
|
|
|
|
init: function () {
|
|
var el = this.el;
|
|
var data = this.data;
|
|
|
|
data.from.addEventListener('model-loaded', evt => {
|
|
const model = evt.detail.model;
|
|
const subset = model.getObjectByName(data.name);
|
|
el.setObject3D('mesh', subset.clone());
|
|
el.setAttribute('material', 'shader', 'flat');
|
|
el.emit('subobjectloaded', null, false);
|
|
});
|
|
}
|
|
});
|