Animated gltf exported from blender throw error when loaded

1. A concise explanation of the problem you’re experiencing.

I make a skin character model in blender 2.8, and export it to gltf. When I load the model into Cesium, it throw errors like below

But I can view the model in Babylon.js and three.js viewer in VS Code, and play the animation.

2. A minimal code example. If you’ve found a bug, this helps us reproduce and repair it.

After debug I found the error is because the gltf skins have no skeleton property, so the code throw error in Model.js:

var skin = gltfNode.skin;

if (defined(skin)) {

skeletonIds.push(skins[skin].skeleton);

}

``

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

It is a commonly need for animated model exported from Blender to be visualized in Cesium.

4. The Cesium version you’re using, your operating system and browser.

Cesium 1.60

Windows10

Chrome 75.0.3770.142

character.zip (827 KB)

Thanks for reporting this. This does look like a bug, and I’ve opened a GitHub issue for it here with some more info: https://github.com/AnalyticalGraphicsInc/cesium/issues/8175

It looks like the problem is like you pointed out, that it doesn’t have skeletons defined which CesiumJS seems to assume is required.