AR_Engine_SDK
函数 | 变量
XEUtility.lua 文件参考

#include <XEUtility.h>

XEUtility::MaterialInfo 的协作图:
Collaboration graph

#include <XEUtility.h>

类 XEUtility::XETemporalObject 继承关系图:
Inheritance graph

#include <XEUtility.h>

Public 成员函数

 XEVector ()
 
 XEVector (const T &t)
 
 XEVector (const T &t1, const T &t2)
 
 XEVector (const T &t1, const T &t2, const T &t3)
 
 XEVector (const T &t1, const T &t2, const T &t3, const T &t4)
 
void Clear ()
 
T * X ()
 
T * Y ()
 
T * Z ()
 
T * W ()
 
const T * X () const
 
const T * Y () const
 
const T * Z () const
 
const T * W () const
 

Public 属性

m [n]
 

构造及析构函数说明

◆ XEVector() [1/5]

template<typename T , int n>
XEUtility::XEVector< T, n >::XEVector ( )
inline
函数调用图:

#include <XEUtility.h>

Public 成员函数

 XEVectorM ()
 
 XEVectorM (const T &t)
 
 XEVectorM (const T &t1, const T &t2)
 
 XEVectorM (const T &t1, const T &t2, const T &t3)
 
 XEVectorM (const T &t1, const T &t2, const T &t3, const T &t4)
 
void Clear ()
 
T * X ()
 
T * Y ()
 
T * Z ()
 
T * W ()
 
const T * X () const
 
const T * Y () const
 
const T * Z () const
 
const T * W () const
 
const XEVectorMoperator+= (const XEVectorM &vec)
 
const XEVectorMoperator-= (const XEVectorM &vec)
 
const XEVectorMoperator*= (const XEVectorM &vec)
 
const XEVectorMoperator/= (const XEVectorM &vec)
 
template<typename V = T>
const XEVectorMoperator*= (V v)
 
template<typename V = T>
const XEVectorMoperator/= (V v)
 
const XEVectorMoperator= (const XEVectorM &vec)
 
XEVectorM operator+ () const
 
XEVectorM operator- () const
 

Public 属性

m [n]
 

构造及析构函数说明

◆ XEVectorM() [1/5]

template<typename T , int n>
XEUtility::XEVectorM< T, n >::XEVectorM ( )
inline
函数调用图:

#include <XEUtility.h>

类 XEAsyncLoading::AssetLoadData 继承关系图:
Inheritance graph

#include <XEUtility.h>

类 XEAsyncLoading::AssetLoadDataWithResult 继承关系图:
Inheritance graph

#include <XEUtility.h>

类 XEAsyncLoading::AssetThreadUserData 继承关系图:
Inheritance graph

函数

function XEUtility GetTransform (pActor, socketName) end
 
function XEUtility GetTransform (pActor, socketName, offset) end
 
function XEUtility GetTriangleFaceInfoByUV (pModelIns, szMeshName, szSkinName, uv, nOutTriIndex, outVertices, outVerIndices) end
 
function XEUtility GetVertexPositionFromIndex (pModelIns, szMeshName, szSkinName, nVertexIndex) end
 
function XEUtility GetVertexPositionInLocalSpaceFromIndex (pModelIns, szMeshName, szSkinName, nVertexIndex) end
 
function XEUtility GetVertexIndexFromUV (pModelIns, szMeshName, szSkinName, uv) end
 
function XEUtility GetVertexPositionFromUV (pModelIns, szMeshName, szSkinName, uv) end
 
function XEUtility GetBestViewDisOfAABB (pViewPort, box) end
 
function XEUtility LookAtActorWithCurrentCameraRotation (pActor, fMultiNum, bNeedFly) end
 
function XEUtility LookAtComponentWithCurrentCameraRotation (pComponent, pWorld, fMultiNum, bNeedFly) end
 
function XEUtility LookAtBoundBoxWithCurrentCameraRotation (box, pWorld, fMultiNum, bNeedFly) end
 
function XEUtility LookAtBoundSphereWithCurrentCameraRotation (sphere, pWorld, fMultiNum, bNeedFly) end
 
function XEUtility MakeNameLegalForLua (szName) end
 
function XEUtility GetCameraFlyAnimCurveController () end
 
function XEUtility GetActorFlyAnimCurveController () end
 
function XEUtility GetActorComponentFlyAnimCurveController () end
 
function XEUtility TransformWorld2Screen (pViewPort, vWorld) end
 
function XEUtility TransformScreen2World (pViewPort, vScreenPos) end
 
function XEUtility CastRay (pViewport, vecScreenPoint) end
 
function XEUtility PointToLineDistance (vecPoint, vecLinePoint, vecLineDirection, pFraction) end
 
function XEUtility DrawString (pCanvasBase, x, y, szString, clr) end
 
function XEUtility DrawQuad (pCanvasBase, x, y, nWidth, nHeight, clr, bSolid, pMat) end
 
function XEUtility Render2DLine (pCanvasBase, xBegin, yBegin, xEnd, yEnd, clr, pMat) end
 
function XEUtility Render2DCircle (pCanvasBase, vPos, fRadius, vStartNormalizedDir, vEndNormalizedDir, color, bClockWise, bSolid, pMat) end
 
function XEUtility GetCameraQuaternion (pCamera) end
 
function XEUtility GetCameraWorldMatrix (pCamera) end
 
function XEUtility AssignCameraParam (pTargetCamera, pSourceCamera) end
 
function XEUtility GetCircleTrackPoint () end
 
function XEUtility GetCircleTrackPoint (vCenter, fRadius, nSegment) end
 
function XEUtility GetCrossRectTrackPoint () end
 
function XEUtility GetCrossRectTrackPoint (vCenter, fRadius) end
 
function XEUtility GetSinTrackPoint () end
 
function XEUtility GetSinTrackPoint (vCenter, fAmplitude, fPeriod) end
 
function XEUtility GetViewPointOfLookingLocationAtScreen (pWorld, vLocation, nInnerPixel) end
 
function XEUtility MakePathSimple (fullPaths) end
 
