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

Functions

function XEActorComponent new () end
 
function XEActorComponent GetTypeName () end
 
function XEActorComponent Release () end
 
function XEActorComponent Empty () end
 
function XEActorComponent PreTick (fDelMs) end
 
function XEActorComponent Tick (fDelMs, bForceTick) end
 
function XEActorComponent PostTick (fDelMs) end
 
function XEActorComponent PresentPhysics (fDelMs) end
 
function XEActorComponent Render (pViewport) end
 
function XEActorComponent AttachToComponent (pParent) end
 
function XEActorComponent DetachFromParent () end
 
function XEActorComponent Initialize (pActor) end
 
function XEActorComponent GetCusAABB (pfRadius) end
 
function XEActorComponent RayPick (hr) end
 
function XEActorComponent RayPick (hr, viewport, vScreenPoint) end
 
function XEActorComponent UpdateForSerialize () end
 
function XEActorComponent SetDeleted (bDelete) end
 
function XEActorComponent OnSocketTick (pBindSocketIns, matWorld) end
 
function XEActorComponent OnSocketRender (pBindSocketIns) end
 
function XEActorComponent SetHidden (bHide) end
 
function XEActorComponent AddToSubview (pSubviewName, bRenderOnlyInSubview, bResetupSubview) end
 
function XEActorComponent RemoveFromSubview (bResetupSubview, pSubviewName) end
 
function XEActorComponent IsInSubview (pSubviewName) end
 
function XEActorComponent GetSubviewEdgeLength (pViewport) end
 
function XEActorComponent GetRenderPrimitive () end
 
function XEActorComponent MergeToWorldTransform (mat) end
 
function XEActorComponent ApplyWorldTransform (mat) end
 
function XEActorComponent GetRawWorldTransform () end
 
function XEActorComponent GetAttachParentComponent () end
 
function XEActorComponent GetAllChildComponents (container) end
 
function XEActorComponent GetAllChildComponents () end
 
function XEActorComponent GetChildComponents () end
 
function XEActorComponent HasChildComponent () end
 
function XEActorComponent AddChildComponent (pChild) end
 
function XEActorComponent RemoveChildComponent (pChild) end
 
function XEActorComponent SetActorOwner (pActor) end
 
function XEActorComponent GetActorOwner () end
 
function XEActorComponent ReleaseActorOwner () end
 
function XEActorComponent IsTransformMergeMode () end
 
function XEActorComponent GetTransform () end
 
function XEActorComponent GetWorldOwner (bStandaloneOwnerWorldAsWell) end
 
function XEActorComponent SetWorldOwner (pWorld) end
 
function XEActorComponent GetForwardVector () end
 
function XEActorComponent GetUpVector () end
 
function XEActorComponent GetRightVector () end
 
function XEActorComponent SetForwardDirAndUp (vForwardDir, vUp) end
 
function XEActorComponent SetPositionAndForwardDirUp (vPosition, vForwardDir, vUp) end
 
function XEActorComponent RotateX (fDeltaRadian) end
 
function XEActorComponent RotateY (fDeltaRadian) end
 
function XEActorComponent RotateZ (fDeltaRadian) end
 
function XEActorComponent RotateAxis (vRotateAxis, fDeltaRadian) end
 
function XEActorComponent DeltaLocalMove (deltaMovement) end
 
function XEActorComponent DeltaLocalRotation (deltaRotateEuler) end
 
function XEActorComponent DeltaLocalScale (deltaScale) end
 
function XEActorComponent GetLocation () end
 
function XEActorComponent GetQuat () end
 
function XEActorComponent GetScale () end
 
function XEActorComponent GetIndex () end
 
function XEActorComponent IsDeleted () end
 
function XEActorComponent IsModified () end
 
function XEActorComponent IsHidden () end
 
function XEActorComponent SetModified (bModified) end
 
function XEActorComponent GetWorldLocation () end
 
function XEActorComponent GetWorldRotation () end
 
function XEActorComponent GetWorldScale () end
 
function XEActorComponent GetWorldTransform () end
 
function XEActorComponent LocalToWorld (position) end
 
function XEActorComponent LocalToWorld (vector) end
 
function XEActorComponent WorldToLocal (position) end
 
function XEActorComponent WorldToLocal (vector) end
 
