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

Functions

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, vOutPos) end
 
function XEUtility GetVertexPositionFromIndex (pModelIns, szMeshName, szSkinName, nVertexIndex) end
 
function XEUtility GetVertexPositionInLocalSpaceFromIndex (pModelIns, szMeshName, szSkinName, nVertexIndex, vOutLocalPos) end
 
function XEUtility GetVertexPositionInLocalSpaceFromIndex (pModelIns, szMeshName, szSkinName, nVertexIndex) end
 
function XEUtility GetVertexIndexFromUV (pModelIns, szMeshName, szSkinName, uv, vOutVertexIndex) end
 
function XEUtility GetVertexIndexFromUV (pModelIns, szMeshName, szSkinName, uv) end
 
function XEUtility GetVertexPositionFromUV (pModelIns, szMeshName, szSkinName, uv, vOutPos) 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, vecStart, vecDir) 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, aSkinNames) end
 
function XEUtility GetSkinNames (pModelIns) end
 
function XEUtility GetMeshNames (pModelIns, aMeshNames) end
 
function XEUtility GetMeshNames (pModelIns) end
 
function XEUtility IsExistActorInActorList (pActor, aActorList) end
 
function XEUtility__MaterialKey new () end
 @type number More...
 
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 GetRawMeshNameByMaterialInsName (pModelIns, szSkinName, szMaterialInsName, nLod, vRawMeshName) 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, strOutResources) end
 
function XEUtility GetRefResourcePath (strInResource) end
 
function XEUtility GetRefResourcePath (strInResource, strExtraResource, strOutResources) end
 
function XEUtility GetRefResourcePath (strInResource, strExtraResource) end
 
function XEUtility WashMatrixByFollowRules (eFollowRules, transformPre, matCur) end
 

Variables

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

Function Documentation

◆ AddWorldIntoEngineInstance()

function XEUtility AddWorldIntoEngineInstance ( pWorldToAdd  )

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

Parameters
pWorldToAddXEWorld 指定要添加的世界
Returns
boolean

◆ ApplyMaterailInsParamToOther()

function XEUtility ApplyMaterailInsParamToOther ( pSourceMaterialIns  ,
pDestMaterialIns   
)

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

Parameters
pSourceMaterialInsIXMaterialInstance 源材质实例指针
pDestMaterialInsIXMaterialInstance 目标材质实例指针
Returns
boolean 是否应用成功

◆ ApplyMaterialParameter() [1/2]

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

应用材质参数

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

◆ ApplyMaterialParameter() [2/2]

function XEUtility ApplyMaterialParameter ( pModelIns  ,
mk  ,
pTexPath   
)

应用某个纹理材质参数

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

◆ ApplyMaterialTextureParameterValue()

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

为某个材质应用纹理

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

◆ ApplyMaterialType()

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

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

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

◆ ApplyMaterialVectorParameterValue() [1/2]

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

应用材质参数

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

◆ ApplyMaterialVectorParameterValue() [2/2]

function XEUtility ApplyMaterialVectorParameterValue ( pMaterialIns  ,
szParamDesc  ,
valueSlot   
)

应用材质参数

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

◆ AssignCameraParam()

function XEUtility AssignCameraParam ( pTargetCamera  ,
pSourceCamera   
)

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

Parameters
pTargetCameraXBaseCamera
pSourceCameraXBaseCamera
Returns
void

◆ BuildTex2DWithGreenScreen()

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

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

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

◆ BuildTex2DWithMaskIn2Parts()

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

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

Parameters
pEngineInsXEngineInstance
szTexPathstring 纹理的路径
nAlphaMaskModenumber
bDoMaskboolean
Returns
IXTexture2D

◆ CastRay() [1/2]

function XEUtility CastRay ( pViewport  ,
vecScreenPoint  ,
vecStart  ,
vecDir   
)

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

Parameters
pViewportXViewport [in]3D视口对象
vecScreenPointXVECTOR3 [in]像素坐标
vecStartXVECTOR3 [out]像素坐标对应在近裁剪平面上的三维坐标点
vecDirXVECTOR3 [out]射线的方向向量
Returns
void

◆ CastRay() [2/2]

function XEUtility CastRay ( pViewport  ,
vecScreenPoint   
)

XEUtility_CastRay01