function XEUtility GetAssetPackageValidPath (pFullRelativeAssetPackagePath, pEvalAssetPath, bNoRepeatPortionPath) end
 
function XEUtility GetSkinNames (pModelIns) end
 
function XEUtility GetMeshNames (pModelIns) end
 
function XEUtility IsExistActorInActorList (pActor, aActorList) end
 
function XEUtility__MaterialKey new () end
 @type number 更多...
 
function XEUtility__MaterialKey new (_sid, _lid, _meid, _maid, _pid) end
 
function XEUtility ApplyMaterialParameter (pModelIns, mk, nParamIndex, fParamVal) end
 
function XEUtility ApplyMaterialParameter (pModelIns, mk, pTexPath) end
 
function XEUtility ApplyMaterialType (pModelIns, szSkinName, szMaterialInsName, szMTPath) end
 
function XEUtility ApplyMaterialTextureParameterValue (pModelIns, szSkinName, szMaterialInsName, szParamDesc, szTexPath) end
 
function XEUtility GetMaterialInstanceTexture (pModelIns, szSkinName, szMaterialInsName, szParamDesc) end
 
function XEUtility SetMaterialInstanceTexture (pModelIns, szSkinName, szMaterialInsName, szParamDesc, pTexture, bReleaseMatInsTex) end
 
function XEUtility ApplyMaterialVectorParameterValue (pModelIns, szSkinName, szMaterialInsName, szParamDesc, valueSlot) end
 
function XEUtility ApplyMaterialVectorParameterValue (pMaterialIns, szParamDesc, valueSlot) end
 
function XEUtility GetMaterailType (pModelIns, szSkinName, szMaterialInsName) end
 
function XEUtility GetMaterailTextureParameterValue (pModelIns, szSkinName, szMaterialInsName, szParamDesc) end
 
function XEUtility GetMaterialVectorParameterValue (pModelIns, szSkinName, szMaterialInsName, szParamDesc) end
 
function XEUtility GetMaterialParamTypeValue (pModelIns, szSkinName, szMaterialInsName, szParamDesc) end
 
function XEUtility ApplyMaterailInsParamToOther (pSourceMaterialIns, pDestMaterialIns) end
 
function XEUtility GetMaterialParamValue (pMaterialIns, nParamId) end
 
function XEUtility SetMaterialParamValue (pMaterialIns, nParmId, valParam, pWorld) end
 
function XEUtility CacheMaterialInsParamValues (pMaterialIns) end
 
function XEUtility RestoreMaterialInsParamValuesFromCache (pMaterialIns, mVariants, mMacros, pWorld) end
 
function XEUtility ChangeMaterialTemplate (pMaterialIns, szMtlPath, bParamDerived, pWorld) end
 
function XEUtility GetRawMeshNameByMaterialInsName (pModelIns, szSkinName, szMaterialInsName, nLod) end
 
function XEUtility GetConstraintMotionTypeByName (str) end
 
function XEUtility GetConstraintMotionNameList () end
 
function XEUtility GetPhysResFitVertWeightTypeByName (str) end
 
function XEUtility GetAllPhysResFitVertWeightType () end
 
function XEUtility GetAllShapeMaterialParams () end
 
function XEUtility LoadPhysicsResFromPhy (pPhysicalMgr, szPhyPath, bReload) end
 
function XEUtility CreatePhysicsRes (pPhysicalMgr, eType, szName, szMdlPath, Params) end
 
function XEUtility GetXECoreActorTypes () end
 
function XEUtility BuildTex2DWithGreenScreen (pEngineIns, szTexPath, bDoMask, fMaskMinH, fMaskMaxH) end
 
function XEUtility BuildTex2DWithMaskIn2Parts (pEngineIns, szTexPath, nAlphaMaskMode, bDoMask) end
 
function XEUtility FullFillTex2DWithSpecificWHLT (pEngineIns, pTexOrigin, nWidth, nHeight, nLeft, nTop, fScale, bLimitSize1024) end
 
function XEUtility ReleaseTexture (pTexOrigin) end
 
function XEUtility LoadTex2D (pEngineIns, szTexPath) end
 
function XEUtility CreateDynamicTex2DRGBAWith1Mipmap (pEngineIns, nWidth, nHeight) end
 
function XEUtility CreateDynamicTex2DAlphaWith1Mipmap (pEngineIns, nWidth, nHeight) end
 
function XEUtility ResetDynamicTex2DRGBABuffer (pTex, nWidth, nHeight) end
 
function XEUtility CreateNewWorldIntoEngineInstance (szWorldName) end
 
function XEUtility AddWorldIntoEngineInstance (pWorldToAdd) end
 
function XEUtility GetXEEngineInstanceForWorld (pWorldContext) end
 
function XEUtility GetFileText (szRelativePath) end
 
function XEUtility OutputEngineString (szContent) end
 
function XEUtility SaveTextureToTGAFile (pTexture, strTGAPath, bOverturn, nInputW, nInputH) end
 
function XEUtility SaveTextureToPNGFile (pTexture, strPNGPath, bOverturn) end
 
function XEUtility SaveDataToPNGFile (pData, nWidth, nHeight, strPNGPath, bOverturn) end
 
function XEUtility ConvertTGATexture (szTGAFilePath, szOutputPath, bDeleteTGA) end
 
function XEUtility GetRefResourcePath (strInResource) end
 
function XEUtility GetRefResourcePath (strInResource, strExtraResource) end
 
function XEUtility WashMatrixByFollowRules (eFollowRules, transformPre, matCur) end
 
function XEUtility IsPartOfPrefabInstance (pActor, pWorld) end
 
function XEUtility PostAttachToActor (pChildActor, pParentActor) end
 
function XEUtility PreDetachFromActor (pChildActor, pParentActor) end
 

变量

 XEMacroRelationParamInfo = {}
 
XEMacroRelationParamInfo strMacro = ''
 @type string 更多...
 
XEMacroRelationParamInfo vRelationParam = {}
 @type string[] 更多...
 
XEMacroRelationParamInfo vEliminateParam = {}
 @type string[] 更多...
 
 XEUtility = {}
 

函数说明

◆ AddWorldIntoEngineInstance()

