FYI:
Disregard everything I said above that involved time measurements in my local project. Neither console.time nor DevTools Network times do seem to indicate reliable data (or I have been using/reading them wrong). Had to measure actual loading time with a bloody stopwatchâŚ
Anyway, using my own Timer class now which seems to work. Based on that and if you are on any external hosting site with CORS shackles you are probably best off with using a normal GLB and let it be cached by the browser.
The JSON approach (i.e. serialise AnimGroups, store as json, load that json instead of a glb) is off the table. For some weird reason, if I load the 25mb json file with the Babylon AssetManager, it takes significantly longer as compared to loading it via an XMLHttpRequest! And then compared to the GLB you do not even win 1 second! Not to mention, that I at least was unable to do xml/fetch requests on itchio.
@labris I have just revisited your online tool. Is there a way to round/compress animation data?
Because I am seeing a lot of stuff like this in the GLB file (from Blender):
"name":"mixamorig:LeftHandIndex2",
"rotation":[
0.11024817079305649,
8.714422250477583e-08,
-3.5466763392832945e-07,
0.9939041137695312
],
"translation":[
0.00025584176182746887,
0.0321047380566597,
-3.534369170665741e-07
]
Do we really need rotation values down to the Planck scale? Does this make such a difference? At least translations could be rounded to like 3 or 4 figures. Oh and this
"scale":[
1,
0.9999998211860657,
0.9999999403953552
],
I didnât do that. I have a Blender script that actually is supposed to normalize scales I am guessing this happens when exporting.