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
 
xint32 GetHash () const
 

Public 属性

m [n]
 

构造及析构函数说明

◆ XEVectorM() [1/5]

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

#include <XEUtility.h>

XEUtility::SaveScopeObjectWithInitLibrary 的协作图:
Collaboration graph

#include <XEUtility.h>

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

#include <XEUtility.h>

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

#include <XEUtility.h>

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

#include <XEUtility.h>

XHashNode< XEVector2i, T > 的协作图:
Collaboration 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 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__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 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 SafeReleaseTexture (pEngineIns, pTexOrigin) end
 
function XEUtility LoadTex2D (pEngineIns, szTexPath) end
 
function XEUtility CreateDynamicTex2DRGBAWith1Mipmap (pEngineIns, nWidth, nHeight) end
 
function XEUtility CreateDynamicTex2DRGBWith1Mipmap (pEngineIns, nWidth, nHeight) end
 
function XEUtility CreateDynamicTex2DAlphaWith1Mipmap (pEngineIns, nWidth, nHeight) end
 
function XEUtility CreateDynamicTex2DLuminanceAlphaWith1Mipmap (pEngineIns, nWidth, nHeight) end
 
function XEUtility ResetDynamicTex2DRGBABuffer (pTex, nWidth, nHeight) end
 
function XEUtility ResetDynamicTex2DLuminanceOrAlphaBuffer (pTex, nWidth, nHeight, xTexFormat) end
 
function XEUtility SaveTextureToPNGFile (pTexture, strPNGPath, bOverturn) end
 
function XEUtility SaveDataToPNGFile (pData, nWidth, nHeight, strPNGPath, bOverturn) 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
 
function XEUtility GetAssetPackageValidPath (pFullRelativeAssetPackagePath, pEvalAssetPath, bNoRepeatPortionPath) end
 
function XEUtility ShowDebugInfo (b) end
 
function XEUtility ReleaseTextureInMatIns (pMaterialIns) end
 
function XEUtility ClipRectForOtherRect (vFillWH, vContianerWH, pScalePixelFillRect, pScalePixelFillWH) end
 
function XEUtility IsEnvOpenGLRenderer () end
 
function XEUtility IsEnvMetalRenderer () end
 

变量

 XEUtility = {}
 

函数说明

◆ 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 是否更换成功

◆ ClipRectForOtherRect()

function XEUtility ClipRectForOtherRect ( vFillWH  ,
vContianerWH  ,
pScalePixelFillRect  ,
pScalePixelFillWH   
)

将一个矩形进行裁剪,保持该矩形的宽高比,裁剪到另一个矩形中

参数
vFillWHXVECTOR2 保持宽高比的填充宽高
vContianerWHXVECTOR2
pScalePixelFillRectXVECTOR4 如果不为空,则返回处理矩形缩放后的填充像素坐标系的矩阵
pScalePixelFillWHXVECTOR2 如果不为空,则返回处理矩形缩放后的填充像素尺寸
返回
XVECTOR4 @typeXVECTOR4返回该矩形在该容器矩形中,相对于原始矩阵的裁剪坐标(0.~1.)

◆ CreateDynamicTex2DAlphaWith1Mipmap()

function XEUtility CreateDynamicTex2DAlphaWith1Mipmap ( pEngineIns  ,
nWidth  ,
nHeight   
)

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

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

◆ CreateDynamicTex2DLuminanceAlphaWith1Mipmap()

function XEUtility CreateDynamicTex2DLuminanceAlphaWith1Mipmap ( pEngineIns  ,
nWidth  ,
nHeight   
)

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

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

◆ CreateDynamicTex2DRGBAWith1Mipmap()

function XEUtility CreateDynamicTex2DRGBAWith1Mipmap ( pEngineIns  ,
nWidth  ,
nHeight   
)

创建一张纹理,4通道

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

◆ CreateDynamicTex2DRGBWith1Mipmap()

function XEUtility CreateDynamicTex2DRGBWith1Mipmap ( pEngineIns  ,
nWidth  ,
nHeight   
)

创建一张纹理,3通道

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

◆ 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

◆ 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[]

◆ GetCrossRectTrackPoint() [1/2]

function XEUtility GetCrossRectTrackPoint ( )

获取对角矩形曲线点数组

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

◆ GetCrossRectTrackPoint() [2/2]

function XEUtility GetCrossRectTrackPoint ( vCenter  ,
fRadius   
)

XEUtility_GetCrossRectTrackPoint01

参数
vCenterXVECTOR3
fRadiusnumber
返回
XVECTOR3[]

◆ 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个分量

◆ GetRawMeshNameByMaterialInsName()

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

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

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

◆ GetSinTrackPoint() [1/2]

function XEUtility GetSinTrackPoint ( )

获取正弦曲线点数组

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

◆ GetSinTrackPoint() [2/2]

function XEUtility GetSinTrackPoint ( vCenter  ,
fAmplitude  ,
fPeriod   
)

XEUtility_GetSinTrackPoint01

参数
vCenterXVECTOR3
fAmplitudenumber
fPeriodnumber
返回
XVECTOR3[]

◆ 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类型字符串数组

◆ IsEnvMetalRenderer()

function XEUtility IsEnvMetalRenderer ( )

当前渲染系统类型是否为Metal环境

返回
boolean

◆ IsEnvOpenGLRenderer()

function XEUtility IsEnvOpenGLRenderer ( )

当前渲染系统类型是否为OPENGL环境

返回
boolean

◆ IsPartOfPrefabInstance()

function XEUtility IsPartOfPrefabInstance ( pActor  ,
pWorld   
)

根据跟随规则清洗矩阵

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

◆ 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 是否定位成功

◆ 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

◆ 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  )

释放一张纹理, 请保证pTexOrigin有效,否则Crash

参数
pTexOriginIXTexture2D
返回
void

◆ ReleaseTextureInMatIns()

function XEUtility ReleaseTextureInMatIns ( pMaterialIns  )

释放一次引用:材质中关联的纹理, 释放后将设置为错误纹理

参数
pMaterialInsIXMaterialInstance 材质实例
返回
number

◆ 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

◆ ResetDynamicTex2DLuminanceOrAlphaBuffer()

function XEUtility ResetDynamicTex2DLuminanceOrAlphaBuffer ( pTex  ,
nWidth  ,
nHeight  ,
xTexFormat   
)

重新设置纹理对象的大小

参数
pTexIXTexture2D
nWidthnumber 宽度
nHeightnumber 高度
xTexFormatnumber 目标纹理格式
返回
boolean

◆ 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 是否缓存成功

◆ SafeReleaseTexture()

function XEUtility SafeReleaseTexture ( pEngineIns  ,
pTexOrigin   
)

安全释放一张纹理, pTexOrigin可无效, 无效时返回false

参数
pEngineInsXEngineInstance
pTexOriginIXTexture
返回
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 是否成功

◆ 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 是否应设置成功

◆ ShowDebugInfo()

function XEUtility ShowDebugInfo ( )

显示调试信息

参数
bboolean
返回
void

◆ 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 返回清洗矩阵

变量说明

◆ XEUtility

XEUtility = {}