AR_Engine_SDK
Functions | Variables
FxInstance.lua File Reference
类 IFxTemplate 继承关系图:
Inheritance graph
类 IFxInstance 继承关系图:
Inheritance graph
类 IFxManager 继承关系图:
Inheritance graph
类 IXFXStatGroup 继承关系图:
Inheritance graph

Functions

function IFxTemplate GetName () end
 
function IFxTemplate GetElementNum () end
 
function IFxTemplate GetElement (nIndex) end
 
function IFxTemplate AddElement (szName, eType) end
 
function IFxTemplate AddElement (pElement) end
 
function IFxTemplate RemoveElement (nIndex, bDelete) end
 
function IFxTemplate RemoveElement (pElement, bDelete) end
 
function IFxTemplate MoveElement (pElement, nMoveAmount) end
 
function IFxTemplate DumplicateElement (nIndex) end
 
function IFxTemplate DumplicateElement (pElement) end
 
function IFxTemplate GetFileVersion () end
 
function IFxInstance Release () end
 
function IFxInstance Tick (fDeltaTime) end
 
function IFxInstance Play () end
 
function IFxInstance Pause () end
 
function IFxInstance IsPaused () end
 
function IFxInstance Stop (bClearNow) end
 
function IFxInstance Restart () end
 
function IFxInstance IsCompleted () end
 
function IFxInstance Render (pCamera, pScene) end
 
function IFxInstance Set2DMode (b2DRenderMode) end
 
function IFxInstance Is2DMode () end
 
function IFxInstance Set2DModeLayerMask (pLayer) end
 
function IFxInstance GetAABB () end
 
function IFxInstance GetFxTemplate () end
 
function IFxInstance GetParticleNum (nElementIndex) end
 
function IFxInstance GetParticleNum (pElement) end
 
function IFxInstance SetAnimTrailBindingSkeletonAndBones (pSkeleton, FirstBoneName, SecondBoneName) end
 
function IFxInstance SetBeamEmitterSourcePoints (EmitterName, Positions) end
 
function IFxInstance SetBeamEmitterTargetPoints (EmitterName, Positions) end
 
function IFxManager Init () end
 
function IFxManager GetFxInstance (szFxTemplateFile) end
 
function IFxManager CreateFxInstance (szNewFxTemplateFile) end
 
function IFxManager SaveFxTemplate (szFxTemplateFile, pTemplate) end
 
function IFxManager SetBatchEnabled (bEnable) end
 
function IFxManager IsBatchEnabled () end
 
function IFxManager ForceBatchInSameLayer (bForce) end
 
function IFxManager IsForceBatchInSameLayer () end
 
function IFxManager SetMaxBatchedVertexNum (nMaxNum) end
 
function IFxManager GetMaxBatchedVertexNum () end
 

Variables

 IFxTemplate = {}
 

Function Documentation

◆ AddElement() [1/2]

function IFxTemplate AddElement ( szName  ,
eType   
)

添加粒子元素

Parameters
szNamestring 元素名称
eTypenumber 元素类型
Returns
FxElement 添加的粒子元素指针

◆ AddElement() [2/2]

function IFxTemplate AddElement ( pElement  )

添加粒子元素

Parameters
pElementFxElement 添加的粒子元素
Returns
boolean 是否添加成功

◆ CreateFxInstance()

function IFxManager CreateFxInstance ( szNewFxTemplateFile  )

新建一个特效实例,在内存中直接创建

Parameters
szNewFxTemplateFilestring 新建模板文件路径名
Returns
IFxInstance 粒子特效实例指针

◆ DumplicateElement() [1/2]

function IFxTemplate DumplicateElement ( nIndex  )

复制某个粒子元素

Parameters
nIndexnumber 要复制的元素索引
Returns
boolean 是否复制成功

◆ DumplicateElement() [2/2]

function IFxTemplate DumplicateElement ( pElement  )

复制某个粒子元素

Parameters
pElementFxElement 要复制的元素指针
Returns
boolean 是否复制成功

◆ ForceBatchInSameLayer()

function IFxManager ForceBatchInSameLayer ( bForce  )

设置同一层级的粒子是否强制合批(不考虑先后顺序)

Parameters
bForceboolean
Returns
void

◆ GetAABB()

function IFxInstance GetAABB ( )

获取粒子的AABB

Returns
XCusAABB AABB

◆ GetElement()

function IFxTemplate GetElement ( nIndex  )

根据索引获取对应的粒子元素

Parameters
nIndexnumber 元素索引
Returns
FxElement 粒子元素个数

◆ GetElementNum()

function IFxTemplate GetElementNum ( )

获取粒子元素个数

Returns
number 粒子元素个数

◆ GetFileVersion()

function IFxTemplate GetFileVersion ( )

获取版本号

Returns
number 是否复制成功

◆ GetFxInstance()

function IFxManager GetFxInstance ( szFxTemplateFile  )

根据模板文件创建一个特效实例

Parameters
szFxTemplateFilestring 模板文件路径名
Returns
IFxInstance 粒子特效实例指针

◆ GetFxTemplate()

function IFxInstance GetFxTemplate ( )

获取粒子特效实例模板指针

Returns
IFxTemplate 粒子特效实例模板指针

◆ GetMaxBatchedVertexNum()

function IFxManager GetMaxBatchedVertexNum ( )

获取同一层级的粒子是否强制合批

Returns
number 合批的最大顶点数

◆ GetName()

function IFxTemplate GetName ( )

获取名称

Returns
string 名称字符串

◆ GetParticleNum() [1/2]

function IFxInstance GetParticleNum ( nElementIndex  )