function XEUtility AddWorldIntoEngineInstance ( pWorldToAdd  )

往引擎实例里添加一个已经创建好的世界

参数
pWorldToAddXEWorld 指定要添加的世界
返回
boolean

◆ ApplyMaterailInsParamToOther()

function XEUtility ApplyMaterailInsParamToOther ( pSourceMaterialIns  ,
pDestMaterialIns   
)

把一个材质实例的参数信息应用到另一个材质实例上

参数
pSourceMaterialInsIXMaterialInstance 源材质实例指针
pDestMaterialInsIXMaterialInstance 目标材质实例指针
返回
boolean 是否应用成功

◆ ApplyMaterialParameter() [1/2]

function XEUtility ApplyMaterialParameter ( pModelIns  ,
mk  ,
nParamIndex  ,
fParamVal   
)

应用材质参数

参数
pModelInsIXModelInstance 模型实例指针
mkXEUtility::MaterialKey 材质信息
nParamIndexnumber
fParamValnumber 对应参数分量nParamIndex的值
返回
boolean 是否应用成功

◆ ApplyMaterialParameter() [2/2]

function XEUtility ApplyMaterialParameter ( pModelIns  ,
mk  ,
pTexPath   
)

应用某个纹理材质参数

参数
pModelInsIXModelInstance 模型实例指针
mkXEUtility::MaterialKey 材质信息
pTexPathstring 材质纹理路径
返回
boolean 是否应用成功

◆ ApplyMaterialTextureParameterValue()

function XEUtility ApplyMaterialTextureParameterValue ( pModelIns  ,
szSkinName  ,
szMaterialInsName  ,
szParamDesc  ,
szTexPath   
)

为某个材质应用纹理

参数
pModelInsIXModelInstance 模型实例指针
szSkinNamestring 模型skin名字
szMaterialInsNamestring 模型材质实例名字
szParamDescstring 具体参数名称
szTexPathstring 纹理路径
返回
boolean 是否应用成功

◆ ApplyMaterialType()

function XEUtility ApplyMaterialType ( pModelIns  ,
szSkinName  ,
szMaterialInsName  ,
szMTPath   
)

为某个材质应用材质模板类型

参数
pModelInsIXModelInstance 模型实例指针
szSkinNamestring 模型skin名字
szMaterialInsNamestring 模型材质实例名字
szMTPathstring 要应用的材质模板类型路径
返回
boolean 是否应用成功

◆ ApplyMaterialVectorParameterValue() [1/2]

function XEUtility ApplyMaterialVectorParameterValue ( pMaterialIns  ,
szParamDesc  ,
valueSlot   
)

应用材质参数

参数
pMaterialInsIXMaterialInstance 模型材质实例
szParamDescstring 具体参数名称
valueSlotXVECTOR4 要应用参数值,最多可以有4个分量
返回
boolean 是否应用成功

◆ ApplyMaterialVectorParameterValue() [2/2]

function XEUtility ApplyMaterialVectorParameterValue ( pModelIns  ,
szSkinName  ,
szMaterialInsName  ,
szParamDesc  ,
valueSlot   
)

应用材质参数

参数
pModelInsIXModelInstance 模型实例指针
szSkinNamestring 模型skin名字
szMaterialInsNamestring 模型材质实例名字
szParamDescstring 具体参数名称
valueSlotXVECTOR4 要应用参数值,最多可以有4个分量
返回
boolean 是否应用成功

◆ AssignCameraParam()

function XEUtility AssignCameraParam ( pTargetCamera  ,
pSourceCamera   
)

把pSourceCamera的参数赋给pTargetCamera pTargetCamera 目标相机 pSourceCamera 源相机

参数
pTargetCameraXBaseCamera
pSourceCameraXBaseCamera
返回
void

◆ BuildTex2DWithGreenScreen()

function XEUtility BuildTex2DWithGreenScreen ( pEngineIns  ,
szTexPath  ,
bDoMask  ,
fMaskMinH  ,
fMaskMaxH   
)

输入一张带绿幕图像,并生成纹理

参数
pEngineInsXEngineInstance
szTexPathstring 纹理的路径
bDoMaskboolean
fMaskMinHnumber 如果包含绿幕,指定HSV颜色空间的掩码H的最小值
fMaskMaxHnumber 如果包含绿幕,指定HSV颜色空间的掩码H的最大值
返回
IXTexture2D

◆ BuildTex2DWithMaskIn2Parts()

function XEUtility BuildTex2DWithMaskIn2Parts ( pEngineIns  ,
szTexPath  ,
nAlphaMaskMode  ,
bDoMask   
)

输入一张带alpha-mask图像,并生成纹理

参数
pEngineInsXEngineInstance
szTexPathstring 纹理的路径
nAlphaMaskModenumber
bDoMaskboolean
返回
IXTexture2D

◆ CacheMaterialInsParamValues()

function XEUtility CacheMaterialInsParamValues ( pMaterialIns  )

获得材质实例中可变参数缓存

参数
pMaterialInsIXMaterialInstance 源材质实例指针
返回
xhashtable_XString_and_XEVariant
xhashtable_XString_and_xbool
boolean 是否缓存成功

◆ CastRay()

function XEUtility CastRay ( pViewport  ,
vecScreenPoint   
)

根据像素坐标和视口,计算拾取射线。射线用近裁剪平面的三维坐标点和方向向量来表示

参数
pViewportXViewport [in]3D视口对象
vecScreenPointXVECTOR3 [in]像素坐标
返回
XVECTOR3
XVECTOR3
void

XEUtility_CastRay01

参数
pViewportXEViewport
vecScreenPointXVECTOR3
返回
XVECTOR3
XVECTOR3
void

◆ ChangeMaterialTemplate()

function XEUtility ChangeMaterialTemplate ( pMaterialIns  ,
szMtlPath  ,
bParamDerived  ,
pWorld   
)

改变材质实例中的材质模板(ShaderModel改变),并复用材质实例对应的原来的参数, 注意:参数在变换过程中可能因为不匹配而丢失!

