动画模型,支持GLTF/GLB等格式的骨骼动画播放与控制。 继承自 SimpleModel,可用于加载带有动画的3D模型,并提供动画的播放、停止、速度、循环等控制接口。
// 加载带动画的模型let model = engine.add(new mapvthree.AnimationModel({ url: 'assets/models/animated.glb', autoPlay: true}));// 播放第1个动画model.play(0);// 停止所有动画model.stopAll();// 设置动画速度为2倍model.setSpeed(2); 复制
// 加载带动画的模型let model = engine.add(new mapvthree.AnimationModel({ url: 'assets/models/animated.glb', autoPlay: true}));// 播放第1个动画model.play(0);// 停止所有动画model.stopAll();// 设置动画速度为2倍model.setSpeed(2);
构造函数
配置参数,参考SimpleModel
释放动画相关资源
播放指定索引的动画
可选
动画索引,默认播放第一个
model.play(1); // 播放第2个动画 复制
model.play(1); // 播放第2个动画
播放所有动画
model.playAll(); 复制
model.playAll();
设置动画循环模式
是否循环,true为循环,false为只播放一次
动画索引,若不传则设置所有动画
model.setLoop(true); // 所有动画循环model.setLoop(false, 0); // 第1个动画只播放一次 复制
model.setLoop(true); // 所有动画循环model.setLoop(false, 0); // 第1个动画只播放一次
设置动画播放速度
播放速度,1为正常速度
model.setSpeed(2); // 所有动画2倍速model.setSpeed(0.5, 0); // 第1个动画0.5倍速 复制
model.setSpeed(2); // 所有动画2倍速model.setSpeed(0.5, 0); // 第1个动画0.5倍速
设置模型的变换参数
变换参数对象
位置坐标[经度,纬度,高度]
旋转角度,x,y,z三个分量分别代表roll,pitch,heading (单位为弧度)
缩放比例
// 设置位置、旋转和缩放model.setTransform({ point: [116.404, 39.915, 100], rotation: [Math.PI/2, 0, 0], scale: [2, 2, 2]});// 只设置位置model.setTransform({ point: [116.404, 39.915, 100]});// 使用Vector3设置model.setTransform({ point: new Vector3(116.404, 39.915, 100), scale: new Vector3(2, 2, 2)}); 复制
// 设置位置、旋转和缩放model.setTransform({ point: [116.404, 39.915, 100], rotation: [Math.PI/2, 0, 0], scale: [2, 2, 2]});// 只设置位置model.setTransform({ point: [116.404, 39.915, 100]});// 使用Vector3设置model.setTransform({ point: new Vector3(116.404, 39.915, 100), scale: new Vector3(2, 2, 2)});
停止指定索引的动画
动画索引,默认停止第一个
model.stop(0); // 停止第1个动画 复制
model.stop(0); // 停止第1个动画
停止所有动画
model.stopAll(); 复制
model.stopAll();
是否自动将Y轴向上转换为Z轴向上,仅对通过URL加载的模型有效
设置模型位置
model.point = [116.404, 39.915, 100]; 复制
model.point = [116.404, 39.915, 100];
动画模型,支持GLTF/GLB等格式的骨骼动画播放与控制。 继承自 SimpleModel,可用于加载带有动画的3D模型,并提供动画的播放、停止、速度、循环等控制接口。
示例