AR_Engine_SDK
Functions | Variables
XELayersAnimaPlay.lua File Reference
类 XEAnimTimeAreaBase 继承关系图:
Inheritance graph
类 XEAnimtionTimeArea 继承关系图:
Inheritance graph
类 XEAnimMontageTimeArea 继承关系图:
Inheritance graph
类 XEAnimBlendLayer 继承关系图:
Inheritance graph
类 XELayersAnimaPlay 继承关系图:
Inheritance graph

Functions

function XEAnimTimeAreaBase GetAnimationLength () end
 
function XEAnimTimeAreaBase GetAreaName () end
 
function XEAnimTimeAreaBase SetAreaName (szName) end
 
function XEAnimTimeAreaBase GetAreaLayerName () end
 
function XEAnimTimeAreaBase SetAreaLayerName (strName) end
 
function XEAnimTimeAreaBase GetStartTime () end
 
function XEAnimTimeAreaBase SetStartTime (fStartTime) end
 
function XEAnimTimeAreaBase GetEndTime () end
 
function XEAnimTimeAreaBase SetEndTime (fEndTime) end
 
function XEAnimTimeAreaBase GetSampleClipStartTime () end
 
function XEAnimTimeAreaBase SetSampleClipStartTime (fStartTime) end
 
function XEAnimTimeAreaBase GetSampleClipEndTime () end
 
function XEAnimTimeAreaBase SetSampleClipEndTime (fEndTime) end
 
function XEAnimTimeAreaBase GetType () end
 
function XEAnimMontageTimeArea GetMontageInstance () end
 
function XEAnimMontageTimeArea GetAnimTimeAreaByName (szName) end
 
function XEAnimBlendLayer ComputeLinearFactor (fStart, fEnd, fCur, eType) end
 
function XEAnimBlendLayer new (szName, pAsset) end
 
function XEAnimBlendLayer SetStartTime (fTime) end
 
function XEAnimBlendLayer SetEndTime (fTime) end
 
function XEAnimBlendLayer AddAnimationAsset (szName, pAsset) end
 
function XEAnimBlendLayer AddMontageAsset (szName, pModelComponent, pAssetPath) end
 
function XEAnimBlendLayer RemoveAnimationAsset (szName) end
 
function XEAnimBlendLayer GetTimeAreaByName (szName) end
 
function XEAnimBlendLayer GetTimeAreaNum () end
 
function XEAnimBlendLayer GetTimeAreaByIndex (nIndex) end
 
function XEAnimBlendLayer GetWeightCurve () end
 
function XEAnimBlendLayer SetInterBlendType (eType) end
 
function XEAnimBlendLayer GetInterBlendType () end
 
function XEAnimBlendLayer UpdateLayerStartEndTime () end
 
function XELayersAnimaPlay new (pIns) end
 
function XELayersAnimaPlay new (pModelComponent) end
 
function XELayersAnimaPlay AddLayer (eType, szLayerName, pAsset) end
 
function XELayersAnimaPlay AddLayer (extType, szLayerName, szAssetPath) end
 
function XELayersAnimaPlay UpdateTimeLine () end
 
function XELayersAnimaPlay SetModelComponent (pComponent) end
 
function XELayersAnimaPlay GetModelComponent () end
 
function XELayersAnimaPlay GetCurrentTime () end
 
function XELayersAnimaPlay RemoveLayer (nIndex) end
 
function XELayersAnimaPlay RemoveLayer (szName) end
 
function XELayersAnimaPlay RemoveAllLayers () end
 
function XELayersAnimaPlay SetCurrentTime (fValue) end
 
function XELayersAnimaPlay GetLayerNum () end
 
function XELayersAnimaPlay GetLayer (nIndex) end
 
function XELayersAnimaPlay GetLayer (szName) end
 
function XELayersAnimaPlay BlendAndSetTwoLayers (layer1Name, asset1Path, layer2Name, asset2Path) end
 
function XELayersAnimaPlay BlendAndSetTwoAreaInALayer (layerName, area1Name, asset1Path, area2Name, asset2Path) end
 
function XELayersAnimaPlay BlendAnimIntoTimelineAtTimstamp (newLayerName, assetPath, fTimestamp, fAnimSampleClipStartOffset, fAnimSampleClipEndOffset, fCrossTime) end
 
function XELayersAnimaPlay BlendAnimIntoCurrentTimeline (newLayerName, assetPath, fAnimSampleClipStartOffsest, fAnimSampleClipEndOffset) end
 
function XELayersAnimaPlay GetLayerAnimStartTime (layerName, bGetActualClipStartTime) end
 
function XELayersAnimaPlay GetLayerAnimEndTime (layerName, bGetActualClipEndTime) end
 
