AnimationProvider

new CooSDK.AnimationProvider(props)

用于创建模型动画。


模型动画效果图
Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
url String

动画模型路径。

geoPosition PositionObj

模型初始位置经纬度坐标。

objectArray Array.<AnimationFrameObj>

动画帧在SDK中的对象实体。

elementValue Vector4Obj new Vector4Obj(0, 0, 0, 0) optional

动画元素初始值,三个参数为模型在x、y、z轴上的缩放值,第四个参数为模型的旋转值,x轴指向正北,y轴指向上方向,z轴指向正东。

playMode EnumPlayMode EnumPlayMode.ONCE optional

动画播放模式。默认为播放一次。

rotateActionType EnumRotateActionType EnumRotateActionType.DOUBLELD optional

旋转动画差值计算方式。默认为双精度线性插值方式。

scaleActionType EnumScaleActionType EnumScaleActionType.LD3D optional

缩放动画差值计算方式。默认为三维数线性插值方式。

screen CooMap | ScreenObj null optional

所属窗口,默认为CooMap所拥有的主窗口。

transActionType EnumTransActionType EnumTransActionType.LD3D optional

平移动画差值计算方式。默认为三维数线性插值方式。

Example:
//创建动画行为配置插值方式和行为类型
var animationFrameObj = new CooSDK.AnimationFrameObj({
     time: 0,
     geoPos: new CooSDK.PositionObj(120.219960777544, 30.212226098271, 20)
});
var animationFrameObj2 = new CooSDK.AnimationFrameObj({
     time: 10,
     geoPos: new CooSDK.PositionObj(120.217207599772, 30.210580791105, 112)
});

var actionObj = new CooSDK.AnimationProvider({
     objectArray: [animationFrameObj, animationFrameObj2],
     url: gAnimationModelUrl,
     transActionType: CooSDK.EnumActionType.LD3D,
     geoPosition: new CooSDK.PositionObj(120.219960777544, 30.212226098271, 20),
});       
Demo:

Members

geoPosition : PositionObj

获取或者设置模型初始位置经纬度坐标。

objectArray : Array.<AnimationFrameObj>

获取或者设置动画帧在SDK中的对象实体。

playMode : EnumPlayMode

获取或者设置动画播放模式。默认为播放一次。

Default Value: EnumPlayMode.ONCE

rotateActionType : EnumRotateActionType

获取或者设置旋转动画差值计算方式,默认为三维数线性插值方式。

Default Value: EnumRotateActionType.DOUBLELD

scaleActionType : EnumScaleActionType

获取或者设置缩放动画差值计算方式,默认为三维数线性插值方式。

Default Value: EnumScaleActionType.LD3D

transActionType : EnumTransActionType

获取或者设置平移动画差值计算方式,默认为三维数线性插值方式。

Default Value: EnumTransActionType.LD3D

url : String

获取或者设置动画模型路径。

Methods

deserialize(url)AnimationProvider

Name Type Description
url String

反序列化文件保存路径,支持本地路径和网络路径。

Returns:

模型动画对象。

destroy()

从场景中销毁自身。

Returns:

null 空值。

Example:
// 销毁对象
actionLayer = actionLayer.destroy();

serialize(url)

Name Type Description
url String

序列化文件保存路径,仅支持本地路径。。

update(props)

更新单个或者多个对象属性,使之立即生效。

一般用于多个属性的同时更新,避免逐个更新导致的性能开销过大。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
playMode EnumPlayMode optional

动画播放模式。默认为播放一次。

url String

动画模型路径。

Example:
// 更新动画部分配置属性
animationProvider.update({
   // 修改播放模式
   playMode : ONCE
});