| 名称 | usd-scene-lint |
| 描述 | 当需要检查或规范 USD 场景资产、为 Omniverse/Isaac 仿真准备可复用场景时使用。该技能校验单位与朝向、命名层级、变换与缩放、材质绑定、引用与实例化、碰撞体与变体组织,输出可修复的问题清单。适用于数字孪生、机器人仿真场景、SimReady 资产验收与团队协作规范制定。关键词:USD、OpenUSD、Omniverse、Isaac Sim、场景规范、资产检查、命名层级、metersPerUnit、upAxis、Xform、实例化、引用、材质绑定、碰撞体、SimReady、数字孪生、场景优化。 |
USD 场景资产规范检查
让场景"能打开、能复用、能协作",而不只是一个能截图的文件。
何时使用
- 接收外部或外包制作的 USD 资产,需要验收。
- 场景在 Omniverse 中加载慢、层级混乱。
- 多团队协作时命名与单位不统一。
- 为机器人仿真准备可复用资产。
不适用:纯渲染外观评审;USD 管线开发。
输入
- USD 文件或资产目录(.usd/.usda/.usdc)。
- 目标平台与版本(Omniverse、Isaac Sim 等)。
- 场景用途:渲染、仿真、训练数据。
- 团队命名规范(如有)。
工作流
第 1 步:检查场景级设置
metersPerUnit:Omniverse 与机器人仿真通常用 1.0(1 单位 = 1 米)。upAxis:通常为 Y,需与平台一致。timeCodesPerSecond:动画场景明确帧率。defaultPrim:必须设置,且指向根节点。- 场景根节点统一为
/World或团队约定名称。
单位不一致会导致模型巨大或极小、物理参数错误。
第 2 步:层级与命名
按 references/usd-rules.md:
- 使用 PascalCase 或团队约定,保持一致。
- 语义化命名:
/World/Robot/Arm/Link_01。 - 避免空格、中文、特殊字符。
- 同类资产放在同一分组下。
- 深度控制在合理范围,避免几十层嵌套。
第 3 步:变换与缩放
- 变换在 Xform 上,网格数据不带未应用缩放。
- 检查负缩放与镜像导致的法线翻转。
- 旋转统一用四元数或欧拉角约定,避免万向锁歧义。
- 原点与轴心合理:机器人关节在关节处,道具在底部中心。
- 检查变换矩阵中的极小值或 NaN。
第 4 步:引用、载荷与实例化
- 重复资产使用 instanceable,降低内存。
- 大资产使用 payload,按需加载。
- 引用路径相对化,不依赖本机绝对路径。
- 检查循环引用。
- 变体(variant)用于外观或配置切换,不用于隐藏无关内容。
第 5 步:材质与渲染
- 材质绑定在正确的 Prim 上,避免继承错误。
- 贴图路径相对且存在。
- 检查 UV 缺失、贴图分辨率异常、材质重复。
- 透明与双面设置符合预期。
- 渲染用途与仿真用途的材质可分离(变体或不同层)。
第 6 步:仿真相关
- 碰撞体独立于渲染网格,使用简化几何。
- 质量、摩擦、阻尼等物理属性已设置。
- 关节类型、轴、限位正确。
- 刚体层级清晰,避免父子关系导致物理异常。
- 检查单位与物理参数是否匹配。
第 7 步:性能与规范
- 统计 Prim 数量、三角面数、材质数量、贴图总量。
- 合并可合并的静态网格。
- 远景使用低模或代理。
- 输出问题清单:错误(阻断)、警告(建议修复)、提示。
检查清单
- [ ] metersPerUnit 与 upAxis 正确。
- [ ] defaultPrim 已设置。
- [ ] 根节点统一,层级清晰。
- [ ] 命名语义化且无非法字符。
- [ ] 变换无未应用缩放与负缩放。
- [ ] 轴心位置合理。
- [ ] 引用为相对路径,无本机绝对路径。
- [ ] 重复资产已实例化。
- [ ] 材质绑定与贴图路径正确。
- [ ] 碰撞体与物理属性已配置。
- [ ] Prim 与三角面数在预算内。
- [ ] 问题清单已分级并给出修复建议。
输出模板
## 结论
通过 / 有条件通过 / 退回
## 错误
| # | Prim | 问题 | 影响 | 修复 |
| --- | --- | --- | --- | --- |
## 警告
| # | Prim | 问题 | 建议 |
| --- | --- | --- | --- |
## 统计
- Prim 数:
- 三角面:
- 材质:
- 贴图总量:
- 最大层级深度:
## 验收结论
...
反模式
- 单位用厘米但未声明,导入后比例错误。
- 直接修改引用资产而不做变体,影响其他场景。
- 用绝对路径引用贴图,换机器即失效。
- 碰撞体直接使用高模渲染网格。
- 场景内大量重复资产未实例化。
参考文件
references/usd-rules.md:USD 场景规范与常见问题修复。