function XELayersAnimaPlay GetAreaAnimStartTime (layerName, areaName, bGetActualClipStartTime) end
 
function XELayersAnimaPlay GetAreaAnimEndTime (layerName, areaName, bGetActualClipEndTime) end
 

Variables

 XEAnimTimeAreaBase = {}
 
XEAnimTimeAreaBase ATA_UNKNOWN = 0
 
XEAnimTimeAreaBase ATA_XANIMATION = 0
 
XEAnimTimeAreaBase ATA_MONTAGE = 0
 

Function Documentation

◆ AddAnimationAsset()

function XEAnimBlendLayer AddAnimationAsset ( szName  ,
pAsset   
)

在当前layer上添加seq动画区域

Parameters
szNamestring seq动画区域名称
pAssetIXAnimationBase 加载seq资源返回的指针
Returns
XEAnimtionTimeArea seq动画区域指针

◆ AddLayer() [1/2]

function XELayersAnimaPlay AddLayer ( eType  ,
szLayerName  ,
pAsset   
)

添加一个Layer

Parameters
eTypeAnimControllerType 该层动画控制器类型
szLayerNamestring Layer名称
pAssetIXAnimationBase 动画资源指针
Returns
number Layer索引

◆ AddLayer() [2/2]

function XELayersAnimaPlay AddLayer ( extType  ,
szLayerName  ,
szAssetPath   
)

添加一个Layer

Parameters
extTypenumber 该层动画控制器类型
szLayerNamestring Layer名称
szAssetPathstring 动画资源路径
Returns
number Layer索引

◆ AddMontageAsset()

function XEAnimBlendLayer AddMontageAsset ( szName  ,
pModelComponent  ,
pAssetPath   
)

在当前layer上添加montage动画区域

Parameters
szNamestring montage动画区域
pModelComponentXEModelComponent montage动画关联的ModelComponent
pAssetPathstring 动画资源路径
Returns
XEAnimMontageTimeArea montage动画区域指针

◆ BlendAndSetTwoAreaInALayer()

function XELayersAnimaPlay BlendAndSetTwoAreaInALayer ( layerName  ,
area1Name  ,
asset1Path  ,
area2Name  ,
asset2Path   
)

创建两层动画达到融合效果(融合之后是1层,默认使最后0.5s作为融合区域,并使用sin_in_out类型)

Parameters
layerNamestring Layer的名称
area1Namestring 第一个动画区域名称
asset1Pathstring 第一个动画资源路径
area2Namestring 第二个动画区域名称
asset2Pathstring 第二个动画资源路径
Returns
boolean 是否成功

◆ BlendAndSetTwoLayers()

function XELayersAnimaPlay BlendAndSetTwoLayers ( layer1Name  ,
asset1Path  ,
layer2Name  ,
asset2Path   
)

创建两层动画达到融合效果(融合之后是2层,默认使最后0.5s作为融合区域,并使用sin_in_out类型)

Parameters
layer1Namestring 第一个Layer的名称
asset1Pathstring 第一个动画资源路径
layer2Namestring 第二个Layer的名称
asset2Pathstring 第二个动画资源路径
Returns
boolean 是否成功

◆ BlendAnimIntoCurrentTimeline()

function XELayersAnimaPlay BlendAnimIntoCurrentTimeline ( newLayerName  ,
assetPath  ,
fAnimSampleClipStartOffsest  ,
fAnimSampleClipEndOffset   
)

添加一层新动画,让它以当前时刻为开始点,并让它与已有层动画达到融合效果(使用sin_in_out类型)

Parameters
newLayerNamestring Layer的名称
assetPathstring 动画资源路径
fAnimSampleClipStartOffsestnumber
fAnimSampleClipEndOffsetnumber 动画采样终止裁剪量(实际裁剪为终止时间-偏移量)
Returns
boolean 是否成功

◆ BlendAnimIntoTimelineAtTimstamp()

function XELayersAnimaPlay BlendAnimIntoTimelineAtTimstamp ( newLayerName  ,
assetPath  ,
fTimestamp  ,
fAnimSampleClipStartOffset  ,
fAnimSampleClipEndOffset  ,
fCrossTime   
)

添加一层新动画,让它以指定时刻为开始点,并让它与已有层动画达到融合效果(使用sin_in_out类型)

Parameters
newLayerNamestring Layer的名称
assetPathstring 动画资源路径
fTimestampnumber 指定添加的时间戳,单位(秒)
fAnimSampleClipStartOffsetnumber 动画采样起始裁剪偏移量(实际裁剪为起始时间+偏移量)
fAnimSampleClipEndOffsetnumber 动画采样终止裁剪量(实际裁剪为终止时间-偏移量)
fCrossTimenumber 动画接受外部设置的最长融合时间(默认最长为0.5s,取动画时长0.2的最小值),如果该值为非正,则动画不融合
Returns
boolean 是否成功

