首页 / 浏览问题 / WebGIS / 问题详情
WebGL加载glb模型动画,speedup属性不生效
64EXP 2023年09月20日
                let modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
 new Cesium.Cartesian3.fromDegrees(120.003, 41.001, 15));
                let model = scene.primitives.add(Cesium.Model.fromGltf({
                  url: this.modelUrl,
                  modelMatrix: modelMatrix,
                  scale: 0.5,
                }))
                Cesium.when(model.readyPromise).then((m) => {
                  // addAll 添加所有动画,add 添加指定动画
                  let addA = m.activeAnimations.add({
                    name: 'All Animations',
                    speedup : 190.5,                        // Play at double speed
                    reverse : true,                           
                    loop : Cesium.ModelAnimationLoop.REPEAT
                  })
                  console.log(addA)
                  addA.start.addEventListener((m1, animation) => {
                    // console.log('Animation started: ' + animation.name);
                  });
                  addA.update.addEventListener((m1, animation, time) => {
                    console.log('Animation updated: ' + animation.name + '. glTF animation time: ' + time);
                  });
                  addA.stop.addEventListener((m1, animation) => {
                    // console.log('Animation stopped: ' + animation.name);
                  });

                });

当我修改speedup对应的值的时候,动画没有变化,在update监听里面的时间的最大值没有变化,这是怎么回事?

1个回答

您好

speedup相关属于源生Cesium就有的功能,没有做改动

可以参考博客https://blog.csdn.net/weixin_39238200/article/details/125318900

https://blog.csdn.net/bguihiub/article/details/130420344

4,151EXP 2023年09月20日
关于speedup这个属性的问题,我根据官方的例子中看到了 multiplier属性,这个属性可以控制动画相对于 viewer的时间线 从而控制动画的快慢,这个和文档不太相符;
       然后我还有第二个问题就是,比如说电梯,电梯可以进行升降,也可以任一楼层停,像这种情况,让模型动画启动,然后暂停,然后再启动 这种连续的动画一般都是怎么实现的?
...