ワンクリックで
unreal-modeling-selection
GeometryScript 网格选择操作。当用户要求按条件选择网格元素(球形/盒体/平面/法线角度/材质等)、组合选择、扩展/收缩选择时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
GeometryScript 网格选择操作。当用户要求按条件选择网格元素(球形/盒体/平面/法线角度/材质等)、组合选择、扩展/收缩选择时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
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 法线与切线操作。当用户要求重算法线、分裂法线、翻转法线、计算切线或修复法线方向时使用。
| name | unreal-modeling-selection |
| description | GeometryScript 网格选择操作。当用户要求按条件选择网格元素(球形/盒体/平面/法线角度/材质等)、组合选择、扩展/收缩选择时使用。 |
前置条件:先阅读 unreal-modeling。
FGeometryScriptMeshSelection 内部使用不可序列化的 TSharedPtr<FGeometrySelection> 存储数据,无法通过 UCP JSON 直接创建或传递选择内容。
创建选择的两种方式:
SelectAllTriangles、SelectTrianglesByIDs、SelectVerticesByIDs、SelectPolygroupByID、SelectMaterialByID——见 unreal-modeling 核心 SkillSelectMeshElementsInSphere、SelectMeshElementsByNormalAngle 等——适用于基于几何条件的复杂选择创建后的 Selection 可作为参数传给其他 GeometryScript 函数(UV、变形、简化等)。
CDO:/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshSelectionFunctions
| 函数 | 关键参数 | 说明 |
|---|---|---|
CreateSelectAllMeshSelection | TargetMesh | 选择全部。out:Selection |
SelectMeshElementsInSphere | TargetMesh, SphereOrigin, SphereRadius, SelectionType, MinNumTrianglePoints | 球形范围选择。out:Selection |
SelectMeshElementsInBox | TargetMesh, BoxTransform, BoxDimensions, SelectionType, MinNumTrianglePoints | 盒体范围选择 |
SelectMeshElementsWithPlane | TargetMesh, PlaneOrigin, PlaneNormal, SelectionType, MinNumTrianglePoints | 平面一侧选择 |
SelectMeshElementsByNormalAngle | TargetMesh, Normal, MaxAngleDeg, SelectionType, MinNumTrianglePoints | 按法线角度选择 |
SelectMeshElementsByMaterialID | TargetMesh, MaterialID | 按材质 ID 选择 |
EGeometryScriptMeshSelectionType| 值 | 说明 |
|---|---|
Vertices | 选择顶点 |
Edges | 选择边 |
Triangles | 选择三角形 |
Polygroups | 选择 Polygroup |
MinNumTrianglePoints 参数控制三角形被选中的条件:1 = 任意顶点在范围内即选中,2 = 至少两个顶点,3 = 全部顶点都在范围内。
| 函数 | 关键参数 | 说明 |
|---|---|---|
ConvertMeshSelection | TargetMesh, FromSelection, NewType | 在顶点/三角形/Polygroup 间转换。out:ToSelection |
ConvertMeshSelectionToIndexList | TargetMesh, Selection | 转换为索引列表。out:IndexList、SelectionType |
ConvertIndexListToMeshSelection | TargetMesh, IndexList, SelectionType | 从索引列表创建选择。out:Selection |
ConvertIndexArrayToMeshSelection | TargetMesh, IndexArray, SelectionType | 从 int 数组创建选择 |
| 函数 | 关键参数 | 说明 |
|---|---|---|
CombineMeshSelections | SelectionA, SelectionB, CombineMode | 组合两个选择。out:ResultSelection |
EGeometryScriptCombineSelectionMode| 值 | 说明 |
|---|---|
Add | 并集 |
Subtract | 差集(A - B) |
Intersection | 交集 |
| 函数 | 关键参数 | 说明 |
|---|---|---|
InvertMeshSelection | TargetMesh, Selection | 反转选择。out:NewSelection |
ExpandMeshSelectionToConnected | TargetMesh, Selection | 扩展到连通区域。out:NewSelection |
ExpandContractMeshSelection | TargetMesh, Selection, Iterations, bContract, bOnlyExpandToFaceNeighbours | 扩展/收缩选择 |
| 函数 | 关键参数 | 说明 |
|---|---|---|
GetMeshSelectionInfo | Selection | out:SelectionType、NumSelected |
球形范围选择三角形:
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshSelectionFunctions","function":"SelectMeshElementsInSphere","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","SphereOrigin":{"X":0,"Y":0,"Z":50},"SphereRadius":100,"SelectionType":"Triangles","MinNumTrianglePoints":1}}
按法线角度选择(朝上的面):
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshSelectionFunctions","function":"SelectMeshElementsByNormalAngle","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","Normal":{"X":0,"Y":0,"Z":1},"MaxAngleDeg":45,"SelectionType":"Triangles","MinNumTrianglePoints":3}}
组合两个选择(并集):
使用 Python 脚本在单次调用中完成多步选择组合,避免 Selection 的不可序列化问题:
# 通过 ExecutePythonScript 在引擎内执行
import unreal
# ... 在脚本内创建、组合选择并传给后续操作
或者分步调用:先创建选择 A,再创建选择 B,然后组合——每步的 Selection 作为 out 参数返回后可在下一步作为输入使用(UCP 会在同一连接内保持对象引用)。
对 CDO 路径调用 DescribeObject 可查看完整函数列表和参数签名。