◆ ComputeLinearFactor()

function XEAnimBlendLayer ComputeLinearFactor ( fStart  ,
fEnd  ,
fCur  ,
eType   
)

计算融合因子

Parameters
fStartnumber 起始点
fEndnumber 结束点
fCurnumber 当前点
eTypenumber 融合曲线类型
Returns
number 结果

◆ GetAnimationLength()

function XEAnimMontageTimeArea GetAnimationLength ( )

获取动画长度

Returns
number

◆ GetAnimTimeAreaByName()

function XEAnimMontageTimeArea GetAnimTimeAreaByName ( szName  )

通过名称获取动画区域

Parameters
szNamestring
Returns
XEAnimtionTimeArea

◆ GetAreaAnimEndTime()

function XELayersAnimaPlay GetAreaAnimEndTime ( layerName  ,
areaName  ,
bGetActualClipEndTime   
)

获取层指定区域动画的结束时间(秒s)

Parameters
layerNamestring Layer的名称
areaNamestring 区域名称
bGetActualClipEndTimeboolean
Returns
number 层区域结束时间

◆ GetAreaAnimStartTime()

function XELayersAnimaPlay GetAreaAnimStartTime ( layerName  ,
areaName  ,
bGetActualClipStartTime   
)

获取层指定区域动画起始时间(秒s)

Parameters
layerNamestring Layer的名称
areaNamestring 区域名称
bGetActualClipStartTimeboolean 是否获取动画实际的裁剪起始时间
Returns
number 区域起始时间

◆ GetAreaLayerName()

function XEAnimTimeAreaBase GetAreaLayerName ( )

获取动画区域所在Layer名称

Returns
string

◆ GetAreaName()

function XEAnimTimeAreaBase GetAreaName ( )

获取动画区域名称

Returns
string

◆ GetCurrentTime()

function XELayersAnimaPlay GetCurrentTime ( )

获取当前时间

Returns
number

◆ GetEndTime()

function XEAnimTimeAreaBase GetEndTime ( )

获取动画区域结束时间

Returns
number

◆ GetInterBlendType()

function XEAnimBlendLayer GetInterBlendType ( )

获取融合类型

Returns
number

◆ GetLayer() [1/2]

function XELayersAnimaPlay GetLayer ( nIndex  )

获取到指定的Layer

Parameters
nIndexnumber 要获取的Layer的索引
Returns
XSkelAnimController

◆ GetLayer() [2/2]

function XELayersAnimaPlay GetLayer ( szName  )

获取到指定的Layer

Parameters
szNamestring 要获取的Layer的名称
Returns
XSkelAnimController

◆ GetLayerAnimEndTime()

function XELayersAnimaPlay GetLayerAnimEndTime ( layerName  ,
bGetActualClipEndTime   
)

获取层的动画结束时间(秒s)

Parameters
layerNamestring Layer的名称
bGetActualClipEndTimeboolean
Returns
number 层结束时间

◆ GetLayerAnimStartTime()

function XELayersAnimaPlay GetLayerAnimStartTime ( layerName  ,
bGetActualClipStartTime   
)

获取层的动画起始时间(秒s)

Parameters
layerNamestring Layer的名称
bGetActualClipStartTimeboolean 是否获取动画实际的裁剪起始时间
Returns
number 层起始时间

◆ GetLayerNum()

function XELayersAnimaPlay GetLayerNum ( )

获取到所有Layer的个数

Returns
number 所有Layer的个数

◆ GetModelComponent()

function XELayersAnimaPlay GetModelComponent ( )

获取相关联的组件(montage动画)

Returns
XEModelComponent

◆ GetMontageInstance()

function XEAnimMontageTimeArea GetMontageInstance ( )

获取相关联的蒙太奇动画实例指针

Returns
XEAnimMontageInstance

◆ GetSampleClipEndTime()

function XEAnimTimeAreaBase GetSampleClipEndTime ( )

获取动画区域动画的终止采样时间

Returns
number

◆ GetSampleClipStartTime()

function XEAnimTimeAreaBase GetSampleClipStartTime ( )

获取动画区域动画的起始采样时间

Returns
number

◆ GetStartTime()

function XEAnimTimeAreaBase GetStartTime ( )

获取动画区域起始时间

Returns
number

◆ GetTimeAreaByIndex()

function XEAnimBlendLayer GetTimeAreaByIndex ( nIndex  )

通过索引获取动画区域资源

Parameters
nIndexnumber 动画区域索引
Returns
XEAnimTimeAreaBase 动画区域指针

◆ GetTimeAreaByName()

function XEAnimBlendLayer GetTimeAreaByName ( szName  )

通过名字获取动画区域资源

