AR_Engine_SDK
Functions | Variables
XEModelComponent.lua File Reference
类 XEModelInsSubviewPrimitive 继承关系图:
Inheritance graph
类 XEModelComponent 继承关系图:
Inheritance graph

Functions

function XEModelInsSubviewPrimitive Empty () end
 
function XEModelInsSubviewPrimitive GetAllRenderPrimitives () end
 
function XEModelInsSubviewPrimitive RegisterRenderPrimitive (pScene) end
 
function XEModelComponent new () end
 
function XEModelComponent LoadAsset (pPath) end
 
function XEModelComponent Release () end
 
function XEModelComponent Render (pViewport) end
 
function XEModelComponent Tick (fDel, bForceTick) end
 
function XEModelComponent PostTick (fDelMs) end
 
function XEModelComponent GetCusAABB (pfRadius) end
 
function XEModelComponent RayPick (hr) end
 
function XEModelComponent CreateClothAttachModel (szClothPath, pWorld, nSkinIndex) end
 
function XEModelComponent CreateClothAttachModelByPath (szClothPath, pWorld, nSkinIndex) end
 
function XEModelComponent RemoveAndReleaseClothAssetFromMesh (szMeshName) end
 
function XEModelComponent GetClothPrimitive (szMeshName) end
 
function XEModelComponent SaveCloths (szClothPath) end
 
function XEModelComponent AddAllClothToSceneWithModel (pWorld) end
 
function XEModelComponent RemoveCloth (pCloth) end
 
function XEModelComponent GetClothPrimitive (pCloths) end
 
function XEModelComponent GetClothPrimitive () end
 
function XEModelComponent SetDeleted (bDelete) end
 
function XEModelComponent GetAnimController () end
 
function XEModelComponent GetCurPlayAnimation () end
 
function XEModelComponent PresentPhysics (fDel) end
 
function XEModelComponent SetHidden (bHide) end
 
function XEModelComponent GetXModelFromAsset (pAssetPath) end
 
function XEModelComponent BuildSkeletonInstance () end
 
function XEModelComponent DestroySkeletonInstance () end
 
function XEModelComponent SetSkeletonInstance (pSkeleIns) end
 
function XEModelComponent AssignAnimPlayList () end
 
function XEModelComponent GetAnimPlayList () end
 
function XEModelComponent LoadPhysicalAsset (pPath) end
 
function XEModelComponent LoadPhysicalAsset (pPath, eType) end
 
function XEModelComponent AssignARAdsPlayList () end
 
function XEModelComponent GetARAdsPlayList () end
 
function XEModelComponent GetVertexPositionFromUV (szMeshName, szSkinName, uv, vOutPos) end
 
function XEModelComponent GetVertexPositionFromUV (szMeshName, szSkinName, uv) end
 
function XEModelComponent EmbedCurrentModel () end
 
function XEModelComponent EmbedCutModelSkin (szSkin, pEmbedSkinName) end
 
function XEModelComponent EmbedMeshMaterialIns (szSkin, szRawMeshName, nLod, pEmbedMatInsName) end
 
function XEModelComponent GetEmbedSkinName (szSourceSkin) end
 
function XEModelComponent GetEmbedMaterialInsName (szSourceSkin, szSourceMaterialInsName) end
 
function XEModelComponent ClearEmbedRecoredSkin (szSkin, bSource) end
 
function XEModelComponent ClearEmbedRecord (bClearModel) end
 
function XEModelComponent GetModelInstance () end
 
function XEModelComponent GetDressUp () end
 
function XEModelComponent GetAssetPath () end
 
function XEModelComponent GetXESkeletonInstance () end
 
function XEModelComponent GetMontageInstance () end
 
function XEModelComponent GetBlendInstance () end
 
function XEModelComponent GetMounterInstance () end
 
function XEModelComponent ReplaceDressup (pAssetPath) end
 
function XEModelComponent CombineMeshesWithSameMaterialIns () end
 
function XEModelComponent CancelCombineMeshes () end
 
function XEModelComponent AttachMounterAsset (pAssetPath, bReloadAsset) end
 
function XEModelComponent AttachMontageInstance (pMontageIns) end
 
function XEModelComponent DetachMontageInstance () end
 
function XEModelComponent AttachMounterInstance (pMounterIns) end
 