Parameters
pViewportXViewport
vecScreenPointXVECTOR3
Returns
XVECTOR3
XVECTOR3
void

◆ ConvertTGATexture()

function XEUtility ConvertTGATexture ( szTGAFilePath  ,
szOutputPath  ,
bDeleteTGA   
)

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

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

◆ CreateDynamicTex2DAlphaWith1Mipmap()

function XEUtility CreateDynamicTex2DAlphaWith1Mipmap ( pEngineIns  ,
nWidth  ,
nHeight   
)

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

Parameters
pEngineInsXEngineInstance
nWidthnumber 宽度
nHeightnumber 高度
Returns
IXTexture2D

◆ CreateDynamicTex2DRGBAWith1Mipmap()

function XEUtility CreateDynamicTex2DRGBAWith1Mipmap ( pEngineIns  ,
nWidth  ,
nHeight   
)

创建一张纹理,4通道

Parameters
pEngineInsXEngineInstance
nWidthnumber 宽度
nHeightnumber 高度
Returns
IXTexture2D

◆ CreateNewWorldIntoEngineInstance()

function XEUtility CreateNewWorldIntoEngineInstance ( szWorldName  )

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

Parameters
szWorldNamestring 指定世界的名称
Returns
XEWorld

◆ CreatePhysicsRes()

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

创建物理资源

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

◆ DrawQuad()

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

绘制四边形

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

◆ DrawString()

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

绘制字符串

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

◆ FullFillTex2DWithSpecificWHLT()

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

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

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

◆ GetActorComponentFlyAnimCurveController()

function XEUtility GetActorComponentFlyAnimCurveController ( )

获取组件飞行曲线控制器

Returns
XEAnimCurveFlyController

◆ GetActorFlyAnimCurveController()

function XEUtility GetActorFlyAnimCurveController ( )

获取Actor飞行曲线控制器

Returns
XEAnimCurveFlyController

◆ GetAllPhysResFitVertWeightType()

function XEUtility GetAllPhysResFitVertWeightType ( )

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

Returns
string[]

◆ GetAllShapeMaterialParams()

function XEUtility GetAllShapeMaterialParams ( )

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

Returns
string[]

◆ GetAssetPackageValidPath()

function XEUtility GetAssetPackageValidPath ( pFullRelativeAssetPackagePath  ,
pEvalAssetPath  ,
bNoRepeatPortionPath   
)

获取资源有效路径

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

◆ GetBestViewDisOfAABB()

function XEUtility GetBestViewDisOfAABB ( pViewPort  ,
box   
)

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

Parameters
pViewPortXViewport 视口对象指针
boxXCusAABB AABB包围盒
Returns
number

◆ GetCameraFlyAnimCurveController()

function XEUtility GetCameraFlyAnimCurveController ( )

获取相机飞行曲线控制器

Returns
XEAnimCurveFlyController

◆ GetCameraQuaternion()

function XEUtility GetCameraQuaternion ( pCamera  )

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

Parameters
pCameraXBaseCamera 要获取的相机指针
Returns
XQUATERNION 旋转信息

◆ GetCameraWorldMatrix()

function XEUtility GetCameraWorldMatrix ( pCamera  )

获取相机世界矩阵

Parameters
pCameraXBaseCamera 要获取的相机指针
Returns
XMATRIX4 相机世界矩阵

◆ GetCircleTrackPoint() [1/2]

function XEUtility GetCircleTrackPoint ( )

获取圆形曲线点数组

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

◆ GetCircleTrackPoint() [2/2]

function XEUtility GetCircleTrackPoint ( vCenter  ,
fRadius  ,
nSegment   
)

XEUtility_GetCircleTrackPoint01

Parameters
vCenterXVECTOR3
fRadiusnumber
nSegmentnumber
Returns
XVECTOR3[]

◆ GetConstraintMotionNameList()

function XEUtility GetConstraintMotionNameList ( )

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

Returns
string[]

◆ GetConstraintMotionTypeByName()

function XEUtility GetConstraintMotionTypeByName ( str  )

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

Parameters
strstring
Returns
number

◆ GetCrossRectTrackPoint() [1/2]

function XEUtility GetCrossRectTrackPoint ( )

获取对角矩形曲线点数组

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

◆ GetCrossRectTrackPoint() [2/2]

function XEUtility GetCrossRectTrackPoint ( vCenter  ,
fRadius   
)

