AR_Engine_SDK
|
Variables | |
TeleportTypeNone = 0 | |
TeleportPhysics = 0 | |
ResetPhysics = 0 | |
MOVECOMP_NoFlags = 0 | |
MOVECOMP_IgnoreBases = 0 | |
MOVECOMP_SkipPhysicsMove = 0 | |
MOVECOMP_NeverIgnoreBlockingOverlaps = 0 | |
XEActorComponent = {} | |
XEActorComponent | ERT_RUNTIME = 0 |
XEActorComponent | ERT_EDITOR = 0 |
function XEActorComponent AddChildComponent | ( | pChild | ) |
function XEActorComponent AddToSubview | ( | pSubviewName | , |
bRenderOnlyInSubview | , | ||
bResetupSubview | |||
) |
该组件添加到子视图中,子视图位于该组件的所属世界中,要先设置该组件的世界所属
pSubviewName | string 渲染的子视图名称 |
bRenderOnlyInSubview | boolean 是否只在子视图中渲染 |
bResetupSubview | boolean 是否立即重新安装子视图 |
function XEActorComponent ApplyWorldTransform | ( | mat | ) |
设置当前非头饰的组件的世界矩阵
mat | XMATRIX4 |
function XEActorComponent AttachToComponent | ( | pParent | ) |
将当前组件附加到父节点组件pParent上面,也就是将当前组件作为pParent的子组件
pParent | XEActorComponent 将被当前组件附加的父节点组件 |
function XEActorComponent DeltaLocalMove | ( | deltaMovement | ) |
应用局部坐标系下的些许位置变化
deltaMovement | XVECTOR3 位置变化大小 |
function XEActorComponent DeltaLocalRotation | ( | deltaRotateEuler | ) |
应用局部坐标系下的些许旋转变化
deltaRotateEuler | XVECTOR3 旋转变化大小 |
function XEActorComponent DeltaLocalScale | ( | deltaScale | ) |
应用局部坐标系下的些许缩放变化
deltaScale | XVECTOR3 缩放变化大小 |
function XEActorComponent DetachFromParent | ( | ) |
将当前组件从其父节点组件上移除,也就是将当前组件与其父节点组件解除父子关系
function XEActorComponent Empty | ( | ) |
清空当前组件及其children的所有实例
function XEActorComponent FindFloor | ( | hr | ) |
function XEActorComponent GetActorOwner | ( | ) |
获取当前组件所属的XEActor
function XEActorComponent GetAllChildComponents | ( | container | ) |
获取当前组件的所有子组件,包括直接子组件,也包括子组件所包含的子组件。即此函数用于获取当前组件的所有“子孙”组件.
container | XEActorComponent[] 包含当前组件的所有“子孙”组件的列表 |
function XEActorComponent GetAllChildComponents | ( | ) |
XEActorComponent_GetAllChildComponents01
function XEActorComponent GetAttachParentComponent | ( | ) |
获取当前组件的父组件
function XEActorComponent GetChildComponents | ( | ) |
获取当前组件的所有直接子组件,不包括子组件所包含的子组件
function XEActorComponent GetCusAABB | ( | pfRadius | ) |
获取当前组件的AABB包围盒。对于不同类型的组件,其AABB包围盒数据不同。 如XEActorComponent的包围盒数据是基于组件的世界坐标和半径计算出来的; 而XEModelComponent的包围盒是从引擎中获取模型实例已计算好的数据
pfRadius | number 当前组件用于计算AABB包围盒大小的参数因子 |
function XEActorComponent GetDistanceToCamera | ( | pWorld | ) |
function XEActorComponent GetForwardVector | ( | ) |
获取当前Actor在世界坐标系下的朝向(Z)单位向量
function XEActorComponent GetIndex | ( | ) |
获取组件索引
function XEActorComponent GetLocation | ( | ) |
获取当前组件在局部坐标系的坐标,不是世界坐标系
function XEActorComponent GetQuat | ( | ) |
获取当前组件在局部坐标系的四元数,四元数表示朝向
function XEActorComponent GetRawWorldTransform | ( | ) |
获取当前XEActor的原始世界矩阵,实际是从引擎获取当前实例的世界矩阵
function XEActorComponent GetRenderPrimitive | ( | ) |
获取引擎渲染图元
function XEActorComponent GetRightVector | ( | ) |
获取当前Actor在世界坐标系下的向右(X)单位向量
function XEActorComponent GetScale | ( | ) |
获取当前组件在局部坐标系的大小
function XEActorComponent GetSubviewEdgeLength | ( | pViewport | ) |
从可能的顶点数据中获取合适的两边长作为subview纹理的两边长,一般为最长边的两点与其中位点此三点构成的两边。
pViewport | XEViewport 视口对象 |
function XEActorComponent GetTransform | ( | ) |
获取当前组件的变换数据,包括世界坐标、朝向、大小等
function XEActorComponent GetTypeName | ( | ) |
获取当前XEActorComponent的类型,默认是ActorComponent。如XEModelComponent的类型是ModelComponent; XEParticleSystemComponent的类型是ParticleSystemComponent。
function XEActorComponent GetUpVector | ( | ) |
获取当前Actor在世界坐标系下的UP(Y)单位向量
function XEActorComponent GetWorldLocation | ( | ) |
获取当前组件在世界坐标系下的位置
function XEActorComponent GetWorldOwner | ( | bStandaloneOwnerWorldAsWell | ) |
function XEActorComponent GetWorldRotation | ( | ) |
获取当前组件在世界坐标系下的旋转
function XEActorComponent GetWorldScale | ( | ) |
获取当前组件在世界坐标系下的缩放
function XEActorComponent GetWorldTransform | ( | ) |
获取当前组件在世界坐标系下的变换矩阵
function XEActorComponent HasChildComponent | ( | ) |
判断当前组件是否有子组件
function XEActorComponent Initialize | ( | pActor | ) |
根据pActor初始化当前组件的部分数据,包含当前组件所属的XEActor及当前组件的索引等
pActor | XEActor 当前组件所属的XEActor,一般而言,每个XEActor都至少包含一个组件 |
function XEActorComponent IsDeleted | ( | ) |
判断当前组件是否被标记为已删除
function XEActorComponent IsHidden | ( | ) |
判断当前组件是否是隐藏状态
function XEActorComponent IsInSubview | ( | pSubviewName | ) |
是否已经存在于一个子视图中
pSubviewName | string 指定从子视图的名称,如果为空,则判定是否存在于任意一个关联的子视图中 |
function XEActorComponent IsModified | ( | ) |
判断当前组件是否被修改
function XEActorComponent IsTransformMergeMode | ( | ) |
判断Transform是否处于合并模式
function XEActorComponent LocalToWorld | ( | position | ) |
把一个模型坐标系下的位置坐标转换为世界坐标.
position | XVECTOR3 |
function XEActorComponent LocalToWorld | ( | vector | ) |
把一个模型坐标系下的位置或旋转坐标转换为世界坐标.
vector | XVECTOR4 |
function XEActorComponent MergeToWorldTransform | ( | mat | ) |
合并到世界矩阵
mat | XMATRIX4 offset |
function XEActorComponent MoveComponent | ( | vNewWorldLocation | , |
qNewWorldQuaternion | |||
) |
将当前组件的位置和朝向分别为设为vNewWorldLocation和qNewWorldQuaternion
vNewWorldLocation | XVECTOR3 |
qNewWorldQuaternion | XQUATERNION |
function XEActorComponent MoveComponent | ( | vDelta | , |
qNewRotation | , | ||
bSweep | , | ||
hit | , | ||
MoveFlags | , | ||
Teleport | |||
) |
XEActorComponent_MoveComponent01
vDelta | XVECTOR3 |
qNewRotation | XQUATERNION |
bSweep | boolean |
hit | XEHitResult |
MoveFlags | number |
Teleport | number |
function XEActorComponent new | ( | ) |
XEActorComponent_new00
function XEActorComponent OnSocketRender | ( | pBindSocketIns | ) |
function XEActorComponent OnSocketTick | ( | pBindSocketIns | , |
matWorld | |||
) |
当当前组件被绑定到其他槽上时,用于根据槽的变换更新当前组件的状态[Tick]。
pBindSocketIns | XEBindSocketInstance |
matWorld | XMATRIX4 |
function XEActorComponent PostTick | ( | fDelMs | ) |
更新当前组件[帧后]
fDelMs | number 每帧更新的时间间隔(ms) |
function XEActorComponent PresentPhysics | ( | fDelMs | ) |
更新物理
fDelMs | number |
function XEActorComponent PreTick | ( | fDelMs | ) |
更新当前组件[帧前]
fDelMs | number 每帧更新的时间间隔(ms) |
function XEActorComponent RayPick | ( | hr | ) |
射线拾取
hr | XEHitResult [in][out]拾取结果结构体,包含输入的射线起始位置和方向;输出的拾取到的XEActor、拾取到的3D场景的坐标点等,具体参考XEHitResult的介绍. |
射线拾取(只拾取当前组件,不包括child)
hr | XEHitResult [in][out]拾取结果结构体,包含输入的射线起始位置和方向;输出的拾取到的XEActor、拾取到的3D场景的坐标点等,具体参考XEHitResult的介绍. |
function XEActorComponent RayPick | ( | hr | , |
viewport | , | ||
vScreenPoint | |||
) |
射线拾取
hr | XEHitResult [in][out]拾取结果结构体,包含输入的射线起始位置和方向;输出的拾取到的XEActor、拾取到的3D场景的坐标点等,具体参考XEHitResult的介绍. |
viewport | XViewport 当前组件所在世界绑定的视口指针 |
vScreenPoint | XVECTOR2 拾取时的像素坐标,例如在编辑器的窗口中进行拾取时,鼠标的坐标。 |
function XEActorComponent Release | ( | ) |
释放当前组件申请的资源
function XEActorComponent ReleaseActorOwner | ( | ) |
仅当前组件所属的XEActor置为空,但不释放其所指向的指针
function XEActorComponent RemoveChildComponent | ( | pChild | ) |
function XEActorComponent RemoveFromSubview | ( | bResetupSubview | , |
pSubviewName | |||
) |
从指定子视图中删除
bResetupSubview | boolean 是否立即重新安装子视图 |
pSubviewName | string 指定从子视图中移除的名称,如果为空,则该渲染图元将会从所有关联子视图中移除。 |
function XEActorComponent Render | ( | pViewport | ) |
渲染当前组件,此函数每帧都会被 XEActor 调用。根据不同类型的组件,执行的渲染操作不同。例如,如果当前类型是ParticleSystemComponent,则会渲染组件内的粒子系统。
pViewport | XEViewport |
function XEActorComponent RotateAxis | ( | vRotateAxis | , |
fDeltaRadian | |||
) |
将当前组件绕vRotateAxis轴旋转fDeltaRadian弧度
vRotateAxis | XVECTOR3 |
fDeltaRadian | number |
function XEActorComponent RotateX | ( | fDeltaRadian | ) |
将当前组件绕X轴旋转fDeltaRadian弧度。
fDeltaRadian | number |
function XEActorComponent RotateY | ( | fDeltaRadian | ) |
将当前组件绕Y轴旋转fDeltaRadian弧度。
fDeltaRadian | number |
function XEActorComponent RotateZ | ( | fDeltaRadian | ) |
将当前组件绕Z轴旋转fDeltaRadian弧度。
fDeltaRadian | number |
function XEActorComponent ScaleComponent | ( | vNewScale | ) |
将当前组件的大小设vNewScale
vNewScale | XVECTOR3 |
function XEActorComponent SetActorOwner | ( | pActor | ) |
function XEActorComponent SetDeleted | ( | bDelete | ) |
设置当前组件和当前组件所关联的子XEActor的删除状态
bDelete | boolean |
function XEActorComponent SetForwardDirAndUp | ( | vForwardDir | , |
vUp | |||
) |
在世界坐标系下,设置当前组件的朝向向量和UP向量。通过设置朝向向量和UP向量设置当前组件的旋转朝向
vForwardDir | XVECTOR3 |
vUp | XVECTOR3 |
function XEActorComponent SetHidden | ( | bHide | ) |
设置当前组件是否隐藏的状态
bHide | boolean |
function XEActorComponent SetModified | ( | bModified | ) |
标记当前组件是否被已修改
bModified | boolean |
function XEActorComponent SetPositionAndForwardDirUp | ( | vPosition | , |
vForwardDir | , | ||
vUp | |||
) |
在世界坐标系下,设置当前组件的位置、朝向向量和UP向量,其中设置朝向向量和UP向量是为了计算当前组件的旋转状态
vPosition | XVECTOR3 |
vForwardDir | XVECTOR3 |
vUp | XVECTOR3 |
function XEActorComponent SetWorldLocationAndRotation | ( | vNewWorldLocation | , |
qNewWorldQuaternion | |||
) |
将当前组件的位置和朝向分别为设为vNewWorldLocation和qNewWorldQuaternion
vNewWorldLocation | XVECTOR3 |
qNewWorldQuaternion | XQUATERNION |
function XEActorComponent SetWorldOwner | ( | pWorld | ) |
function XEActorComponent Tick | ( | fDelMs | , |
bForceTick | |||
) |
更新当前组件的数据,此函数每帧都会被调用
fDelMs | number 每帧更新的时间间隔(ms) |
bForceTick | boolean 是否强制Tick.如果为true,不管当前组件是否隐藏,都会更新;如果为false,当前组件如果隐藏时不更新。 |
function XEActorComponent UpdateForSerialize | ( | ) |
序列化前更新组件数据
function XEActorComponent UpdateWorldTransformCommon | ( | ) |
更新当前组件的世界变换矩阵
function XEActorComponent WorldToLocal | ( | position | ) |
把一个世界坐标系下的位置坐标转换为局部坐标.
position | XVECTOR3 |
function XEActorComponent WorldToLocal | ( | vector | ) |
把一个世界坐标系下的位置或旋转坐标转换为局部坐标.
vector | XVECTOR4 |
XEActorComponent ERT_EDITOR = 0 |
XEActorComponent ERT_RUNTIME = 0 |
MOVECOMP_IgnoreBases = 0 |
MOVECOMP_NeverIgnoreBlockingOverlaps = 0 |
MOVECOMP_NoFlags = 0 |
MOVECOMP_SkipPhysicsMove = 0 |
ResetPhysics = 0 |
TeleportPhysics = 0 |
TeleportTypeNone = 0 |
XEActorComponent = {} |