function XEActorComponent MoveComponent (vNewWorldLocation, qNewWorldQuaternion) end
 
function XEActorComponent ScaleComponent (vNewScale) end
 
function XEActorComponent UpdateWorldTransformCommon () end
 
function XEActorComponent GetDistanceToCamera (pWorld) end
 

Variables

 XEActorComponent = {}
 
XEActorComponent ERT_RUNTIME = 0
 
XEActorComponent ERT_EDITOR = 0
 

Function Documentation

◆ AddChildComponent()

function XEActorComponent AddChildComponent ( pChild  )

为当前组件添加子组件

Parameters
pChildXEActorComponent 将要添加到当前组件的子组件列表的组件
Returns
void

◆ AddToSubview()

function XEActorComponent AddToSubview ( pSubviewName  ,
bRenderOnlyInSubview  ,
bResetupSubview   
)

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

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

◆ ApplyWorldTransform()

function XEActorComponent ApplyWorldTransform ( mat  )

设置当前非头饰的组件的世界矩阵

Parameters
matXMATRIX4
Returns
boolean 是否设置成功

◆ AttachToComponent()

function XEActorComponent AttachToComponent ( pParent  )

将当前组件附加到父节点组件pParent上面,也就是将当前组件作为pParent的子组件

Parameters
pParentXEActorComponent 将被当前组件附加的父节点组件
Returns
void

◆ DeltaLocalMove()

function XEActorComponent DeltaLocalMove ( deltaMovement  )

应用局部坐标系下的些许位置变化

Parameters
deltaMovementXVECTOR3 位置变化大小
Returns
void

◆ DeltaLocalRotation()

function XEActorComponent DeltaLocalRotation ( deltaRotateEuler  )

应用局部坐标系下的些许旋转变化

Parameters
deltaRotateEulerXVECTOR3 旋转变化大小
Returns
void

◆ DeltaLocalScale()

function XEActorComponent DeltaLocalScale ( deltaScale  )

应用局部坐标系下的些许缩放变化

Parameters
deltaScaleXVECTOR3 缩放变化大小
Returns
void

◆ DetachFromParent()

function XEActorComponent DetachFromParent ( )

将当前组件从其父节点组件上移除,也就是将当前组件与其父节点组件解除父子关系

Returns
void

◆ Empty()

function XEActorComponent Empty ( )

清空当前组件及其children的所有实例

Returns
void

◆ GetActorOwner()

function XEActorComponent GetActorOwner ( )

获取当前组件所属的XEActor

Returns
XEActor

◆ GetAllChildComponents() [1/2]

function XEActorComponent GetAllChildComponents ( container  )

获取当前组件的所有子组件,包括直接子组件,也包括子组件所包含的子组件。即此函数用于获取当前组件的所有“子孙”组件.

Parameters
containerXEActorComponent[] 包含当前组件的所有“子孙”组件的列表
Returns
void

◆ GetAllChildComponents() [2/2]

function XEActorComponent GetAllChildComponents ( )

XEActorComponent_GetAllChildComponents01

Returns
XEActorComponent[]
void

◆ GetAttachParentComponent()

function XEActorComponent GetAttachParentComponent ( )

获取当前组件的父组件

Returns
XEActorComponent

◆ GetChildComponents()

function XEActorComponent GetChildComponents ( )

获取当前组件的所有直接子组件,不包括子组件所包含的子组件

Returns
XEActorComponent[]

◆ GetCusAABB()

function XEActorComponent GetCusAABB ( pfRadius  )

获取当前组件的AABB包围盒。对于不同类型的组件,其AABB包围盒数据不同。 如XEActorComponent的包围盒数据是基于组件的世界坐标和半径计算出来的; 而XEModelComponent的包围盒是从引擎中获取模型实例已计算好的数据

Parameters
pfRadiusnumber 当前组件用于计算AABB包围盒大小的参数因子
Returns
XCusAABB

◆ GetDistanceToCamera()

function XEActorComponent GetDistanceToCamera ( pWorld  )

获取当前组件到视口绑定的虚拟相机的距离

Parameters
pWorldXEWorld
Returns
number

◆ GetForwardVector()

function XEActorComponent GetForwardVector ( )