XEUtility_GetCrossRectTrackPoint01

Parameters
vCenterXVECTOR3
fRadiusnumber
Returns
XVECTOR3[]

◆ GetFileText()

function XEUtility GetFileText ( szRelativePath  )

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

Parameters
szRelativePathstring
Returns
string 返回文件内容

◆ GetMaterailTextureParameterValue()

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

获取材质纹理参数路径

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

◆ GetMaterailType()

function XEUtility GetMaterailType ( pModelIns  ,
szSkinName  ,
szMaterialInsName   
)

获取材质类型名称

Parameters
pModelInsIXModelInstance 模型实例指针
szSkinNamestring 模型skin名字
szMaterialInsNamestring 模型材质实例名字
Returns
string 获取到的材质类型名称

◆ GetMaterialInstanceTexture()

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

获取某个材质纹理对象

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

◆ GetMaterialParamTypeValue()

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

获取材质参数

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

◆ GetMaterialVectorParameterValue()

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

获取材质参数

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

◆ GetMeshNames() [1/2]

function XEUtility GetMeshNames ( pModelIns  ,
aMeshNames   
)

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

Parameters
pModelInsIXModelInstance 模型实例指针
aMeshNamesstring[] Mesh名称数组
Returns
boolean Mesh个数是否>0

◆ GetMeshNames() [2/2]

function XEUtility GetMeshNames ( pModelIns  )

XEUtility_GetMeshNames01

Parameters
pModelInsIXModelInstance
Returns
string[]
boolean

◆ GetPhysResFitVertWeightTypeByName()

function XEUtility GetPhysResFitVertWeightTypeByName ( str  )

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

Parameters
strstring
Returns
number

◆ GetRawMeshNameByMaterialInsName() [1/2]

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

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

Parameters
pModelInsIXModelInstance [in]模型实例指针
szSkinNamestring [in]模型skin名字
szMaterialInsNamestring [in]模型材质实例名字
nLodnumber [in]指定的Lod
vRawMeshNamestring[] [out]原始Mesh名字数组
Returns
boolean

◆ GetRawMeshNameByMaterialInsName() [2/2]

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

XEUtility_GetRawMeshNameByMaterialInsName01

Parameters
pModelInsIXModelInstance
szSkinNamestring
szMaterialInsNamestring
nLodnumber
Returns
string[]
boolean

◆ GetRefResourcePath() [1/4]

function XEUtility GetRefResourcePath ( strInResource  ,
strOutResources   
)

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

Parameters
strInResourcestring 输入的资源相对路径,包括扩展名
strOutResourcesstring[] 输出的资源相对路径,不会清空已有内容
Returns
boolean 如果输入文件存在并且引擎能够正常读取,返回xtrue,否则返回xfalse

◆ GetRefResourcePath() [2/4]

function XEUtility GetRefResourcePath ( strInResource  )

XEUtility_GetRefResourcePath01

Parameters
strInResourcestring
Returns
string[]
boolean

◆ GetRefResourcePath() [3/4]

function XEUtility GetRefResourcePath ( strInResource  ,
strExtraResource  ,
strOutResources   
)

XEUtility_GetRefResourcePath02

Parameters
strInResourcestring
strExtraResourcestring
strOutResourcesstring[]
Returns
boolean

◆ GetRefResourcePath() [4/4]

function XEUtility GetRefResourcePath ( strInResource  ,
strExtraResource   
)

XEUtility_GetRefResourcePath03

Parameters
strInResourcestring
strExtraResourcestring
Returns
string[]
boolean

◆ GetSinTrackPoint() [1/2]

function XEUtility GetSinTrackPoint ( )

获取正弦曲线点数组

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

◆ GetSinTrackPoint() [2/2]

function XEUtility GetSinTrackPoint ( vCenter  ,
fAmplitude  ,
fPeriod   
)

XEUtility_GetSinTrackPoint01

Parameters
vCenterXVECTOR3
fAmplitudenumber
fPeriodnumber
Returns
XVECTOR3[]

◆ GetSkinNames() [1/2]

function XEUtility GetSkinNames ( pModelIns  ,
aSkinNames   
)

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

Parameters
pModelInsIXModelInstance 模型实例指针
aSkinNamesstring[] skin名称数组
Returns
boolean skin个数是否>0