function XEModelComponent DetachMounterInstance () end
 
function XEModelComponent AttachBlendInstance (pBlendIns) end
 
function XEModelComponent DetachBlendInstance () end
 
function XEModelComponent LoadSoftSkeleton (szAssetPath) end
 
function XEModelComponent BuildSoftSkeleton () end
 
function XEModelComponent DestroySoftSkeleton () end
 
function XEModelComponent GetSoftSkeleton () end
 
function XEModelComponent AddToSubview (pSubviewName, bRenderOnlyInSubview, bResetupSubview) end
 
function XEModelComponent RemoveFromSubview (bResetupSubview, pSubviewName) end
 
function XEModelComponent IsInSubview (pSubviewName) end
 
function XEModelComponent BindSubview (pSubviewName, bCreatSubviewIfNotExist, bCreateCameraForSubview) end
 
function XEModelComponent UnBindSubview (bRemoveSubview, pSubviewName) end
 
function XEModelComponent GetSubviewEdgeLength (pViewport, vEdgeLength) end
 
function XEModelComponent GetSubviewEdgeLength (pViewport) end
 
function XEModelComponent GetRenderPrimitive () end
 
function XEModelComponent PutCurrentMontageToSubview (pSubviewName, pMontageInstance) end
 
function XEModelComponent PutCurrentMounterToSubview (pSubviewName) end
 
function XEModelComponent SetModelInsMaterial (strSkinName, nLodId, strMeshName, strMaterialFile) end
 
function XEModelComponent GetMaterialIns (nSkinID, nLodID, nMeshID) end
 

Variables

 XEModelInsSubviewPrimitive = {}
 

Function Documentation

◆ AddAllClothToSceneWithModel()

function XEModelComponent AddAllClothToSceneWithModel ( pWorld  )

将模型实例所绑定的所有布料资源添加到物理 scene,只有将布料资源添加到物理 scene 才能被物理世界更新和渲染

Parameters
pWorldXEWorld 当前组件所处的世界指针
Returns
void

◆ AddToSubview()

function XEModelComponent AddToSubview ( pSubviewName  ,
bRenderOnlyInSubview  ,
bResetupSubview   
)

该组件添加到子视图中,子视图位于该组件的所属世界中,要先设置该组件的世界所属

Parameters
pSubviewNamestring 渲染的子视图名称
bRenderOnlyInSubviewboolean 是否只在子视图中渲染
bResetupSubviewboolean 是否立即重新安装子视图
Returns
boolean 是否成功

◆ AssignAnimPlayList()

function XEModelComponent AssignAnimPlayList ( )

如果动画播放列表不存在,创建一个

Returns
XEAnimComponentPlayList 动画播放列表指针

◆ AssignARAdsPlayList()

function XEModelComponent AssignARAdsPlayList ( )

如果AR广告播放列表不存在,创建一个

Returns
XEARAdsComponentPlayList AR广告播放列表指针

◆ AttachBlendInstance()

function XEModelComponent AttachBlendInstance ( pBlendIns  )

将当前组件的融合动画实例指向pBlendIns,引用+1

Parameters
pBlendInsXEAnimBlendInstance 外部已经创建好的融合动画实例
Returns
void

◆ AttachMontageInstance()

function XEModelComponent AttachMontageInstance ( pMontageIns  )

将当前组件的蒙太奇动画实例指向pMontageIns,引用+1

Parameters
pMontageInsXEAnimMontageInstance 外部已经创建好的蒙太奇动画实例
Returns
void

◆ AttachMounterAsset()

function XEModelComponent AttachMounterAsset ( pAssetPath  ,
bReloadAsset   
)

加载挂点资源并创建对应的挂点实例

Parameters
pAssetPathstring 挂点资源路径
bReloadAssetboolean 是否重新加载
Returns
boolean 是否挂载成功

◆ AttachMounterInstance()

function XEModelComponent AttachMounterInstance ( pMounterIns  )

将当前组件的挂点实例指向pMounterIns,引用+1

Parameters
pMounterInsXEAnimSocketMounterInstance 外部已经创建好的挂点实例
Returns
void

◆ BindSubview()

function XEModelComponent BindSubview ( pSubviewName  ,
bCreatSubviewIfNotExist  ,
bCreateCameraForSubview   
)