参数
pMaterialInsIXMaterialInstance 源材质实例指针
szMtlPathstring
bParamDerivedboolean 参数值是否继承
pWorldXEWorld 如果输入world,则参数路径自动修正(按world中的包路径)
返回
boolean 是否更换成功

◆ ConvertTGATexture()

function XEUtility ConvertTGATexture ( szTGAFilePath  ,
szOutputPath  ,
bDeleteTGA   
)

把TGA格式文件转换成ktx/pvr(注意:如果Lua使用,目前只支持PC端lua调用!!!)

参数
szTGAFilePathstring TGA文件路径名
szOutputPathstring 输出的转换结果文件路径
bDeleteTGAboolean 转换后,是否删除TGA文件
返回
boolean 是否成功

◆ CreateDynamicTex2DAlphaWith1Mipmap()

function XEUtility CreateDynamicTex2DAlphaWith1Mipmap ( pEngineIns  ,
nWidth  ,
nHeight   
)

创建一张纹理,1通道,通常为Alpha数据

参数
pEngineInsXEngineInstance
nWidthnumber 宽度
nHeightnumber 高度
返回
IXTexture2D

◆ CreateDynamicTex2DRGBAWith1Mipmap()

function XEUtility CreateDynamicTex2DRGBAWith1Mipmap ( pEngineIns  ,
nWidth  ,
nHeight   
)

创建一张纹理,4通道

参数
pEngineInsXEngineInstance
nWidthnumber 宽度
nHeightnumber 高度
返回
IXTexture2D

◆ CreateNewWorldIntoEngineInstance()

function XEUtility CreateNewWorldIntoEngineInstance ( szWorldName  )

往引擎实例里创建一个新世界

参数
szWorldNamestring 指定世界的名称
返回
XEWorld

◆ CreatePhysicsRes()

function XEUtility CreatePhysicsRes ( pPhysicalMgr  ,
eType  ,
szName  ,
szMdlPath  ,
Params   
)

创建物理资源

参数
pPhysicalMgrIXPhysicalManager
eTypenumber 物理资源类型
szNamestring phy路径
szMdlPathstring mdl路径
ParamsIXSkeletalPhysicsRes::XPhysResCreateParams 初始创建参数
返回
IXPhysicsRes 物理资源的指针,如果失败返回空指针

◆ DrawQuad()

function XEUtility DrawQuad ( pCanvasBase  ,
x  ,
y  ,
nWidth  ,
nHeight  ,
clr  ,
bSolid  ,
pMat   
)

绘制四边形

参数
pCanvasBaseIXCanvasBase
xnumber 绘制的起始位置坐标的x分量
ynumber 绘制的起始位置坐标的y分量
nWidthnumber 绘制的四边形宽度
nHeightnumber 绘制的四边形高度
clrXCOLORBASE 绘制颜色(XCOLORBASE格式)
bSolidboolean 是否用颜色填充四边形区域,默认是false
pMatXMATRIX3 叠加矩阵,默认为空。(如果设置了叠加矩阵,绘制信息会叠加上这个矩阵数据)
返回
void

◆ DrawString()

function XEUtility DrawString ( pCanvasBase  ,
x  ,
y  ,
szString  ,
clr   
)

绘制字符串

参数
pCanvasBaseIXCanvasBase
xnumber 绘制的位置坐标的x分量
ynumber 绘制的位置坐标的y分量
szStringstring 要绘制的字符串内容
clrXCOLORBASE 绘制颜色(XCOLORBASE格式)
返回
void

◆ FullFillTex2DWithSpecificWHLT()

function XEUtility FullFillTex2DWithSpecificWHLT ( pEngineIns  ,
pTexOrigin  ,
nWidth  ,
nHeight  ,
nLeft  ,
nTop  ,
fScale  ,
bLimitSize1024   
)

将输入(采样)纹理扩展成为一张完整纹理 (指定宽高,纹理的起始位置,纹理缩放),该函数需要较多计算,请勿在tick中调用

参数
pEngineInsXEngineInstance
pTexOriginIXTexture2D 纹理实例
nWidthnumber 原始纹理的宽度
nHeightnumber 原始纹理的高度
nLeftnumber 采样纹理在原始纹理空间中的左偏移
nTopnumber 采样纹理在原始纹理空间中的上偏移
fScalenumber 采样纹理相对原始纹理的缩放系数(0,1)
bLimitSize1024boolean 是否限制为1024尺寸以内
返回
IXTexture2D

◆ GetActorComponentFlyAnimCurveController()

function XEUtility GetActorComponentFlyAnimCurveController ( )

获取组件飞行曲线控制器

返回
XEAnimCurveFlyController

◆ GetActorFlyAnimCurveController()

function XEUtility GetActorFlyAnimCurveController ( )

获取Actor飞行曲线控制器

返回
XEAnimCurveFlyController

◆ GetAllPhysResFitVertWeightType()

function XEUtility GetAllPhysResFitVertWeightType ( )

获取骨骼物理资源顶点权重类型对应的字符串数组

返回
string[]

◆ GetAllShapeMaterialParams()

function XEUtility GetAllShapeMaterialParams ( )

获取刚体形状表面材质的参数名称数组

返回
string[]

◆ GetAssetPackageValidPath()

function XEUtility GetAssetPackageValidPath ( pFullRelativeAssetPackagePath  ,
pEvalAssetPath  ,
bNoRepeatPortionPath   
)

获取资源有效路径

参数
pFullRelativeAssetPackagePathstring .xscene文件的全路径
pEvalAssetPathstring 资源路径
bNoRepeatPortionPathboolean 是否去掉重复文件夹,默认是不去掉
返回
string 返回拼接后的资源有效路径

◆ GetBestViewDisOfAABB()

function XEUtility GetBestViewDisOfAABB ( pViewPort  ,
box   
)

获取当前相机到一个包围盒能看到此包围盒全部的最好距离。

参数
pViewPortXViewport 视口对象指针
boxXCusAABB AABB包围盒
返回
number

◆ GetCameraFlyAnimCurveController()

function XEUtility GetCameraFlyAnimCurveController ( )

获取相机飞行曲线控制器

返回
XEAnimCurveFlyController

◆ GetCameraQuaternion()

