☰
SimReady 打包规范完整指南:解析 simready-assets 的 packaging.json、BOM 与 sha256 哈希校验原理
2026/10/29 23:32:01 网站建设 项目流程
  • 数据集
  • 3D建模
  • 数字孪生

【免费下载链接】simready-assets

项目地址:https://ai.gitcode.com/hf_mirrors/LGElectronics/simready-assets
点击查看免费下载

本文以 simready-assets 仓库中的 11 个家电资产为例,用大白话讲清 SimReady 打包规范:packaging.json 如何充当包清单、BOM 台账如何登记每个文件,以及 sha256 哈希校验如何保证每个资产包的完整性与可追溯。新手零前置知识也能看懂。

一个包 = 一个文件夹:simready-assets 的标准布局 📦

仓库按"一个产品一个包"组织,每个包都遵循相同的三段式结构:

部分示例路径职责
包清单com.nvidia.simready.packaging.json记录包 ID、许可证与三级哈希"指纹"
资产主体simready_usd/根 USD、材质(mdl)、贴图
元数据报告.metadata/BOM、conformance 报告、validation、benchmark

11 个包覆盖空气净化器、烤箱、洗碗机、洗烘机和笔记本等品类,如air-purifier_as25gcbz0、cooking_mser1130b、laundry_wm9900hba。资产主体中,cooking_mser1130b.usd 是场景入口,材质放在materials/(如 pbr.mdl),贴图放在textures/。

packaging.json:SimReady 包的"身份证"

每个包目录根部都有一个com.nvidia.simready.packaging.json,文件名采用反向域名风格,方便在海量目录中快速识别。以空气净化器包为例,关键字段如下:

字段示例值作用
format_version"1.0"清单格式版本
package_idsimready.hf.LGElectronics.simready-assets.air-purifier_as25gcbz0.2026.10.13_00全局唯一包编号
licensecc-by-4.0开源许可证,与 README.md 声明一致
metadata3 项数组登记 3 个元数据文件的名称与 sha256
content_hashsha256 值资产内容的整体"指纹"
package_hashsha256 值整个包最终指纹

两个值得注意的细节:

  1. package_id 命名有固定约定:simready.<来源>.<所有者>.<仓库>.<资产名>.<构建日期>,从编号就能看出这是哪个资产、哪一天构建的,跨包绝不冲突。
  2. metadata引用的三个文件:conformance 报告、BOM 台账(com.nvidia.simready.packaging.bom.json)与根 USD 索引(com.nvidia.simready.root_usds.json)。清单里只存它们的哈希、不存内容,这是"防止台账被篡改"的关键设计。

BOM 台账:给每个文件登记"名字、重量、指纹"

BOM(Bill of Materials,物料清单)在 SimReady 包里就是一份逐文件登记表。以 com.nvidia.simready.packaging.bom.json 为例,items数组列出simready_usd/下的每一个文件:

  • relative_path:文件相对路径,如simready_usd/textures/Image_5.png
  • size:文件字节数
  • hash:一到多个 sha256 指纹

有意思的是,不同文件配备的哈希组合不一样。以 cooking_mser1130b 包的根 USD(约 4.2MB)为例,它同时带了三种指纹:

哈希名计算对象典型用途
sha256整个文件最终完整性校验(权威)
sha256-flat-1mb按 1MB 块展平后计算大文件分块校验,适合断点续验、分布式校验
sha256-first1m仅文件前 1MB快速预检:不读完整文件就能确认"是不是这份文件"

也就是说:小文件只做整文件 sha256;大文件额外增加"快检 + 分块检"两条通道,几 KB 的 I/O 就能定位损坏位置,不必反复读完整文件。

四层哈希校验:SimReady 资产完整性的信任链 🔍

把前面两部分拼起来,SimReady 实际用的是一个四层"套娃"校验结构,从内到外依次是:

  1. 文件层:对照 BOM 逐个文件校验 sha256,任何一个不匹配,就能立刻定位到损坏或被篡改的具体文件;
  2. 元数据层:packaging.json 的metadata字段用各自 sha256 锁住被引用的三个文件——先信任清单,才能信任 BOM 台账;
  3. 内容层:content_hash概括全部资产内容,贴图像素级改一个字节,指纹就会变化;
  4. 包层:package_hash是整个包(内容 + 元数据)的最终指纹,平台只需存这一个值就能标识一份资产版本。

这个结构的好处是:下层校验上层,上层只信任下层的哈希值。清单在最外层且只需被信任一次,其余全部可以机械验证、不依赖人工判断。这正是 SimReady 生态做资产版本比对、完整性校验与防篡改的工程基础。

conformance 与 validation:报告里的"passed"是怎么判定的 ✅

.metadata/目录还存放一组质量报告,各管一件事:

  • conformance 报告(com.nvidia.simready.conformance.Package@1.0.0.json):逐项记录包通过的 feature 项。例如FET_030_STANDARD(打包标准)与依赖它的FET_032_STANDARD均为passed: true;
  • validation 报告(cooking_mser1130b_validation.json):根 USD 的逐项功能校验,如FET_003_PHYSX(PhysX 支持)通过,并给出每个 feature 的版本、依赖链(dependencies)与可选要求(optional requirements);
  • benchmark 报告(cooking_mser1130b_benchmark.json):Isaac Sim 引擎上的实测结果,例如culling_xz测试最大像素偏差仅 6e-06,报告整体passed: true。

新手可以这样记:conformance 回答"包的形式合不合法",validation 回答"资产内容合不合格",benchmark 回答"实测表现如何"。

新手快速校验资产包的四步清单

想自己动手核对一个资产包(以空气净化器包为例)时,可以按这四步走:

  1. 克隆仓库并拉取 Git LFS 大文件(.usd 和贴图都走 LFS 存储):
git clone https://gitcode.com/hf_mirrors/LGElectronics/simready-assets cd simready-assets && git lfs pull
  1. 打开对应包的 packaging.json,用sha256sum对metadata[].hash.sha256逐一核对元数据文件;
  2. 打开 BOM,抽查根 USD 和最大贴图,比对items[].hash.sha256;
  3. 将逐层核对结果与content_hash、package_hash对照,全部一致即可信任整个包。

总结

simready-assets 的 SimReady 打包规范可以浓缩成三句话:packaging.json 是身份证,BOM 是台账,四级 sha256 链是信任链。配合 package_id 的固定命名和元数据哈希锁,任何一份资产都能被快速定位、版本化管理和机器校验——这也是 SimReady 生态做大规模高质量 3D 资产分发与协作的底层基础。

  • 数据集
  • 3D建模
  • 数字孪生

【免费下载链接】simready-assets

项目地址:https://ai.gitcode.com/hf_mirrors/LGElectronics/simready-assets
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询