作为持有体绑定到子视图, 当前组件世界必须存在

Parameters
pSubviewNamestring 渲染的子视图名称
bCreatSubviewIfNotExistboolean 如果子视图不存在,则指定是否自动创建一个
bCreateCameraForSubviewboolean 是否为subview创建一个内部相机对象,并使用该相机,以当前视口中相机参数进行创建,如果要修改相机参数,请获取该视口相机并进行修改
Returns
boolean 是否成功

◆ BuildSkeletonInstance()

function XEModelComponent BuildSkeletonInstance ( )

创建骨骼实例

Returns
boolean 是否创建成功

◆ BuildSoftSkeleton()

function XEModelComponent BuildSoftSkeleton ( )

创建软骨

Returns
boolean 是否创建成功

◆ CancelCombineMeshes()

function XEModelComponent CancelCombineMeshes ( )

XEModelComponent_CancelCombineMeshes00

Returns
void

◆ ClearEmbedRecord()

function XEModelComponent ClearEmbedRecord ( bClearModel  )

清除全部嵌入材质信息

Parameters
bClearModelboolean 是否清除嵌入模型模板
Returns
boolean

◆ ClearEmbedRecoredSkin()

function XEModelComponent ClearEmbedRecoredSkin ( szSkin  ,
bSource   
)

清除名为szskin的嵌入skin

Parameters
szSkinstring
bSourceboolean
Returns
boolean

◆ CombineMeshesWithSameMaterialIns()

function XEModelComponent CombineMeshesWithSameMaterialIns ( )

合并材质实例相同的mesh,以减少绘制批次

Returns
boolean 是否合并成功

◆ CreateClothAttachModel()

function XEModelComponent CreateClothAttachModel ( szClothPath  ,
pWorld  ,
nSkinIndex   
)

根据蒙皮索引和 cth 路径创建布料资源并绑定到模型上,内部是根据材质名进行匹配

Parameters
szClothPathstring 布料资源(cth)的路径,此路径是相对工程文件夹下.xscene文件的路径
pWorldXEWorld 当前组件所处的世界对象
nSkinIndexnumber 模型对象的蒙皮索引
Returns
boolean 布料是否创建成功

◆ CreateClothAttachModelByPath()

function XEModelComponent CreateClothAttachModelByPath ( szClothPath  ,
pWorld  ,
nSkinIndex   
)

同CreateClothAttachModel

Parameters
szClothPathstring
pWorldXEWorld
nSkinIndexnumber
Returns
IXCloth 返回创建的布料指针

◆ DestroySkeletonInstance()

function XEModelComponent DestroySkeletonInstance ( )

销毁骨骼实例

Returns
boolean 如果销毁返回xtrue,如果原本骨骼实例为空,返回xfalse

◆ DestroySoftSkeleton()

function XEModelComponent DestroySoftSkeleton ( )

销毁软骨

Returns
void

◆ DetachBlendInstance()

function XEModelComponent DetachBlendInstance ( )

当前组件绑定的融合动画实例引用-1

Returns
void
Attention
当引用为0时,解除当前组件绑定的融合动画实例,即释放或置空挂点实例指针对象

◆ DetachMontageInstance()

function XEModelComponent DetachMontageInstance ( )

当前组件绑定的蒙太奇动画实例引用-1

Returns
void
Attention
当引用为0时,解除当前组件绑定的蒙太奇动画实例,即释放或置空蒙太奇动画指针对象

◆ DetachMounterInstance()

function XEModelComponent DetachMounterInstance ( )

当前组件绑定的挂点实例引用-1

Returns
void
Attention
当引用为0时,解除当前组件绑定的挂点实例,即释放或置空挂点实例指针对象

◆ EmbedCurrentModel()

function XEModelComponent EmbedCurrentModel ( )

由SourceModel,创建新的模型模板

Returns
boolean

◆ EmbedCutModelSkin()

function XEModelComponent EmbedCutModelSkin ( szSkin  ,
pEmbedSkinName   
)

由szSkin,创建新的蒙皮

Parameters
szSkinstring 源skin名字
pEmbedSkinNamestring 新蒙皮名字
Returns
boolean

◆ EmbedMeshMaterialIns()

function XEModelComponent EmbedMeshMaterialIns ( szSkin  ,
szRawMeshName  ,
nLod  ,
pEmbedMatInsName   
)