获取当前Actor在世界坐标系下的朝向(Z)单位向量

Returns
XVECTOR3

◆ GetIndex()

function XEActorComponent GetIndex ( )

获取组件索引

Returns
number

◆ GetLocation()

function XEActorComponent GetLocation ( )

获取当前组件在局部坐标系的坐标,不是世界坐标系

Returns
XVECTOR3

◆ GetQuat()

function XEActorComponent GetQuat ( )

获取当前组件在局部坐标系的四元数,四元数表示朝向

Returns
XQUATERNION

◆ GetRawWorldTransform()

function XEActorComponent GetRawWorldTransform ( )

获取当前XEActor的原始世界矩阵,实际是从引擎获取当前实例的世界矩阵

Returns
XMATRIX4

◆ GetRenderPrimitive()

function XEActorComponent GetRenderPrimitive ( )

获取引擎渲染图元

Returns
IXPrimitiveBase

◆ GetRightVector()

function XEActorComponent GetRightVector ( )

获取当前Actor在世界坐标系下的向右(X)单位向量

Returns
XVECTOR3

◆ GetScale()

function XEActorComponent GetScale ( )

获取当前组件在局部坐标系的大小

Returns
XVECTOR3

◆ GetSubviewEdgeLength()

function XEActorComponent GetSubviewEdgeLength ( pViewport  )

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

Parameters
pViewportXEViewport 视口对象
Returns
XVECTOR2
boolean 是否成功

◆ GetTransform()

function XEActorComponent GetTransform ( )

获取当前组件的变换数据,包括世界坐标、朝向、大小等

Returns
XETransform

◆ GetTypeName()

function XEActorComponent GetTypeName ( )

获取当前XEActorComponent的类型,默认是ActorComponent。如XEModelComponent的类型是ModelComponent; XEParticleSystemComponent的类型是ParticleSystemComponent。

Returns
string

◆ GetUpVector()

function XEActorComponent GetUpVector ( )

获取当前Actor在世界坐标系下的UP(Y)单位向量

Returns
XVECTOR3

◆ GetWorldLocation()

function XEActorComponent GetWorldLocation ( )

获取当前组件在世界坐标系下的位置

Returns
XVECTOR3

◆ GetWorldOwner()

function XEActorComponent GetWorldOwner ( bStandaloneOwnerWorldAsWell  )

获取当前组件所处的世界对象,也就是当前组件所属的XEActor所处的世界

Parameters
bStandaloneOwnerWorldAsWellboolean
Returns
XEWorld

◆ GetWorldRotation()

function XEActorComponent GetWorldRotation ( )

获取当前组件在世界坐标系下的旋转

Returns
XQUATERNION

◆ GetWorldScale()

function XEActorComponent GetWorldScale ( )

获取当前组件在世界坐标系下的缩放

Returns
XVECTOR3

◆ GetWorldTransform()

function XEActorComponent GetWorldTransform ( )

获取当前组件在世界坐标系下的变换矩阵

Returns
XMATRIX4

◆ HasChildComponent()

function XEActorComponent HasChildComponent ( )

判断当前组件是否有子组件

Returns
boolean

◆ Initialize()

function XEActorComponent Initialize ( pActor  )

根据pActor初始化当前组件的部分数据,包含当前组件所属的XEActor及当前组件的索引等

Parameters
pActorXEActor 当前组件所属的XEActor,一般而言,每个XEActor都至少包含一个组件
Returns
void

◆ IsDeleted()

function XEActorComponent IsDeleted ( )

判断当前组件是否被标记为已删除

Returns
boolean

◆ IsHidden()

function XEActorComponent IsHidden ( )

判断当前组件是否是隐藏状态

Returns
boolean

◆ IsInSubview()

function XEActorComponent IsInSubview ( pSubviewName  )

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

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

◆ IsModified()

function XEActorComponent IsModified ( )

判断当前组件是否被修改

Returns
boolean

◆ IsTransformMergeMode()

function XEActorComponent IsTransformMergeMode ( )

判断Transform是否处于合并模式

Returns
boolean

◆ LocalToWorld() [1/2]

function XEActorComponent LocalToWorld ( position  )

把一个模型坐标系下的位置坐标转换为世界坐标.

Parameters
positionXVECTOR3
Returns
XVECTOR3

