italink/unrealclientprotocol/unreal-modeling-normals

Claude Code and agent skill by italink/unrealclientprotocol

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

GeometryScript 法线与切线操作。当用户要求重算法线、分裂法线、翻转法线、计算切线或修复法线方向时使用。

Install

npx vskill@latest install italink/unrealclientprotocol/unreal-modeling-normals

SKILL.md

建模 — 法线与切线

前置条件:先阅读 unreal-modeling。

库

CDO:/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions

TargetMesh 为 UDynamicMesh* 路径字符串。Debug 省略。需要 FGeometryScriptMeshSelection 的函数,用 MeshOperationLibrary 桥接。需要 FGeometryScriptVectorList 的函数,用 MakeVectorList/GetVectorListArray 桥接。

主要函数

法线计算
函数关键参数说明
SetPerVertexNormalsTargetMesh平滑法线(无硬边)
SetPerFaceNormalsTargetMesh面法线(每条边都是硬边)
RecomputeNormalsTargetMesh, CalculateOptions, bDeferChangeNotifications保留已有分裂,重新计算法线
RecomputeNormalsForMeshSelectionTargetMesh, Selection, CalculateOptions对选中区域重算法线
ComputeSplitNormalsTargetMesh, SplitOptions, CalculateOptions按角度/Polygroup 重建分裂后重算法线
AutoRepairNormalsTargetMesh修复不一致的法线方向(闭合 mesh 效果最佳)
法线翻转
函数关键参数说明
FlipNormalsTargetMesh翻转全部法线并反转三角形绕序
FlipTriangleSelectionNormalsTargetMesh, Selection, bFlipTriangleOrientation, bFlipNormalDirection翻转选中区域法线
法线读写
函数关键参数说明
SetMeshTriangleNormalsTargetMesh, TriangleID, Normals(FGeometryScriptTriangle)设置单个三角形三个角的法线。out:bIsValidTriangle
SetMeshPerVertexNormalsTargetMesh, VertexNormalList批量设置每顶点法线(列表大小 = MaxVertexID)
GetMeshPerVertexNormalsTargetMesh, bAverageSplitVertexValuesout:NormalList、bIsValidNormalSet、bHasVertexIDGaps
UpdateVertexNormalTargetMesh, VertexID, bUpdateNormal, NewNormal, bUpdateTangents, NewTangentX, NewTangentY更新单个顶点的法线和/或切线
SetSplitNormalsAlongSelectedEdgesTargetMesh, Selection, bSplit, bRecalculateNormals, CalculateOptions沿选中边分裂/合并法线
切线
函数关键参数说明
ComputeTangentsTargetMesh, Options计算切线(需要有效法线 + UV)
SetMeshPerVertexTangentsTargetMesh, TangentXList, TangentYList批量设置切线
GetMeshPerVertexTangentsTargetMesh, bAverageSplitVertexValuesout:TangentXList、TangentYList
GetMeshHasTangentsTargetMeshout:bHasTangents
DiscardTangentsTargetMesh移除切线层

结构体与枚举

FGeometryScriptCalculateNormalsOptions
字段类型默认值说明
bAngleWeightedbooltrue按角度加权
bAreaWeightedbooltrue按面积加权
FGeometryScriptSplitNormalsOptions
字段类型默认值说明
bSplitByOpeningAnglebooltrue按折痕角度分裂
OpeningAngleDegfloat15折痕角度阈值(度)
bSplitByFaceGroupboolfalse按 Polygroup 边界分裂
GroupLayerFGeometryScriptGroupLayer默认层Polygroup 层
FGeometryScriptTangentsOptions
字段类型默认值说明
TypeEGeometryScriptTangentTypesFastMikkT切线算法
UVLayerint0用于计算切线的 UV 通道
EGeometryScriptTangentTypes
值说明
FastMikkT快速 MikkT 切线
PerTriangle每三角形切线
StandardMikkT标准 MikkT(可能回退到 FastMikkT)

JSON 示例

重算法线(保留分裂,面积+角度加权):

json
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions","function":"RecomputeNormals","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","CalculateOptions":{"bAreaWeighted":true,"bAngleWeighted":true},"bDeferChangeNotifications":false}}

按角度分裂法线后重算:

json
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions","function":"ComputeSplitNormals","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","SplitOptions":{"bSplitByOpeningAngle":true,"OpeningAngleDeg":60,"bSplitByFaceGroup":false},"CalculateOptions":{"bAreaWeighted":true,"bAngleWeighted":true}}}

计算切线(MikkT,UV 通道 0):

json
{"object":"/Script/GeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions","function":"ComputeTangents","params":{"TargetMesh":"/Engine/Transient.DynamicMesh_0","Options":{"Type":"FastMikkT","UVLayer":0}}}

发现

对 CDO 路径调用 DescribeObject 可查看完整函数列表和参数签名。

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
120
Repository forks
14
7-day trend score
24

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 1 Aug 2026, 3 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/italink/unrealclientprotocol/unreal-modeling-normals/badge)](https://verified-skill.com/skills/italink/unrealclientprotocol/unreal-modeling-normals)

Something wrong with this skill or its page? Tell us.