◆ GetSkinNames() [2/2]

function XEUtility GetSkinNames ( pModelIns  )

XEUtility_GetSkinNames01

Parameters
pModelInsIXModelInstance
Returns
string[]
boolean

◆ GetTransform() [1/2]

function XEUtility GetTransform ( pActor  ,
socketName   
)

获取变换矩阵

Parameters
pActorXEActor [in]场景Actor
socketNamestring [in]绑定插槽名称
Returns
XETransform 变换矩阵

◆ GetTransform() [2/2]

function XEUtility GetTransform ( pActor  ,
socketName  ,
offset   
)

XEUtility_GetTransform01

Parameters
pActorXEActor
socketNamestring
offsetXVECTOR3
Returns
XETransform

◆ GetTriangleFaceInfoByUV()

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

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

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

◆ GetVertexIndexFromUV() [1/2]

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

通过UV获取顶点索引信息

Parameters
pModelInsIXModelInstance [in]模型实例指针
szMeshNamestring [in]所在Mesh名字
szSkinNamestring [in]所在Skin名字
uvXVECTOR2 [in]UV信息
vOutVertexIndexnumber [out]顶点索引
Returns
boolean 是否获取成功

◆ GetVertexIndexFromUV() [2/2]

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

XEUtility_GetVertexIndexFromUV01

Parameters
pModelInsIXModelInstance
szMeshNamestring
szSkinNamestring
uvXVECTOR2
Returns
number
boolean

◆ GetVertexPositionFromIndex() [1/2]

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

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

Parameters
pModelInsIXModelInstance [in]模型实例指针
szMeshNamestring [in]所在Mesh名字
szSkinNamestring [in]所在Skin名字
nVertexIndexnumber [in]顶点索引
vOutPosXVECTOR3 [out]顶点pos信息
Returns
boolean 是否获取成功

◆ GetVertexPositionFromIndex() [2/2]

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

XEUtility_GetVertexPositionFromIndex01

Parameters
pModelInsIXModelInstance
szMeshNamestring
szSkinNamestring
nVertexIndexnumber
Returns
XVECTOR3
boolean

◆ GetVertexPositionFromUV() [1/2]

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

通过UV获取顶点Postion信息

Parameters
pModelInsIXModelInstance [in]模型实例指针
szMeshNamestring [in]所在Mesh名字
szSkinNamestring [in]所在Skin名字
uvXVECTOR2 [in]UV信息
vOutPosXVECTOR3 [out]顶点pos信息
Returns
boolean 是否获取成功

◆ GetVertexPositionFromUV() [2/2]

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

XEUtility_GetVertexPositionFromUV01

Parameters
pModelInsIXModelInstance
szMeshNamestring
szSkinNamestring
uvXVECTOR2
Returns
XVECTOR3
boolean

◆ GetVertexPositionInLocalSpaceFromIndex() [1/2]

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

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

Parameters
pModelInsIXModelInstance [in]模型实例指针
szMeshNamestring [in]所在Mesh名字
szSkinNamestring [in]所在Skin名字
nVertexIndexnumber [in]顶点索引
vOutLocalPosXVECTOR3
Returns
boolean 是否获取成功

◆ GetVertexPositionInLocalSpaceFromIndex() [2/2]

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

XEUtility_GetVertexPositionInLocalSpaceFromIndex01

Parameters
pModelInsIXModelInstance
szMeshNamestring
szSkinNamestring
nVertexIndexnumber
Returns
XVECTOR3
boolean

◆ GetViewPointOfLookingLocationAtScreen()

function XEUtility GetViewPointOfLookingLocationAtScreen ( pWorld  ,
vLocation  ,
nInnerPixel   
)

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

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

◆ GetXECoreActorTypes()

function XEUtility GetXECoreActorTypes ( )

获取所有Actor类型

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

◆ GetXEEngineInstanceForWorld()

function XEUtility GetXEEngineInstanceForWorld ( pWorldContext  )

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

Parameters
pWorldContextXEWorld
Returns
XEEngineInstance

◆ IsExistActorInActorList()

function XEUtility IsExistActorInActorList ( pActor  ,
aActorList   
)

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

Parameters
pActorXEActor 指定的Actor指针
aActorListXEActor[] Actor数组
Returns
boolean 是否存在

◆ LoadPhysicsResFromPhy()