◆ LocalToWorld() [2/2]

function XEActorComponent LocalToWorld ( vector  )

把一个模型坐标系下的位置或旋转坐标转换为世界坐标.

Parameters
vectorXVECTOR4
Returns
XVECTOR4

◆ MergeToWorldTransform()

function XEActorComponent MergeToWorldTransform ( mat  )

合并到世界矩阵

Parameters
matXMATRIX4 offset
Returns
boolean 是否成功

◆ MoveComponent()

function XEActorComponent MoveComponent ( vNewWorldLocation  ,
qNewWorldQuaternion   
)

将当前组件的位置和朝向分别为设为vNewWorldLocation和qNewWorldQuaternion

Parameters
vNewWorldLocationXVECTOR3
qNewWorldQuaternionXQUATERNION
Returns
boolean

◆ new()

function XEActorComponent new ( )

XEActorComponent_new00

Returns
XEActorComponent

◆ OnSocketRender()

function XEActorComponent OnSocketRender ( pBindSocketIns  )

当当前组件被绑定到其他槽上时,渲染该插槽上的物体。

Parameters
pBindSocketInsXEBindSocketInstance
Returns
void

◆ OnSocketTick()

function XEActorComponent OnSocketTick ( pBindSocketIns  ,
matWorld   
)

当当前组件被绑定到其他槽上时,用于根据槽的变换更新当前组件的状态[Tick]。

Parameters
pBindSocketInsXEBindSocketInstance
matWorldXMATRIX4
Returns
void

◆ PostTick()

function XEActorComponent PostTick ( fDelMs  )

更新当前组件[帧后]

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

◆ PresentPhysics()

function XEActorComponent PresentPhysics ( fDelMs  )

更新物理

Parameters
fDelMsnumber
Returns
void

◆ PreTick()

function XEActorComponent PreTick ( fDelMs  )

更新当前组件[帧前]

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

◆ RayPick() [1/2]

function XEActorComponent RayPick ( hr  )

射线拾取

Parameters
hrXEHitResult [in][out]拾取结果结构体,包含输入的射线起始位置和方向;输出的拾取到的XEActor、拾取到的3D场景的坐标点等,具体参考XEHitResult的介绍.
Returns
XEHitResult[]
boolean 表示是否拾取到

射线拾取(只拾取当前组件,不包括child)

Parameters
hrXEHitResult [in][out]拾取结果结构体,包含输入的射线起始位置和方向;输出的拾取到的XEActor、拾取到的3D场景的坐标点等,具体参考XEHitResult的介绍.
Returns
boolean 表示是否拾取到

◆ RayPick() [2/2]

function XEActorComponent RayPick ( hr  ,
viewport  ,
vScreenPoint   
)

射线拾取

Parameters
hrXEHitResult [in][out]拾取结果结构体,包含输入的射线起始位置和方向;输出的拾取到的XEActor、拾取到的3D场景的坐标点等,具体参考XEHitResult的介绍.
viewportXViewport 当前组件所在世界绑定的视口指针
vScreenPointXVECTOR2 拾取时的像素坐标,例如在编辑器的窗口中进行拾取时,鼠标的坐标。
Returns
XEHitResult[]
boolean 表示是否拾取到

◆ Release()

function XEActorComponent Release ( )

释放当前组件申请的资源

Returns
void

◆ ReleaseActorOwner()

function XEActorComponent ReleaseActorOwner ( )

仅当前组件所属的XEActor置为空,但不释放其所指向的指针

Returns
void

◆ RemoveChildComponent()

function XEActorComponent RemoveChildComponent ( pChild  )

从当前组件移除指定的子组件

Parameters
pChildXEActorComponent 将要从当前组件的子组件列表中移除的组件
Returns
void

◆ RemoveFromSubview()

function XEActorComponent RemoveFromSubview ( bResetupSubview  ,
pSubviewName   
)

从指定子视图中删除

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

◆ Render()

function XEActorComponent Render ( pViewport  )

渲染当前组件,此函数每帧都会被 XEActor 调用。根据不同类型的组件,执行的渲染操作不同。例如,如果当前类型是ParticleSystemComponent,则会渲染组件内的粒子系统。

Parameters
pViewportXEViewport
Returns
void

