cesium展示gltf2.0 动画

笔者发现,cesium最新版已经能展示gltf2.0动画。为此把经验分享给大家。

废话不多说,直接贴代码。

var viewer = new Cesium.Viewer('cesiumContainer', {
  shouldAnimate: true, // (非常重要) 设置true是为了动画可以自动播放
  // …… 省略了其他和本文无关参数
})

var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
  Cesium.Cartesian3.fromDegrees(102.0, 24.0, 0.0)
) // 102.0表示经度,24.0表示纬度,0.0表示高度,读者可自行替换。

var model = scene.primitives.add(Cesium.Model.fromGltf({
  // url: blender2.8 导出的.glb或者.gltf格式文件的路径(带动画的)如:
  url: './gltf/JinChe1.glb', 
  modelMatrix: modelMatrix,
  scale: 1.0, // 放大缩小倍数 1.0表示不放大缩小,2.0放大一倍,0.5缩小一倍。 
}))

// (非常重要) 加载模型动画,model为模型变量,
// 有两处model.readyPromise和model.activeAnimations……读者可自行替换
Cesium.when(model.readyPromise).then(function() {
    model.activeAnimations.addAll({
    loop: Cesium.ModelAnimationLoop.REPEAT
  })
})

效果视频:https://pan.baidu.com/s/1Iq-AgxLpzwzUu_6eB41g5Q
提取码:1nrt

3 thoughts to “cesium展示gltf2.0 动画”

发表评论