function XEUtility LoadPhysicsResFromPhy ( pPhysicalMgr  ,
szPhyPath  ,
bReload   
)

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

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

◆ LoadTex2D()

function XEUtility LoadTex2D ( pEngineIns  ,
szTexPath   
)

加载一张图片到引擎

Parameters
pEngineInsXEngineInstance
szTexPathstring 纹理的路径
Returns
IXTexture2D

◆ LookAtActorWithCurrentCameraRotation()

function XEUtility LookAtActorWithCurrentCameraRotation ( pActor  ,
fMultiNum  ,
bNeedFly   
)

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

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

◆ LookAtBoundBoxWithCurrentCameraRotation()

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

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

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

◆ LookAtBoundSphereWithCurrentCameraRotation()

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

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

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

◆ LookAtComponentWithCurrentCameraRotation()

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

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

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

◆ MakeNameLegalForLua()

function XEUtility MakeNameLegalForLua ( szName  )

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

Parameters
szNamecppstring 要替换的名字字符串
Returns
void

◆ MakePathSimple()

function XEUtility MakePathSimple ( fullPaths  )

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

Parameters
fullPathsstring[] [in][out]一组名字
Returns
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

Returns
XEUtility__MaterialKey

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

Returns
XEUtility__MaterialInfo

◆ new() [2/2]

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

XEUtility_MaterialKey_new01

Parameters
_sidnumber
_lidnumber
_meidnumber
_maidnumber
_pidnumber
Returns
XEUtility__MaterialKey

◆ OutputEngineString()

function XEUtility OutputEngineString ( szContent  )

将日志使用引擎输出

Parameters
szContentstring
Returns
void

◆ PointToLineDistance()

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

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

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

◆ ReleaseTexture()

function XEUtility ReleaseTexture ( pTexOrigin  )

释放一张纹理

Parameters
pTexOriginIXTexture2D
Returns
void

◆ Render2DCircle()

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

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

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

◆ Render2DLine()

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

绘制2D直线

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

◆ ResetDynamicTex2DRGBABuffer()

function XEUtility ResetDynamicTex2DRGBABuffer ( pTex  ,
nWidth  ,
nHeight   
)

重新设置纹理对象的大小

Parameters
pTexIXTexture2D
nWidthnumber 宽度
nHeightnumber 高度
Returns
boolean

◆ SaveDataToPNGFile()

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

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

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

◆ SaveTextureToPNGFile()

function XEUtility SaveTextureToPNGFile ( pTexture  ,
strPNGPath  ,
bOverturn   
)

把纹理保存成PNG格式文件

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

◆ SaveTextureToTGAFile()

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

把纹理保存成TGA格式文件

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

◆ SetMaterialInstanceTexture()

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

XEUtility_SetMaterialInstanceTexture00

Parameters
pModelInsIXModelInstance
szSkinNamestring
szMaterialInsNamestring
szParamDescstring
pTextureIXTexture2D
bReleaseMatInsTexboolean
Returns
boolean

◆ TransformScreen2World()

function XEUtility TransformScreen2World ( pViewPort  ,
vScreenPos   
)

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

Parameters
pViewPortXEViewport ViewPort指针
vScreenPosXVECTOR3 要转换的屏幕坐标
Returns
XVECTOR3 转换后的世界坐标

◆ TransformWorld2Screen()

function XEUtility TransformWorld2Screen ( pViewPort  ,
vWorld   
)

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

Parameters
pViewPortXEViewport ViewPort指针
vWorldXVECTOR3 要转换的世界坐标
Returns
XVECTOR3 转换后的屏幕坐标

◆ WashMatrixByFollowRules()

function XEUtility WashMatrixByFollowRules ( eFollowRules  ,
transformPre  ,
matCur   
)

根据跟随规则清洗矩阵

Parameters
eFollowRulesnumber
transformPreXETransform
matCurXMATRIX4
Returns
XMATRIX4 返回清洗矩阵

Variable Documentation

◆ strMacro

XEMacroRelationParamInfo strMacro = ''

@type string

◆ vEliminateParam

XEMacroRelationParamInfo vEliminateParam = {}

@type string[]

◆ vRelationParam

XEMacroRelationParamInfo vRelationParam = {}

@type string[]

◆ XEMacroRelationParamInfo

◆ XEUtility

XEUtility = {}