◆ RotateAxis()

function XEActorComponent RotateAxis ( vRotateAxis  ,
fDeltaRadian   
)

将当前组件绕vRotateAxis轴旋转fDeltaRadian弧度

Parameters
vRotateAxisXVECTOR3
fDeltaRadiannumber
Returns
void

◆ RotateX()

function XEActorComponent RotateX ( fDeltaRadian  )

将当前组件绕X轴旋转fDeltaRadian弧度。

Parameters
fDeltaRadiannumber
Returns
void

◆ RotateY()

function XEActorComponent RotateY ( fDeltaRadian  )

将当前组件绕Y轴旋转fDeltaRadian弧度。

Parameters
fDeltaRadiannumber
Returns
void

◆ RotateZ()

function XEActorComponent RotateZ ( fDeltaRadian  )

将当前组件绕Z轴旋转fDeltaRadian弧度。

Parameters
fDeltaRadiannumber
Returns
void

◆ ScaleComponent()

function XEActorComponent ScaleComponent ( vNewScale  )

将当前组件的大小设vNewScale

Parameters
vNewScaleXVECTOR3
Returns
boolean

◆ SetActorOwner()

function XEActorComponent SetActorOwner ( pActor  )

设置当前组件所属的XEActor

Parameters
pActorXEActor
Returns
void

◆ SetDeleted()

function XEActorComponent SetDeleted ( bDelete  )

设置当前组件和当前组件所关联的子XEActor的删除状态

Parameters
bDeleteboolean
Returns
void

◆ SetForwardDirAndUp()

function XEActorComponent SetForwardDirAndUp ( vForwardDir  ,
vUp   
)

在世界坐标系下,设置当前组件的朝向向量和UP向量。通过设置朝向向量和UP向量设置当前组件的旋转朝向

Parameters
vForwardDirXVECTOR3
vUpXVECTOR3
Returns
void

◆ SetHidden()

function XEActorComponent SetHidden ( bHide  )

设置当前组件是否隐藏的状态

Parameters
bHideboolean
Returns
void

◆ SetModified()

function XEActorComponent SetModified ( bModified  )

标记当前组件是否被已修改

Parameters
bModifiedboolean
Returns
void

◆ SetPositionAndForwardDirUp()

function XEActorComponent SetPositionAndForwardDirUp ( vPosition  ,
vForwardDir  ,
vUp   
)

在世界坐标系下,设置当前组件的位置、朝向向量和UP向量,其中设置朝向向量和UP向量是为了计算当前组件的旋转状态

Parameters
vPositionXVECTOR3
vForwardDirXVECTOR3
vUpXVECTOR3
Returns
void

◆ SetWorldOwner()

function XEActorComponent SetWorldOwner ( pWorld  )

设置当前组件所处的世界对象,也就是当前组件所属的XEActor所处的世界

Parameters
pWorldXEWorld
Returns
void

◆ Tick()

function XEActorComponent Tick ( fDelMs  ,
bForceTick   
)

更新当前组件的数据,此函数每帧都会被调用

Parameters
fDelMsnumber 每帧更新的时间间隔(ms)
bForceTickboolean 是否强制Tick.如果为true,不管当前组件是否隐藏,都会更新;如果为false,当前组件如果隐藏时不更新。
Returns
void

◆ UpdateForSerialize()

function XEActorComponent UpdateForSerialize ( )

序列化前更新组件数据

Returns
void

◆ UpdateWorldTransformCommon()

function XEActorComponent UpdateWorldTransformCommon ( )

更新当前组件的世界变换矩阵

Returns
void

◆ WorldToLocal() [1/2]

function XEActorComponent WorldToLocal ( position  )

把一个世界坐标系下的位置坐标转换为局部坐标.

Parameters
positionXVECTOR3
Returns
XVECTOR3

◆ WorldToLocal() [2/2]

function XEActorComponent WorldToLocal ( vector  )

把一个世界坐标系下的位置或旋转坐标转换为局部坐标.

Parameters
vectorXVECTOR4
Returns
XVECTOR4

Variable Documentation

◆ ERT_EDITOR

XEActorComponent ERT_EDITOR = 0

◆ ERT_RUNTIME

XEActorComponent ERT_RUNTIME = 0

◆ XEActorComponent