为skin中指定的rawmesh,创建新的材质实例

Parameters
szSkinstring 指定的skin
szRawMeshNamestring 指定的RawMesh名称
nLodnumber 指定的Lod
pEmbedMatInsNamestring [out]创建的材质实例名称
Returns
boolean

◆ Empty()

function XEModelInsSubviewPrimitive Empty ( )

XEModelInsSubviewPrimitive_Empty00

Returns
void

XEModelComponent_Empty00

Returns
void

◆ GetAllRenderPrimitives()

function XEModelInsSubviewPrimitive GetAllRenderPrimitives ( )

获取渲染图元,可能为多个

Returns
IXPrimitiveBase[]

◆ GetAnimController()

function XEModelComponent GetAnimController ( )

获取动画控制器

Returns
XEAnimController 动画控制器
Attention
could be montage animation controller or model-animation controller.

◆ GetAnimPlayList()

function XEModelComponent GetAnimPlayList ( )

获取动画播放列表

Returns
XEAnimComponentPlayList 动画播放列表指针

◆ GetARAdsPlayList()

function XEModelComponent GetARAdsPlayList ( )

获取AR广告播放列表

Returns
XEARAdsComponentPlayList AR广告播放列表指针

◆ GetAssetPath()

function XEModelComponent GetAssetPath ( )

获取当前组件中记录的模型实例的资源路径(mdl)的路径

Returns
string 模型实例的资源路径(mdl)的路径

◆ GetBlendInstance()

function XEModelComponent GetBlendInstance ( )

获取当前组件中记录的融合动画实例(blend)

Returns
XEAnimBlendInstance 融合动画实例指针

◆ GetClothPrimitive() [1/3]

function XEModelComponent GetClothPrimitive ( szMeshName  )

获取模型指定的 mesh 上绑定布料资源对应的指针

Parameters
szMeshNamestring 模型上mesh名称
Returns
IXCloth

◆ GetClothPrimitive() [2/3]

function XEModelComponent GetClothPrimitive ( pCloths  )

获取模型实例所绑定的所有布料资源

Parameters
pClothsIXCloth[] [out]当前模型实例绑定的布料资源列表
Returns
void

◆ GetClothPrimitive() [3/3]

function XEModelComponent GetClothPrimitive ( )

XEModelComponent_GetClothPrimitive02

Returns
IXCloth[]
void

◆ GetCurPlayAnimation()

function XEModelComponent GetCurPlayAnimation ( )

获取当前播放的动画资源路径

Returns
string 当前播放的动画资源路径

◆ GetCusAABB()

function XEModelComponent GetCusAABB ( pfRadius  )

获取当前组件中记录的模型实例的 AABB 包围盒并将其返回

Parameters
pfRadiusnumber 此处不起作用
Returns
XCusAABB 模型实例的包围盒

◆ GetDressUp()

function XEModelComponent GetDressUp ( )

获取当前组件中记录的换装实例

Returns
IXEDressup 换装实例指针

◆ GetEmbedMaterialInsName()

function XEModelComponent GetEmbedMaterialInsName ( szSourceSkin  ,
szSourceMaterialInsName   
)

由源skin和源材质实例name,获取新的材质实例name

Parameters
szSourceSkinstring 旧skin名称
szSourceMaterialInsNamestring 旧材质实例名字
Returns
string 新的材质实例名字

◆ GetEmbedSkinName()

function XEModelComponent GetEmbedSkinName ( szSourceSkin  )

由源skin name获取新的 skin name

Parameters
szSourceSkinstring 旧skin名称
Returns
string

◆ GetMaterialIns()

function XEModelComponent GetMaterialIns ( nSkinID  ,
nLodID  ,
nMeshID   
)

获取某个材质实例指针

Parameters
nSkinIDnumber
nLodIDnumber
nMeshIDnumber
Returns
IXMaterialInstance

◆ GetModelInstance()

function XEModelComponent GetModelInstance ( )

获取当前组件中记录的模型实例

Returns
IXModelInstance 模型实例指针

◆ GetMontageInstance()

function XEModelComponent GetMontageInstance ( )

获取当前组件中记录的蒙太奇实例

Returns
XEAnimMontageInstance 蒙太奇实例指针

