向 3D 模型添加自定义属性?
Adding custom attributes to a 3D model?
问题陈述
我想向 3D 模型添加额外的数据,而不损坏文件,这样模型就无法在常见的 3D 对象查看器中查看。
我想要的输出是单个文件。这将允许定制软件包按需提取额外数据,而不会阻止用户在现成的查看器中检查模型(不需要提供额外数据)。
我研究了这个主题并努力寻找能够存储额外数据的 3D 文件类型...有什么想法吗?
示例“附加数据”
我想为模型中的每个 元素 分配两个整数和一个字符串:
- 较低的温度 (0-10000)
- 上限温度 (0-10000)
- 知名名称(字符串,最多 16 个字符)
我还想为整个模型(即文件)分配两个字符串:
- 模型标识符(字符串,最多 16 个字符)
- 工作参考(字符串,最多 16 个字符)
数据应该存在于文件本身中,因此不能轻易删除。
想法
我考虑过将附加数据分开(快速修复)但是
由于模型数量众多,这可能会导致
不匹配的文件。因此,重点放在 向文件中添加 数据,以及
不仅仅是对齐外部数据文件。
我已经证明我可以操纵 .stl 文件来满足我的需要...但是
这会偏离标准并因此损坏文件
在普通观众中使用。
“元素”数据可能在许多元素中重复,因此查找 table
在文件中将减少需要存储在每个元素中的数据量......
但我们需要为查找找到一个位置 table,并且仍然为每个元素分配一个 ID。
必须有一个允许 3D 对象自定义元数据的标准吗?
这正是 Collada 文件格式设计的用例。
COLLADA (COLLAborative Design Activity) is an interchange file format
for interactive 3D applications. COLLADA defines an open standard XML
schema for exchanging digital assets among various graphics software
applications. COLLADA uses a .dae (digital asset exchange) as filename
extension.
OpenCollada 是一个开源 SDK,可用于读取和写入模型文件。该设计允许我们按照您的期望添加自定义元数据。 https://github.com/KhronosGroup/OpenCOLLADA
问题陈述
我想向 3D 模型添加额外的数据,而不损坏文件,这样模型就无法在常见的 3D 对象查看器中查看。
我想要的输出是单个文件。这将允许定制软件包按需提取额外数据,而不会阻止用户在现成的查看器中检查模型(不需要提供额外数据)。
我研究了这个主题并努力寻找能够存储额外数据的 3D 文件类型...有什么想法吗?
示例“附加数据”
我想为模型中的每个 元素 分配两个整数和一个字符串:
- 较低的温度 (0-10000)
- 上限温度 (0-10000)
- 知名名称(字符串,最多 16 个字符)
我还想为整个模型(即文件)分配两个字符串:
- 模型标识符(字符串,最多 16 个字符)
- 工作参考(字符串,最多 16 个字符)
数据应该存在于文件本身中,因此不能轻易删除。
想法
我考虑过将附加数据分开(快速修复)但是 由于模型数量众多,这可能会导致 不匹配的文件。因此,重点放在 向文件中添加 数据,以及 不仅仅是对齐外部数据文件。
我已经证明我可以操纵 .stl 文件来满足我的需要...但是 这会偏离标准并因此损坏文件 在普通观众中使用。
“元素”数据可能在许多元素中重复,因此查找 table 在文件中将减少需要存储在每个元素中的数据量...... 但我们需要为查找找到一个位置 table,并且仍然为每个元素分配一个 ID。
必须有一个允许 3D 对象自定义元数据的标准吗?
这正是 Collada 文件格式设计的用例。
COLLADA (COLLAborative Design Activity) is an interchange file format for interactive 3D applications. COLLADA defines an open standard XML schema for exchanging digital assets among various graphics software applications. COLLADA uses a .dae (digital asset exchange) as filename extension.
OpenCollada 是一个开源 SDK,可用于读取和写入模型文件。该设计允许我们按照您的期望添加自定义元数据。 https://github.com/KhronosGroup/OpenCOLLADA