function XEUtility GetCameraQuaternion ( pCamera  )

获取相机的旋转信息(四元数结果)

参数
pCameraXBaseCamera 要获取的相机指针
返回
XQUATERNION 旋转信息

◆ GetCameraWorldMatrix()

function XEUtility GetCameraWorldMatrix ( pCamera  )

获取相机世界矩阵

参数
pCameraXBaseCamera 要获取的相机指针
返回
XMATRIX4 相机世界矩阵

◆ GetCircleTrackPoint() [1/2]

function XEUtility GetCircleTrackPoint ( )

获取圆形曲线点数组

返回
XVECTOR3[] 生成的曲线上的点位置数组

◆ GetCircleTrackPoint() [2/2]

function XEUtility GetCircleTrackPoint ( vCenter  ,
fRadius  ,
nSegment   
)

XEUtility_GetCircleTrackPoint01

参数
vCenterXVECTOR3
fRadiusnumber
nSegmentnumber
返回
XVECTOR3[]

◆ GetConstraintMotionNameList()

function XEUtility GetConstraintMotionNameList ( )

获取所有的物理约束类型名称字符串

返回
string[]

◆ GetConstraintMotionTypeByName()

function XEUtility GetConstraintMotionTypeByName ( str  )

通过名称字符串获取对应的物理约束类型

参数
strstring
返回
number

◆ GetCrossRectTrackPoint() [1/2]

function XEUtility GetCrossRectTrackPoint ( )

获取对角矩形曲线点数组

返回
XVECTOR3[] 生成的曲线上的点位置数组

◆ GetCrossRectTrackPoint() [2/2]

function XEUtility GetCrossRectTrackPoint ( vCenter  ,
fRadius   
)

XEUtility_GetCrossRectTrackPoint01

参数
vCenterXVECTOR3
fRadiusnumber
返回
XVECTOR3[]

◆ GetFileText()

function XEUtility GetFileText ( szRelativePath  )

使用引擎文件系统读取一个文件的所有内容。 注意,该函数不会作文件大小检查,如果文件过大,可能会造成应用内存溢出而崩溃

参数
szRelativePathstring
返回
string 返回文件内容

◆ GetMaterailTextureParameterValue()

function XEUtility GetMaterailTextureParameterValue ( pModelIns  ,
szSkinName  ,
szMaterialInsName  ,
szParamDesc   
)

获取材质纹理参数路径

参数
pModelInsIXModelInstance 模型实例指针
szSkinNamestring 模型skin名字
szMaterialInsNamestring 模型材质实例名字
szParamDescstring 具体参数名称
返回
string 获取到的纹理参数路径

◆ GetMaterailType()

function XEUtility GetMaterailType ( pModelIns  ,
szSkinName  ,
szMaterialInsName   
)

获取材质类型名称

参数
pModelInsIXModelInstance 模型实例指针
szSkinNamestring 模型skin名字
szMaterialInsNamestring 模型材质实例名字
返回
string 获取到的材质类型名称

◆ GetMaterialInstanceTexture()

function XEUtility GetMaterialInstanceTexture ( pModelIns  ,
szSkinName  ,
szMaterialInsName  ,
szParamDesc   
)

获取某个材质纹理对象

参数
pModelInsIXModelInstance 模型实例指针
szSkinNamestring 模型skin名字
szMaterialInsNamestring 模型材质实例名字
szParamDescstring 具体参数名称
返回
IXTexture2D 纹理对象

◆ GetMaterialParamTypeValue()

function XEUtility GetMaterialParamTypeValue ( pModelIns  ,
szSkinName  ,
szMaterialInsName  ,
szParamDesc   
)

获取材质参数

参数
pModelInsIXModelInstance 模型实例指针
szSkinNamestring 模型skin名字
szMaterialInsNamestring 模型材质实例名字
szParamDescstring 具体参数名称
返回
XEUtility__MaterialInfo 获取到的材质参数结构体

◆ GetMaterialParamValue()

function XEUtility GetMaterialParamValue ( pMaterialIns  ,
nParamId   
)

获取材质实例参数

参数
pMaterialInsIXMaterialInstance 材质实例指针
nParamIdnumber 材质参数id
返回
XEVariant
boolean 是否应获取成功

◆ GetMaterialVectorParameterValue()

function XEUtility GetMaterialVectorParameterValue ( pModelIns  ,
szSkinName  ,
szMaterialInsName  ,
szParamDesc   
)

获取材质参数

参数
pModelInsIXModelInstance 模型实例指针
szSkinNamestring 模型skin名字
szMaterialInsNamestring 模型材质实例名字
szParamDescstring 具体参数名称
返回
XVECTOR4 获取到的参数值,最多可以有4个分量

◆ GetMeshNames()

function XEUtility GetMeshNames ( pModelIns  )

根据模型实例获取模型全部Mesh名称

参数
pModelInsIXModelInstance 模型实例指针
返回
string[]
boolean Mesh个数是否>0

◆ GetPhysResFitVertWeightTypeByName()

function XEUtility GetPhysResFitVertWeightTypeByName ( str  )

根据传入的字符串获取对应的骨骼物理资源顶点权重类型

参数
strstring
返回
number

◆ GetRawMeshNameByMaterialInsName()

function XEUtility GetRawMeshNameByMaterialInsName ( pModelIns  ,
szSkinName  ,
szMaterialInsName  ,
nLod   
)

根据材质实例名字获取对应的原始Mesh名字

参数
pModelInsIXModelInstance [in]模型实例指针
szSkinNamestring [in]模型skin名字
szMaterialInsNamestring [in]模型材质实例名字
nLodnumber [in]指定的Lod
返回
string[]
boolean

◆ GetRefResourcePath() [1/2]

function XEUtility GetRefResourcePath ( strInResource  )

获取某个资源引用的所有资源,包含自身

参数
strInResourcestring 输入的资源相对路径,包括扩展名
返回
string[]
boolean 如果输入文件存在并且引擎能够正常读取,返回xtrue,否则返回xfalse

◆ GetRefResourcePath() [2/2]

function XEUtility GetRefResourcePath ( strInResource  ,
strExtraResource   
)