获取指定粒子元素的粒子数目

Parameters
nElementIndexnumber 指定粒子元素索引
Returns
number 粒子数目

◆ GetParticleNum() [2/2]

function IFxInstance GetParticleNum ( pElement  )

获取指定粒子元素的粒子数目

Parameters
pElementFxElement 指定粒子元素指针
Returns
number 粒子数目

◆ Init()

function IFxManager Init ( )

初始化

Returns
boolean

◆ Is2DMode()

function IFxInstance Is2DMode ( )

是否为2D模式

Returns
boolean 是否为2D模式

◆ IsBatchEnabled()

function IFxManager IsBatchEnabled ( )

获取是否合批渲染

Returns
boolean 是否合批渲染

◆ IsCompleted()

function IFxInstance IsCompleted ( )

判断是否播放完毕

Returns
boolean 是否播放完毕

◆ IsForceBatchInSameLayer()

function IFxManager IsForceBatchInSameLayer ( )

获取同一层级的粒子是否强制合批

Returns
boolean 是否强制合批

◆ IsPaused()

function IFxInstance IsPaused ( )

判断是否暂定播放状态

Returns
boolean 是否暂停

◆ MoveElement()

function IFxTemplate MoveElement ( pElement  ,
nMoveAmount   
)

移动某个粒子元素在数组中的位置

Parameters
pElementFxElement 要移动的元素指针
nMoveAmountnumber 移动距离,正数为向数组尾移动,负数为向数组头移动
Returns
boolean 是否移动成功

◆ Pause()

function IFxInstance Pause ( )

暂停播放粒子特效

Returns
void

◆ Play()

function IFxInstance Play ( )

播放粒子特效

Returns
void

◆ Release()

function IFxInstance Release ( )

释放资源

Returns
void

◆ RemoveElement() [1/2]

function IFxTemplate RemoveElement ( nIndex  ,
bDelete   
)

移除某个粒子元素

Parameters
nIndexnumber 要移除的元素索引
bDeleteboolean 是否同时销毁元素
Returns
boolean 是否移除成功

◆ RemoveElement() [2/2]

function IFxTemplate RemoveElement ( pElement  ,
bDelete   
)

移除某个粒子元素

Parameters
pElementFxElement 要移除的元素指针
bDeleteboolean 是否同时销毁元素
Returns
boolean 是否移除成功

◆ Render()

function IFxManager Render ( pCamera  ,
pScene   
)

渲染粒子特效

Parameters
pCameraXBaseCamera 指定的相机
pSceneIXRenderSet 渲染元素的集合,用来收集本帧需要被渲染的元素
Returns
void

◆ Restart()

function IFxInstance Restart ( )

重新从头播放粒子特效

Returns
void

◆ SaveFxTemplate()

function IFxManager SaveFxTemplate ( szFxTemplateFile  ,
pTemplate   
)

将一个FxTemplate对象存到硬盘

Parameters
szFxTemplateFilestring 存储文件路径
pTemplateIFxTemplate 要存储的对象指针
Returns
boolean 是否存储成功

◆ Set2DMode()

function IFxInstance Set2DMode ( b2DRenderMode  )

设置粒子是否为2D模式

Parameters
b2DRenderModeboolean 是否为2D模式
Returns
void

◆ Set2DModeLayerMask()

function IFxInstance Set2DModeLayerMask ( pLayer  )

设置粒子的层级

Parameters
pLayernumber 在UI前(LO_BeforeUI)或UI后(LO_AfterUI),LO_BetweenUI在当前不起作用
Returns
void

◆ SetAnimTrailBindingSkeletonAndBones()

function IFxInstance SetAnimTrailBindingSkeletonAndBones ( pSkeleton  ,
FirstBoneName  ,
SecondBoneName   
)

设置骨骼拖尾发射器使用的骨骼

Parameters
pSkeletonXSkeleton 指定的骨骼指针
FirstBoneNamestring 父关节名称
SecondBoneNamestring 子关节名称
Returns
number 1:成功0:不包含骨骼拖尾发射器-1:骨骼错误-2:骨骼中找不到父关节-3:骨骼中找不到子关节-4:骨骼中父子关节均找不到

◆ SetBatchEnabled()

function IFxManager SetBatchEnabled ( bEnable  )

设置是否合批渲染

Parameters
bEnableboolean 是否合批渲染
Returns
void

◆ SetBeamEmitterSourcePoints()

function IFxInstance SetBeamEmitterSourcePoints ( EmitterName  ,
Positions   
)

设置激光发射器发射点位置

Parameters
EmitterNamestring 发射器名称
PositionsXVECTOR3[] 位置信息
Returns
boolean 是否成功

◆ SetBeamEmitterTargetPoints()

function IFxInstance SetBeamEmitterTargetPoints ( EmitterName  ,
Positions   
)

设置激光发射器目标点位置

Parameters
EmitterNamestring 发射器名称
PositionsXVECTOR3[] 位置信息
Returns
boolean 是否成功

◆ SetMaxBatchedVertexNum()

function IFxManager SetMaxBatchedVertexNum ( nMaxNum  )

设置合批的最大顶点数

Parameters
nMaxNumnumber
Returns
void

◆ Stop()

function IFxInstance Stop ( bClearNow  )

停止播放

Parameters
bClearNowboolean 是否立即清除资源,默认为false
Returns
void

◆ Tick()

function IFxInstance Tick ( fDeltaTime  )

更新粒子特效实例

Parameters
fDeltaTimenumber 更新间隔
Returns
void

Variable Documentation

◆ IFxTemplate