json - 以 gltf 2.0 格式保存的 3D 模型可以支持任意用户数据吗?

标签 json gltf 3d-model

我正在管理 3D Assets 库的创建,预计每次传递 5,000 个模型,其中多个传递来自多个模型创建供应商。正在进行的作品均为FBX格式,最终交付为二进制gltf(glb)格式。

我一直在阅读 gltf/glb 格式,但没有看到任何可以放置“用户数据”的字段。我想在每个 glb 模型中放置一个字符串来标识模型,以便可以验证模型在存储文件系统中的位置以及数据库中的信息放置。

到目前为止,我已经看到了 gltf 格式的 3D 资源所需的一切,但是是否有用于用户字符串信息的字段?我可以很容易地想象,在最终库中的数以万计的模型中,有些模型被人类意外地放置在错误的目录中,和/或在输入模型的数据库信息时出现粗手指输入错误,和/或简单地输入模型时出现粗手指错误。文件名。

我想要一个用于标识字符串的用户数据字段,以便可以使用在该用户数据字段之外运行的软件自动处理文件系统中的模型存储和数据库中的信息放置。同样,用户数据字段可用于验证收到的模型是否是开发时请求的模型,并且可在遍历存储目录层次结构的每个文件时使用,以使用文件名以外的其他内容验证该层次结构中每个文件的存在.

最佳答案

glTF 或 GLB 文件中的每个对象都有一个可以存储任意 JSON 内容的 .extras 属性。例如,scene.extrasasset.extras可能是您所描述的数据的自然位置。

然后,3D 库和游戏引擎应读取该数据并将其提供给用户应用程序。例如,3D 库 https://threejs.org/将 glTF 文件中的 .extras 字段放入其 Object3D.userData 中值(value)观。 Blender ,一个建模程序,使用 Custom Properties .

关于json - 以 gltf 2.0 格式保存的 3D 模型可以支持任意用户数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71280384/

相关文章:

javascript - 在 Three.js 中将 glTF 对象设置为不同的层时遇到问题

3d - 有什么方法可以从 Blender 中的多个对象中删除修改器?

cesiumjs - gltf 模型失去了照明并且很暗

Java JSON 简单解析器

android - 使用本地 JSON 的 Retrofit 2.0 Android 单元测试

reactjs - 如何在react-三纤维中使用gltf加载mtl文件

reactjs - 如何为GLTF react-three-fiber分配 Material

ios - 由于从 api 解包值而崩溃(使用 Alamofire)

javascript - 读取 json 并在鼠标悬停时显示动态值

python - 是否可以使用 Python 以编程方式创建 Blender 文件 (.blend)?