XEUtility_GetRefResourcePath01

参数
strInResourcestring
strExtraResourcestring
返回
string[]
boolean

◆ GetSinTrackPoint() [1/2]

function XEUtility GetSinTrackPoint ( )

获取正弦曲线点数组

返回
XVECTOR3[] 生成的曲线上的点位置数组

◆ GetSinTrackPoint() [2/2]

function XEUtility GetSinTrackPoint ( vCenter  ,
fAmplitude  ,
fPeriod   
)

XEUtility_GetSinTrackPoint01

参数
vCenterXVECTOR3
fAmplitudenumber
fPeriodnumber
返回
XVECTOR3[]

◆ GetSkinNames()

function XEUtility GetSkinNames ( pModelIns  )

根据模型实例获取模型全部skin名称

参数
pModelInsIXModelInstance 模型实例指针
返回
string[]
boolean skin个数是否>0

◆ GetTransform() [1/2]

function XEUtility GetTransform ( pActor  ,
socketName   
)

获取变换矩阵

参数
pActorXEActor [in]场景Actor
socketNamestring [in]绑定插槽名称
返回
XETransform 变换矩阵

◆ GetTransform() [2/2]

function XEUtility GetTransform ( pActor  ,
socketName  ,
offset   
)

XEUtility_GetTransform01

参数
pActorXEActor
socketNamestring
offsetXVECTOR3
返回
XETransform

◆ GetTriangleFaceInfoByUV()

function XEUtility GetTriangleFaceInfoByUV ( pModelIns  ,
szMeshName  ,
szSkinName  ,
uv  ,
nOutTriIndex  ,
outVertices  ,
outVerIndices   
)

@manual 通过UV获取三角形面信息 XEUtility_GetTriangleFaceInfoByUV_manual

参数
pModelInsIXModelInstance [in]模型实例指针
szMeshNamestring [in]所在Mesh名字
szSkinNamestring [in]所在Skin名字
uvXVECTOR2 [in]UV信息
nOutTriIndexnumber [out]匹配到的三角形面索引
outVerticesXSkinMeshVertex
outVerIndicesnumber
返回
boolean 是否获取成功

◆ GetVertexIndexFromUV()

function XEUtility GetVertexIndexFromUV ( pModelIns  ,
szMeshName  ,
szSkinName  ,
uv   
)

通过UV获取顶点索引信息

参数
pModelInsIXModelInstance [in]模型实例指针
szMeshNamestring [in]所在Mesh名字
szSkinNamestring [in]所在Skin名字
uvXVECTOR2 [in]UV信息
返回
number
boolean 是否获取成功

◆ GetVertexPositionFromIndex()

function XEUtility GetVertexPositionFromIndex ( pModelIns  ,
szMeshName  ,
szSkinName  ,
nVertexIndex   
)

通过顶点索引获取顶点Position信息

参数
pModelInsIXModelInstance [in]模型实例指针
szMeshNamestring [in]所在Mesh名字
szSkinNamestring [in]所在Skin名字
nVertexIndexnumber [in]顶点索引
返回
XVECTOR3
boolean 是否获取成功

◆ GetVertexPositionFromUV()

function XEUtility GetVertexPositionFromUV ( pModelIns  ,
szMeshName  ,
szSkinName  ,
uv   
)

通过UV获取顶点Postion信息

参数
pModelInsIXModelInstance [in]模型实例指针
szMeshNamestring [in]所在Mesh名字
szSkinNamestring [in]所在Skin名字
uvXVECTOR2 [in]UV信息
返回
XVECTOR3
boolean 是否获取成功

◆ GetVertexPositionInLocalSpaceFromIndex()

function XEUtility GetVertexPositionInLocalSpaceFromIndex ( pModelIns  ,
szMeshName  ,
szSkinName  ,
nVertexIndex   
)

通过顶点索引获取模型空间顶点Position信息

参数
pModelInsIXModelInstance [in]模型实例指针
szMeshNamestring [in]所在Mesh名字
szSkinNamestring [in]所在Skin名字
nVertexIndexnumber [in]顶点索引
返回
XVECTOR3
boolean 是否获取成功

◆ GetViewPointOfLookingLocationAtScreen()

function XEUtility GetViewPointOfLookingLocationAtScreen ( pWorld  ,
vLocation  ,
nInnerPixel   
)

获取从渲染窗口边缘指向某个3D点的方向线段起始位置

参数
pWorldXEWorld 当前世界指针
vLocationXVECTOR3 [in]当前世界中的3D点
nInnerPixelnumber [in]此值越大,方向线段越长,默认是128像素
返回
XVECTOR2
XVECTOR2
boolean

◆ GetXECoreActorTypes()

function XEUtility GetXECoreActorTypes ( )

获取所有Actor类型

返回
string[] 返回Actor类型字符串数组

◆ GetXEEngineInstanceForWorld()

function XEUtility GetXEEngineInstanceForWorld ( pWorldContext  )

从世界上下文中获取引擎实例(XECore层)

参数
pWorldContextXEWorld
返回
XEEngineInstance

◆ IsExistActorInActorList()

function XEUtility IsExistActorInActorList ( pActor  ,
aActorList   
)

判断ActorList中是否存在某个指定的Actor

参数
pActorXEActor 指定的Actor指针
aActorListXEActor[] Actor数组
返回
boolean 是否存在

◆ IsPartOfPrefabInstance()

function XEUtility IsPartOfPrefabInstance ( pActor  ,
pWorld   
)

根据跟随规则清洗矩阵

参数
pActorXEActor 待查找的Actor
pWorldXEWorld Actor所属的世界
返回
XEPrefabInstance 包含Actor的Prefab实例

◆ LoadPhysicsResFromPhy()

function XEUtility LoadPhysicsResFromPhy ( pPhysicalMgr  ,
szPhyPath  ,
bReload   
)

从硬盘上加载一个物理资源(碰撞体)

参数
pPhysicalMgrIXPhysicalManager
szPhyPathstring phy的路径
bReloadboolean 是否重加载,默认为false
返回
IXPhysicsRes 物理资源的指针,如果失败返回空指针