Parameters
szNamestring 动画区域名称
Returns
XEAnimTimeAreaBase 动画区域指针

◆ GetTimeAreaNum()

function XEAnimBlendLayer GetTimeAreaNum ( )

获取动画区域资源数量

Returns
number 动画区域资源数量

◆ GetType()

function XEAnimTimeAreaBase GetType ( )

获取动画区域类型

Returns
number

◆ GetWeightCurve()

function XEAnimBlendLayer GetWeightCurve ( )

获取权重曲线指针

Returns
XInterpCurveFloat

◆ new() [1/3]

function XEAnimBlendLayer new ( szName  ,
pAsset   
)

XEAnimBlendLayer_new00

Parameters
szNamestring
pAssetIXAnimationBase
Returns
XEAnimBlendLayer

◆ new() [2/3]

function XELayersAnimaPlay new ( pIns  )

XELayersAnimaPlay_new00

Parameters
pInsIXModelInstance
Returns
XELayersAnimaPlay

◆ new() [3/3]

function XELayersAnimaPlay new ( pModelComponent  )

XELayersAnimaPlay_new01

Parameters
pModelComponentXEModelComponent
Returns
XELayersAnimaPlay

◆ RemoveAllLayers()

function XELayersAnimaPlay RemoveAllLayers ( )

删除所有Layer

Returns
void

◆ RemoveAnimationAsset()

function XEAnimBlendLayer RemoveAnimationAsset ( szName  )

删除动画区域资源

Parameters
szNamestring 要删除的动画区域资源名称
Returns
boolean 是否删除成功
Attention
构造函数中设置进来的动画资源,也可以被删掉(用于动画融合的逻辑)

◆ RemoveLayer() [1/2]

function XELayersAnimaPlay RemoveLayer ( nIndex  )

根据索引删除一个Layer

Parameters
nIndexnumber Layer索引
Returns
void

◆ RemoveLayer() [2/2]

function XELayersAnimaPlay RemoveLayer ( szName  )

根据名称删除一个Layer

Parameters
szNamestring Layer名称
Returns
void

◆ SetAreaLayerName()

function XEAnimTimeAreaBase SetAreaLayerName ( strName  )

设置动画区域所在Layer名称

Parameters
strNamestring
Returns
void

◆ SetAreaName()

function XEAnimTimeAreaBase SetAreaName ( szName  )

设置动画区域名称

Parameters
szNamestring
Returns
void

◆ SetCurrentTime()

function XELayersAnimaPlay SetCurrentTime ( fValue  )

设置当前时间

Parameters
fValuenumber
Returns
void

◆ SetEndTime() [1/2]

function XEAnimTimeAreaBase SetEndTime ( fEndTime  )

设置动画区域结束时间

Parameters
fEndTimenumber
Returns
void

◆ SetEndTime() [2/2]

function XEAnimBlendLayer SetEndTime ( fTime  )

设置动画区域结束时间

Parameters
fTimenumber
Returns
void

◆ SetInterBlendType()

function XEAnimBlendLayer SetInterBlendType ( eType  )

设置融合类型

Parameters
eTypenumber
Returns
void

◆ SetModelComponent()

function XELayersAnimaPlay SetModelComponent ( pComponent  )

设置相关联的组件(montage动画)

Parameters
pComponentXEModelComponent
Returns
void

◆ SetSampleClipEndTime()

function XEAnimTimeAreaBase SetSampleClipEndTime ( fEndTime  )

设置动画区域动画的终止采样时间

Parameters
fEndTimenumber
Returns
void

◆ SetSampleClipStartTime()

function XEAnimTimeAreaBase SetSampleClipStartTime ( fStartTime  )

设置动画区域动画的起始采样时间

Parameters
fStartTimenumber
Returns
void

◆ SetStartTime() [1/2]

function XEAnimTimeAreaBase SetStartTime ( fStartTime  )

设置动画区域起始时间

Parameters
fStartTimenumber
Returns
void

◆ SetStartTime() [2/2]

function XEAnimBlendLayer SetStartTime ( fTime  )

设置动画区域起始时间

Parameters
fTimenumber
Returns
void

◆ UpdateLayerStartEndTime()

function XEAnimBlendLayer UpdateLayerStartEndTime ( )

更新当前layer的起始时间

Returns
void

◆ UpdateTimeLine()

function XELayersAnimaPlay UpdateTimeLine ( )

更新时间线

Returns
void

Variable Documentation

◆ ATA_MONTAGE

XEAnimTimeAreaBase ATA_MONTAGE = 0

◆ ATA_UNKNOWN

XEAnimTimeAreaBase ATA_UNKNOWN = 0

◆ ATA_XANIMATION

XEAnimTimeAreaBase ATA_XANIMATION = 0

◆ XEAnimTimeAreaBase