◆ GetMounterInstance()

function XEModelComponent GetMounterInstance ( )

获取当前组件中记录的挂点实例

Returns
XEAnimSocketMounterInstance 挂点实例指针

◆ GetRenderPrimitive()

function XEModelComponent GetRenderPrimitive ( )

获取引擎渲染图元

Returns
IXPrimitiveBase

◆ GetSoftSkeleton()

function XEModelComponent GetSoftSkeleton ( )

销毁软骨

Returns
XESoftSkeleton 软骨

◆ GetSubviewEdgeLength() [1/2]

function XEModelComponent GetSubviewEdgeLength ( pViewport  ,
vEdgeLength   
)

从可能的顶点数据中获取合适的两边长作为subview纹理的两边长,一般为最长边的两点与其中位点此三点构成的两边。

Parameters
pViewportXEViewport
vEdgeLengthXVECTOR2 输出两边长
Returns
boolean 是否成功

◆ GetSubviewEdgeLength() [2/2]

function XEModelComponent GetSubviewEdgeLength ( pViewport  )

XEModelComponent_GetSubviewEdgeLength01

Parameters
pViewportXEViewport
Returns
XVECTOR2
boolean

◆ GetVertexPositionFromUV() [1/2]

function XEModelComponent GetVertexPositionFromUV ( szMeshName  ,
szSkinName  ,
uv  ,
vOutPos   
)

由UV获取顶点位置信息

Parameters
szMeshNamestring [in]mesh名称
szSkinNamestring [in]蒙皮名称
uvXVECTOR2 [in]uv信息
vOutPosXVECTOR3 [out]顶点位置信息
Returns
boolean 是否获取成功

◆ GetVertexPositionFromUV() [2/2]

function XEModelComponent GetVertexPositionFromUV ( szMeshName  ,
szSkinName  ,
uv   
)

XEModelComponent_GetVertexPositionFromUV01

Parameters
szMeshNamestring
szSkinNamestring
uvXVECTOR2
Returns
XVECTOR3
boolean

◆ GetXESkeletonInstance()

function XEModelComponent GetXESkeletonInstance ( )

获取当前组件中记录的骨骼实例

Returns
XESkeletonInstance 骨骼实例指针

◆ GetXModelFromAsset()

function XEModelComponent GetXModelFromAsset ( pAssetPath  )

获取模型指针

Parameters
pAssetPathstring 模型路径(全路径),取到后引用+1
Returns
XModel 模型指针

◆ IsInSubview()

function XEModelComponent IsInSubview ( pSubviewName  )

是否已经存在于一个子视图中

Parameters
pSubviewNamestring 指定从子视图的名称,如果为空,则判定是否存在于任意一个关联的子视图中
Returns
boolean 是否存在

◆ LoadAsset()

function XEModelComponent LoadAsset ( pPath  )

加载 dressup文件 或 mdl文件

Parameters
pPathstring dressup文件或mdl文件路径,此路径是相对工程文件夹的xscene文件的路径.
Returns
boolean

◆ LoadPhysicalAsset() [1/2]

function XEModelComponent LoadPhysicalAsset ( pPath  )

加载物理资源

Parameters
pPathstring 资源路径
Returns
boolean 是否加载成功

◆ LoadPhysicalAsset() [2/2]

function XEModelComponent LoadPhysicalAsset ( pPath  ,
eType   
)

XEModelComponent_LoadPhysicalAsset01

Parameters
pPathstring
eTypenumber
Returns
boolean

◆ LoadSoftSkeleton()

function XEModelComponent LoadSoftSkeleton ( szAssetPath  )

加载软骨文件

Parameters
szAssetPathstring 软骨文件路径
Returns
number errorcode错误码

◆ new()

function XEModelComponent new ( )

XEModelComponent_new00

Returns
XEModelComponent

◆ PostTick()

function XEModelComponent PostTick ( fDelMs  )

更新当前组件[帧后]

Parameters
fDelMsnumber 每帧更新的时间间隔(ms)
Returns
void

◆ PresentPhysics()

function XEModelComponent PresentPhysics ( fDel  )

更新物理

Parameters
fDelnumber 间隔
Returns
void

◆ PutCurrentMontageToSubview()

function XEModelComponent PutCurrentMontageToSubview ( pSubviewName  ,
pMontageInstance   
)

