admin管理员组

文章数量:1289832

Is it possible in A-FRAME framework to pass some extra user data through JSON gltf object?

For example, I have this JSON and can get extras with Three.js as new THREE.GLTFLoader() and mesh.userData[0] is that "extras" my.gltf file:

{
   "accessors" : [
      {
         "bufferView" : 0,
         "componentType" : 5123,
         "count" : 1854,
         "max" : [ 1853 ],
         "min" : [ 0 ],
         "name" : "buffer-0-accessor-indices-buffer-0-mesh-0",
         "type" : "SCALAR"
      },...
   ...
,
"extras": [{
    "dimensions": {
        "x": 5, 
        "y": 6, 
        "z": 7},
    "name": "Some Name",
    "project": "Some project",
    "customData": {
      "someKey": "someValue"
    }
}]

But using A-FRAME as element.setAttribute('gltf-model', strURL); this extras is not available, userData under mesh is empty.

Here UserData is empty.

const strURL = './my.gltf';

let element = document.createElement('a-entity');
element.setAttribute('gltf-model', strURL);
document.querySelector('a-scene').appendChild(element);

function handleModel() {
    let mesh = element.getObject3D('mesh');
    if (!mesh) {
        element.addEventListener('model-loaded', handleModel);
        return;
    }
    console.log("User data:", mesh.userData);
}
handleModel();

本文标签: javascriptAFRAME can39t get extras data from gltf JSON objectStack Overflow