◆ LoadTex2D()

function XEUtility LoadTex2D ( pEngineIns  ,
szTexPath   
)

加载一张图片到引擎

参数
pEngineInsXEngineInstance
szTexPathstring 纹理的路径
返回
IXTexture2D

◆ LookAtActorWithCurrentCameraRotation()

function XEUtility LookAtActorWithCurrentCameraRotation ( pActor  ,
fMultiNum  ,
bNeedFly   
)

定位Actor(Camera移动带有飞行曲线,但Camera姿态保持不变)

参数
pActorXEActor 要定位的Actor
fMultiNumnumber 倍数,默认为1,倍数越大,最终定位的相机位置越远
bNeedFlyboolean 是否让相机移动带有飞行曲线,默认为true
返回
boolean 是否定位成功

◆ LookAtBoundBoxWithCurrentCameraRotation()

function XEUtility LookAtBoundBoxWithCurrentCameraRotation ( box  ,
pWorld  ,
fMultiNum  ,
bNeedFly   
)

定位盒状包围盒(Camera移动带有飞行曲线,但Camera姿态保持不变)

参数
boxXCusAABB 要定位的盒状包围盒
pWorldXEWorld 包围盒所在的世界
fMultiNumnumber 倍数,默认为1,倍数越大,最终定位的相机位置越远
bNeedFlyboolean 是否让相机移动带有飞行曲线,默认为true
返回
boolean 是否定位成功

◆ LookAtBoundSphereWithCurrentCameraRotation()

function XEUtility LookAtBoundSphereWithCurrentCameraRotation ( sphere  ,
pWorld  ,
fMultiNum  ,
bNeedFly   
)

定位球状包围盒(Camera移动带有飞行曲线,但Camera姿态保持不变)

参数
sphereXCusSphere 要定位的球状包围盒
pWorldXEWorld 包围盒所在的世界
fMultiNumnumber 倍数,默认为1,倍数越大,最终定位的相机位置越远
bNeedFlyboolean 是否让相机移动带有飞行曲线,默认为true
返回
boolean 是否定位成功

◆ LookAtComponentWithCurrentCameraRotation()

function XEUtility LookAtComponentWithCurrentCameraRotation ( pComponent  ,
pWorld  ,
fMultiNum  ,
bNeedFly   
)

定位组件(Camera移动带有飞行曲线,但Camera姿态保持不变)

参数
pComponentXEActorComponent 要定位的组件
pWorldXEWorld 组件所在的世界
fMultiNumnumber 倍数,默认为1,倍数越大,最终定位的相机位置越远
bNeedFlyboolean 是否让相机移动带有飞行曲线,默认为true
返回
boolean 是否定位成功

◆ MakeNameLegalForLua()

function XEUtility MakeNameLegalForLua ( szName  )

替换名字字符串中的非法字符,保证名字对lua合法

参数
szNamecppstring 要替换的名字字符串
返回
void

◆ MakePathSimple()

function XEUtility MakePathSimple ( fullPaths  )

从完整的名字中得到名字(带后缀名)

参数
fullPathsstring[] [in][out]一组名字
返回
void

◆ new() [1/2]

function XEUtility__MaterialKey new ( )

@type number

@type XEUtility::MaterialKey

@type number @type number @type number @type number @type string @type string @type string useful for the material instance XEUtility_MaterialKey_new00

返回
XEUtility__MaterialKey

@type XSkin @type IXMaterialInstance @type XMaterialSupportMacro @type XMaterialParamDescInfo @type XMaterialParamTypeValue @type boolean XEUtility_MaterialInfo_new00

返回
XEUtility__MaterialInfo

◆ new() [2/2]

function XEUtility__MaterialKey new ( _sid  ,
_lid  ,
_meid  ,
_maid  ,
_pid   
)

XEUtility_MaterialKey_new01

参数
_sidnumber
_lidnumber
_meidnumber
_maidnumber
_pidnumber
返回
XEUtility__MaterialKey

◆ OutputEngineString()

function XEUtility OutputEngineString ( szContent  )

将日志使用引擎输出

参数
szContentstring
返回
void

◆ PointToLineDistance()

function XEUtility PointToLineDistance ( vecPoint  ,
vecLinePoint  ,
vecLineDirection  ,
pFraction   
)

计算空间中的一点(vecPoint)到指定直线的距离,其中根据一个点 vecLinePoint 和 方向向量 vecLineDirection 可确定一条直线, 此处 vecLineDirection 要求单位化

参数
vecPointXVECTOR3
vecLinePointXVECTOR3
vecLineDirectionXVECTOR3 空间直线的方向向量(单位化)
pFractionnumber 表示vecPoint投影到直线上的投影点与vecLinePoint的(带符号,表示与线的方向向量是否方向一致)距离
返回
number 点到直线的距离

◆ PostAttachToActor()

function XEUtility PostAttachToActor ( pChildActor  ,
pParentActor   
)

XEUtility_PostAttachToActor00

参数
pChildActorXEActor
pParentActorXEActor
返回
void

◆ PreDetachFromActor()

function XEUtility PreDetachFromActor ( pChildActor  ,
pParentActor   
)

XEUtility_PreDetachFromActor00

参数
pChildActorXEActor
pParentActorXEActor
返回
void

◆ ReleaseTexture()

function XEUtility ReleaseTexture ( pTexOrigin  )

释放一张纹理

参数
pTexOriginIXTexture2D
返回
void

◆ Render2DCircle()

function XEUtility Render2DCircle ( pCanvasBase  ,
vPos  ,
fRadius  ,
vStartNormalizedDir  ,
vEndNormalizedDir  ,
color  ,
bClockWise  ,
bSolid  ,
pMat   
)

绘制圆弧线或扇形线(注意:屏幕坐标,Y轴向下, X轴向左)