关联Montage相关到subview

Parameters
pSubviewNamestring
pMontageInstanceXEAnimMontageInstance
Returns
void

◆ PutCurrentMounterToSubview()

function XEModelComponent PutCurrentMounterToSubview ( pSubviewName  )

关联Mounter相关到subview

Parameters
pSubviewNamestring
Returns
void

◆ RayPick()

function XEModelComponent RayPick ( hr  )

判断是否拾取到当前组件中记录的模型实例,并将拾取结果返回

Parameters
hrXEHitResult [in][out]拾取结果
Returns
boolean 是否拾取到

◆ RegisterRenderPrimitive()

function XEModelInsSubviewPrimitive RegisterRenderPrimitive ( pScene  )

注册被代理图元

Parameters
pSceneIXRenderSet
Returns
void

◆ Release()

function XEModelComponent Release ( )

释放资源

Returns
void

◆ RemoveAndReleaseClothAssetFromMesh()

function XEModelComponent RemoveAndReleaseClothAssetFromMesh ( szMeshName  )

从模型指定的 mesh 上移除布料并释放

Parameters
szMeshNamestring 模型上mesh名称
Returns
void

◆ RemoveCloth()

function XEModelComponent RemoveCloth ( pCloth  )

移除指定布料

Parameters
pClothIXCloth 要移除的布料指针
Returns
void

◆ RemoveFromSubview()

function XEModelComponent RemoveFromSubview ( bResetupSubview  ,
pSubviewName   
)

从指定子视图中删除

Parameters
bResetupSubviewboolean 是否立即重新安装子视图
pSubviewNamestring 指定从子视图中移除的名称,如果为空,则该渲染图元将会从所有关联子视图中移除。
Returns
boolean 是否成功

◆ Render()

function XEModelComponent Render ( pViewport  )

渲染当前组件加载的模型实例、骨骼实例、蒙太奇实例、挂点实例等

Parameters
pViewportXEViewport
Returns
void

◆ ReplaceDressup()

function XEModelComponent ReplaceDressup ( pAssetPath  )

替换模型的dressup, 并不会对骨架、动画控制器等产生影响

Parameters
pAssetPathstring dressup资源路径
Returns
boolean 是否替换成功,该dressup的模型骨架必须与当前一致,否则替换不成功

◆ SaveCloths()

function XEModelComponent SaveCloths ( szClothPath  )

保存模型实例所绑定的所有布料的数据,一般是将布料属性的修改保存到原始 cth 文件中

Parameters
szClothPathstring 布料资源(cth)文件的路径
Returns
boolean 布料相关参数是否保存成功

◆ SetDeleted()

function XEModelComponent SetDeleted ( bDelete  )

设置是否被删除的状态

Parameters
bDeleteboolean 是否被删除
Returns
void

◆ SetHidden()

function XEModelComponent SetHidden ( bHide  )

设置组件是否隐藏

Parameters
bHideboolean 是否隐藏
Returns
void

◆ SetModelInsMaterial()

function XEModelComponent SetModelInsMaterial ( strSkinName  ,
nLodId  ,
strMeshName  ,
strMaterialFile   
)

给ModelIns设置材质

Parameters
strSkinNamestring
nLodIdnumber
strMeshNamestring
strMaterialFilestring
Returns
boolean

◆ SetSkeletonInstance()

function XEModelComponent SetSkeletonInstance ( pSkeleIns  )

设置骨骼实例

Parameters
pSkeleInsXESkeletonInstance 骨骼实例指针
Returns
void

◆ Tick()

function XEModelComponent Tick ( fDel  ,
bForceTick   
)

更新当前组件加载的模型实例、骨骼实例、蒙太奇实例、挂点实例等

Parameters
fDelnumber 每帧更新的时间间隔
bForceTickboolean 是否强制Tick,默认是xtrue
Returns
void

◆ UnBindSubview()

function XEModelComponent UnBindSubview ( bRemoveSubview  ,
pSubviewName   
)

从子视图中解除绑定

Parameters
bRemoveSubviewboolean 是否在解除绑定后删除子视图
pSubviewNamestring 指定子视图名称,如果为空,则解绑关联的所有子视图
Returns
boolean 是否成功

Variable Documentation

◆ XEModelInsSubviewPrimitive