SuperAPI AI 工具集

simready-foundation-conform-fet-003-newton

智能体与模型

查看项目

更新于 10-16 02:34

技能介绍

用途:当所选 profile、验证报告或用户请求明确指定 FET_003_NEWTON 时,使用该精确特性技能修复或暂存刚体物理(newton)一致性,避免漂移到其他运行时契约。用户未指定版本时默认 FET_003_NEWTON@0.1.0;仅当 profile、验证报告或用户明确固定时才使用更旧的整数版本。若报告指定的是其他 FET_###_RUNTIME 特性,应先切换到对应技能再编辑。

事实来源:修改资产或包前需阅读 nv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/features/FET_003_NEWTON-0.1.0.json 与同名 .md。JSON 清单为依赖与需求 ID 的权威来源,markdown 提供人类可读的契约细节、需求链接、样例、基准与适配器。

版本与依赖:0.1.0 无依赖,需求包括 RB.COL.001–004、RB.001/003/005/007/009/010、NEWTON.COL.001/002、NEWTON.MAS.001、NEWTON.MAT.001。

适配器:当输入已符合中性基础特性时,优先使用确定性特性适配器(通过工作区升级命令,见 nv_core/sr_specs/docs/guides/feature_adapters/feature_adapters.md)先编写运行时特定数据,再修复残余需求。适配器模块 nv_core/cip_specs/asset_handler_modules/neutral_to_newton,适配器 rigid_body_neutral_to_prop_newton,转换 FET_003_STANDARD@0.1.0 -> FET_003_NEWTON@0.1.0,编写网格范围、在现有碰撞体上添加 NewtonCollisionAPI 与 NewtonMeshCollisionAPI、newton:contactGap = 0、NewtonMaterialAPI 及绑定物理材质上的默认摩擦调优,满足 NEWTON.COL.001/002 与 NEWTON.MAT.001。适配器在暂存输出阶段运行,不创建几何,仅标注现有碰撞体;它编写 NewtonMeshCollisionAPI(非 NewtonSDFCollisionAPI)。若碰撞体需要 SDF 支持,或基础 RB.* 刚体数据缺失,需按工作流手动修复。严格 Newton 隔离:不得编写 Mjc*/Physx* 数据或 physics:approximation = "sdf"。

工作流:确认输入存在并从 profile TOML、验证报告或用户请求识别所选特性/版本;编辑前加载所选清单与 markdown;为每个报告失败的需求加载其链接文档;除非用户明确要求就地编辑,否则创建或使用暂存输出位置;仅修复所选清单及其依赖列出的需求;重跑同一 profile 门或最窄的可用特性/能力验证门;若需要运行时证据而不可用,应报告该限制而非声称通过;总结所选版本、变更文件、验证证据及首个剩余阻塞或下一精确特性门。

特性指引:NewtonCollisionAPI 承载共享接触调优 newton:contactMargin(默认 0,向外表面膨胀)与 newton:contactGap(默认 -inf 即引擎默认,样例编写 0),编写时两者必须非负。NewtonMeshCollisionAPI 是普通网格路径(继承 NewtonCollisionAPI),Newton 读取继承的 physics:approximation,保持其预期值(convexHull、convexDecomposition 等);newton:maxHullVertices(默认 -1 即精确外壳,最小 -1)仅在 physics:approximation = "convexHull" 时有效。NewtonSDFCollisionAPI 是 SDF/水弹性路径,与 NewtonMeshCollisionAPI 在同一 prim 上互斥;编写 SDF 调优时保持接触距离/填充非负,newton:sdfMaxResolution 为 8 的正倍数,newton:sdfTextureFormat 为 uint8/uint16/float32 之一,且 newton:sdfNarrowBandInner < newton:sdfNarrowBandOuter;源数据或策略缺失时不要猜测 SDF 调优值。水弹性接触(newton:hydroelasticEnabled 布尔、newton:hydroelasticStiffness 正数)仅 Newton 有(无 PhysX 对应);单独设置刚度不会启用它;当 newton:hydroelasticEnabled = true 时,需在同一 prim 编写 SDF 源(newton:sdfMaxResolution 或 newton:sdfTargetVoxelSize),除非网格带有附加的 mesh.sdf(缺失源为警告而非硬失败)。NewtonMassAPI(NEWTON.MAS.001)可选,作用于 Xformable(刚体或碰撞 Gprim),扩展 PhysicsMassAPI;仅在覆盖中性质量解析时编写:newton:inertia 必须为空(无意见)或恰好 6 个有限元素 [Ixx, Iyy, Izz, Ixy, Ixz, Iyz] 且对角线非负;newton:massModel 为 solid 或 shell;newton:shellThickness(默认 -inf 即求解器选择)编写时必须有限且 > 0,仅在 shell 模型下有效;不要臆造惯性值,应从源数据推导或留空。NewtonMaterialAPI(NEWTON.MAT.001)作用于通过 material:binding:physics 绑定到碰撞体的 UsdShade.Material,扩展 PhysicsMaterialAPI;与 UsdPhysicsMaterialAPI 约定(PMT.001)一致,验证仅检查放置:schema 必须位于同时带有 PhysicsMaterialAPI 的 UsdShade.Material 上;Newton 调优属性(newton:torsionalFriction 默认 0.005、newton:rollingFriction 默认 0.0001 及 newton:contact* 属性默认 -inf 即引擎默认)被信任而非值检查,可按需编写,或将接触属性保留在 -inf 哨兵值(等同于省略)。严格 Newton 隔离(RV.011):不得编写 Mjc*/Physx* schema 或属性,不得设置 physics:approximation = "sdf"(改用 NewtonSDFCollisionAPI)。

样例:sample_content/common_assets/props_general/obs_orange_a02/runnables/physics/newton.usd 为单网格道具碰撞体,带 NewtonMeshCollisionAPI、physics:approximation = "convexHull"、newton:maxHullVertices = -1、newton:contactGap = 0,以及绑定物理材质带 NewtonMaterialAPI 并将全部六个 Newton 材质属性编写为默认值。

报告字段:feature(精确特性 ID 与版本,如 FET_003_NEWTON@0.1.0)、input(检查的源资产、包根或包定义)、output(暂存输出路径,仅明确要求时就地)、requirements_repaired(本次修复的需求 ID)、validation(验证该精确特性所用的命令或检查)、status(passed、failed、skipped 或 blocked)、next_step(下一精确特性技能或所需用户/运行时证据)。