参数
pCanvasBaseIXCanvasBase
vPosXVECTOR2 圆弧或扇形圆心点坐标
fRadiusnumber 圆弧或扇形半径
vStartNormalizedDirXVECTOR2 圆弧或扇形起始单位方向向量
vEndNormalizedDirXVECTOR2 圆弧或扇形结束单位方向向量
colorXCOLORBASE 绘制颜色(XCOLORBASE格式)
bClockWiseboolean 绘制方向,面向屏幕,xtrue:顺时针,xflase:逆时针,默认是xtrue
bSolidboolean 是否用颜色填充绘制的区域,默认是false
pMatXMATRIX3 叠加矩阵,默认为空。(如果设置了叠加矩阵,绘制信息会叠加上这个矩阵数据)
返回
void

◆ Render2DLine()

function XEUtility Render2DLine ( pCanvasBase  ,
xBegin  ,
yBegin  ,
xEnd  ,
yEnd  ,
clr  ,
pMat   
)

绘制2D直线

参数
pCanvasBaseIXCanvasBase
xBeginnumber 直线的起始点坐标x分量
yBeginnumber 直线的起始点坐标y分量
xEndnumber 直线的结束点坐标x分量
yEndnumber 直线的结束点坐标y分量
clrXCOLORBASE 绘制颜色(XCOLORBASE格式)
pMatXMATRIX3 叠加矩阵,默认为空。(如果设置了叠加矩阵,绘制信息会叠加上这个矩阵数据)
返回
void

◆ ResetDynamicTex2DRGBABuffer()

function XEUtility ResetDynamicTex2DRGBABuffer ( pTex  ,
nWidth  ,
nHeight   
)

重新设置纹理对象的大小

参数
pTexIXTexture2D
nWidthnumber 宽度
nHeightnumber 高度
返回
boolean

◆ RestoreMaterialInsParamValuesFromCache()

function XEUtility RestoreMaterialInsParamValuesFromCache ( pMaterialIns  ,
mVariants  ,
mMacros  ,
pWorld   
)

将材质实例中可变参数缓存还原到指定材质实例中

参数
pMaterialInsIXMaterialInstance 源材质实例指针
mVariantsxhashtable_XString_and_XEVariant 参数缓存HashTable
mMacrosxhashtable_XString_and_xbool 宏开启缓存HashTable
pWorldXEWorld 如果输入world,则参数路径自动修正(按world中的包路径)
返回
boolean 是否缓存成功

◆ SaveDataToPNGFile()

function XEUtility SaveDataToPNGFile ( pData  ,
nWidth  ,
nHeight  ,
strPNGPath  ,
bOverturn   
)

把数据保存成PNG格式文件,需要保证数据有效且包括RGBA4个通道!

参数
pDatauserdata 保存的数据指针
nWidthnumber 图片宽度
nHeightnumber 图片高度
strPNGPathstring png文件名
bOverturnboolean 是否翻转(引擎的纹理不用翻转)
返回
boolean 是否成功

◆ SaveTextureToPNGFile()

function XEUtility SaveTextureToPNGFile ( pTexture  ,
strPNGPath  ,
bOverturn   
)

把纹理保存成PNG格式文件

参数
pTextureIXTexture 保存的纹理指针(目前只支持纹理格式是XTF_R8G8B8A8!!!)
strPNGPathstring png文件名
bOverturnboolean 是否翻转(引擎的纹理不用翻转)
返回
boolean 是否成功

◆ SaveTextureToTGAFile()

function XEUtility SaveTextureToTGAFile ( pTexture  ,
strTGAPath  ,
bOverturn  ,
nInputW  ,
nInputH   
)

把纹理保存成TGA格式文件

参数
pTextureIXTexture 保存的纹理指针(目前只支持纹理格式是XTF_R8G8B8A8!!!)
strTGAPathstring tga文件名
bOverturnboolean 是否翻转(引擎的纹理不用翻转)
nInputWnumber 存成图片的宽(默认为0,直接使用纹理的宽高,如果nInputWnInputH均不为0,则存成对应大小)
nInputHnumber 存成图片的高(默认为0)
返回
boolean 是否成功

◆ SetMaterialInstanceTexture()

function XEUtility SetMaterialInstanceTexture ( pModelIns  ,
szSkinName  ,
szMaterialInsName  ,
szParamDesc  ,
pTexture  ,
bReleaseMatInsTex   
)

XEUtility_SetMaterialInstanceTexture00

参数
pModelInsIXModelInstance
szSkinNamestring
szMaterialInsNamestring
szParamDescstring
pTextureIXTexture2D
bReleaseMatInsTexboolean
返回
boolean

◆ SetMaterialParamValue()

function XEUtility SetMaterialParamValue ( pMaterialIns  ,
nParmId  ,
valParam  ,
pWorld   
)

设置材质实例参数

参数
pMaterialInsIXMaterialInstance 材质实例指针
nParmIdnumber
valParamXEVariant
pWorldXEWorld 如果输入world,则参数路径自动修正(按world中的包路径)
返回
boolean 是否应设置成功

◆ TransformScreen2World()

function XEUtility TransformScreen2World ( pViewPort  ,
vScreenPos   
)

把屏幕坐标转换为世界坐标

参数
pViewPortXEViewport ViewPort指针
vScreenPosXVECTOR3 要转换的屏幕坐标
返回
XVECTOR3 转换后的世界坐标

◆ TransformWorld2Screen()

function XEUtility TransformWorld2Screen ( pViewPort  ,
vWorld   
)

把世界坐标转换为屏幕坐标

参数
pViewPortXEViewport ViewPort指针
vWorldXVECTOR3 要转换的世界坐标
返回
XVECTOR3 转换后的屏幕坐标

◆ WashMatrixByFollowRules()

function XEUtility WashMatrixByFollowRules ( eFollowRules  ,
transformPre  ,
matCur   
)

根据跟随规则清洗矩阵

参数
eFollowRulesnumber
transformPreXETransform
matCurXMATRIX4
返回
XMATRIX4 返回清洗矩阵

变量说明

◆ strMacro

XEMacroRelationParamInfo strMacro = ''

@type string

◆ vEliminateParam

XEMacroRelationParamInfo vEliminateParam = {}

@type string[]

◆ vRelationParam

XEMacroRelationParamInfo vRelationParam = {}

@type string[]

◆ XEMacroRelationParamInfo

◆ XEUtility

XEUtility = {}