بنقرة واحدة
unreal-modeling-query
GeometryScript 网格查询与空间操作。当用户要求获取网格信息(顶点数、包围盒、拓扑状态)、空间查询(最近点、射线求交、包含测试)或采样时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
GeometryScript 网格查询与空间操作。当用户要求获取网格信息(顶点数、包围盒、拓扑状态)、空间查询(最近点、射线求交、包含测试)或采样时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
GeometryScript 资产读写与碰撞操作。当用户要求精细控制 StaticMesh 资产加载/保存选项、创建新资产、生成碰撞体时使用。
GeometryScript 网格属性操作。当用户要求设置/查询顶点色、Polygroup、材质 ID 时使用。
Create geometry through the GeometryScript modeling workflow. Use when the user asks to create primitives, generate profile-based shapes, or produce mesh assets or working meshes for downstream pipelines.
GeometryScript 变形与变换操作。当用户要求弯曲、扭曲、平滑、噪声、位移、平移、旋转、缩放网格时使用。
GeometryScript 网格处理操作。当用户要求修复、简化、Remesh、布尔运算、体素化、分解、基础编辑或细分网格时使用。
GeometryScript 法线与切线操作。当用户要求重算法线、分裂法线、翻转法线、计算切线或修复法线方向时使用。
استنادا إلى تصنيف SOC المهني
| name | unreal-modeling-query |
| description | GeometryScript 网格查询与空间操作。当用户要求获取网格信息(顶点数、包围盒、拓扑状态)、空间查询(最近点、射线求交、包含测试)或采样时使用。 |
前置条件:先阅读 unreal-modeling。
| 库 | CDO |
|---|---|
| 查询 | /Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshQueryFunctions |
| 空间 | /Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshSpatialFunctions |
| 采样 | /Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshSamplingFunctions |
| 包含 | /Script/GeometryScriptingCore.Default__GeometryScriptLibrary_ContainmentFunctions |
| 比较 | /Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshComparisonFunctions |
| 测地线 | /Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshGeodesicFunctions |
提示:简单的 mesh 概览可直接用 MeshOperationLibrary.GetMeshSummary,一次调用返回所有基础信息。以下函数用于更精细的查询。
| 函数 | out 参数 | 说明 |
|---|---|---|
GetMeshInfoString | InfoString | 可读的 mesh 信息字符串 |
GetIsDenseMesh | bIsDense | ID 空间是否无间隙 |
GetMeshBoundingBox | 返回 FBox | 包围盒 |
GetMeshVolumeArea | SurfaceArea, Volume | 表面积和体积 |
GetMeshVolumeAreaCenter | SurfaceArea, Volume, CenterOfMass | 表面积、体积、质心 |
GetIsClosedMesh | bIsClosed | 是否闭合 |
GetNumOpenBorderLoops | NumLoops | 开放边界环数量 |
GetNumOpenBorderEdges | NumEdges | 开放边界边数量 |
GetNumConnectedComponents | NumComponents | 连通分量数 |
GetMeshHasAttributeSet | bHasAttributeSet | 是否有属性集 |
| 函数 | out 参数 | 说明 |
|---|---|---|
GetVertexCount | 返回 int | 顶点数 |
GetNumVertexIDs | NumVertexIDs | MaxVertexID |
GetHasVertexIDGaps | bHasGaps | 顶点 ID 是否有间隙 |
GetNumTriangleIDs | NumTriangleIDs | MaxTriangleID |
GetHasTriangleIDGaps | bHasGaps | 三角形 ID 是否有间隙 |
GetNumUVSets | NumUVSets | UV 通道数 |
GetNumExtendedPolygroupLayers | 返回 int | 扩展 Polygroup 层数 |
| 函数 | out 参数 |
|---|---|
GetHasTriangleNormals | bHasNormals |
GetHasVertexColors | bHasColors |
GetHasMaterialIDs | bHasMaterialIDs |
GetHasPolygroups | bHasPolygroups |
| 函数 | 关键参数 | 说明 |
|---|---|---|
GetVertexPosition | VertexID | 返回顶点位置。out:bIsValidVertex |
GetTrianglePositions | TriangleID | 返回三角形三个顶点位置。out:bIsValidTriangle |
GetTriangleIndices | TriangleID | 返回三角形的三个顶点 ID |
GetTriangleFaceNormal | TriangleID | 返回面法线 |
GetTriangleNormals | TriangleID | 返回三个角的法线 |
GetTriangleUVs | TriangleID, UVSetIndex | 返回三个角的 UV |
GetTriangleVertexColors | TriangleID | 返回三个角的顶点色 |
GetVertexConnectedTriangles | VertexID | 返回顶点关联的三角形 ID 列表 |
GetVertexConnectedVertices | VertexID | 返回顶点的邻居顶点 ID 列表 |
| 函数 | 说明 |
|---|---|
GetAllTriangleIDs | 返回所有三角形 ID 列表 |
GetAllTriangleIndices | 返回所有三角形的顶点索引列表 |
GetAllVertexIDs | 返回所有顶点 ID 列表 |
GetAllVertexPositions | 返回所有顶点位置列表 |
注意:批量函数返回 FGeometryScriptIndexList、FGeometryScriptTriangleList、FGeometryScriptVectorList 等不可序列化类型。用 MeshOperationLibrary 的 GetIndexListArray、GetTriangleListArray、GetVectorListArray 提取数据。
| 函数 | 关键参数 | 说明 |
|---|---|---|
BuildBVHForMesh | TargetMesh | 构建 BVH 加速结构。out:OutputBVH |
RebuildBVHForMesh | TargetMesh, UpdateBVH | 重建已有 BVH |
FindNearestPointOnMesh | TargetMesh, QueryPoint, Options | 查找 mesh 上最近点。out:NearestResult |
FindNearestRayIntersectionWithMesh | TargetMesh, RayOrigin, RayDirection, Options | 射线与 mesh 求交。out:HitResult |
IsPointInsideMesh | TargetMesh, QueryPoint, Options | 点是否在 mesh 内部。out:bIsInside(需要 BVH) |
注意:FGeometryScriptDynamicMeshBVH 不可序列化,BVH 只能在同一调用链中使用(如 Python 脚本内)。对于跨调用的空间查询,建议用 Python 脚本批量处理。
| 函数 | 关键参数 | 说明 |
|---|---|---|
ComputePointSampling | TargetMesh, Options | 泊松盘采样 |
ComputeUniformRandomPointSampling | TargetMesh, Options | 均匀随机采样 |
ComputeNonUniformPointSampling | TargetMesh, Options | 非均匀采样 |
ComputeVertexWeightedPointSampling | TargetMesh, Options | 顶点权重采样 |
| 函数 | 关键参数 | 说明 |
|---|---|---|
IsSameMeshAs | TargetMesh, OtherMesh, Options | 两个 mesh 是否相同 |
MeasureDistancesBetweenMeshes | TargetMesh, OtherMesh | 测量两个 mesh 间的距离 |
IsIntersectingMesh | TargetMesh, OtherMesh, TargetTransform, OtherTransform | 两个 mesh 是否相交 |
获取包围盒:
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshQueryFunctions","function":"GetMeshBoundingBox","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0"}}
获取三角形顶点位置:
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshQueryFunctions","function":"GetTrianglePositions","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","TriangleID":0}}
获取体积和表面积:
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshQueryFunctions","function":"GetMeshVolumeArea","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0"}}
对上述任意 CDO 路径调用 DescribeObject 可查看完整函数列表和参数签名。