Добавляете пользовательские атрибуты в 3D-модель? - PullRequest
0 голосов
/ 03 августа 2020

Постановка проблемы

Я хотел бы добавить дополнительные данные в 3D-модель, не повреждая файл, чтобы модель нельзя было просмотреть в обычных средствах просмотра 3D-объектов.

Мой желаемый результат - один файл. Это позволило бы специальному программному пакету извлекать дополнительные данные по запросу, не мешая пользователю просматривать модель в стандартных средствах просмотра (дополнительные данные не требуются).

I исследовали topi c и изо всех сил пытались найти тип файла 3D, который может хранить дополнительные данные ... какие-либо идеи?

Пример «дополнительных данных»

Я хотел бы назначить два целых числа и одна строка для каждого элемента в модели:

  • Нижняя температура (0-10000)
  • Верхняя температура (0-10000)
  • Общеизвестное имя (строка, максимум 16 символов)

Я также хотел бы назначить две строки для всей модели (т.е. файл ):

  • Идентификатор модели (строка, максимум 16 символов)
  • Ссылка на задание (строка, максимум 16 символов)

Данные должны находиться внутри самого файла, чтобы они нелегко удалить.

Идеи

  • I t думал о том, чтобы дополнительные данные были разделены (быстрое исправление), но из-за большого количества моделей это потенциально могло привести к несоответствию файлов. Следовательно, основное внимание уделяется добавлению данных в файл, а не просто выравниванию внешнего файла данных.

  • Я доказал, что могу манипулировать файлом .stl для удовлетворения моих требований. необходимо ... но это будет отклоняться от стандарта и, таким образом, повредить файл для использования в обычных средствах просмотра.

  • Данные "элемента" могут повторяться во многих элементах, поэтому таблица поиска внутри файла уменьшит объем данных, которые необходимо хранить в каждом элементе ... но нам нужно будет найти место для справочной таблицы и по-прежнему назначить идентификатор каждому элементу.

  • Должен быть стандарт, позволяющий настраивать метаданные для 3D-объектов?

1 Ответ

0 голосов
/ 06 августа 2020

Это точный вариант использования, для которого разработан формат файла Collada.

COLLADA (COLLAborative Design Activity) - это формат файла обмена для интерактивных 3D-приложений. COLLADA определяет схему открытого стандарта XML для обмена цифровыми активами между различными графическими приложениями. COLLADA использует расширение имени файла .dae (обмен цифровыми активами).

OpenCollada - это SDK с открытым исходным кодом, доступный для чтения и записи файла модели. Дизайн позволяет нам добавлять собственные метаданные, как вы ожидаете. https://github.com/KhronosGroup/OpenCOLLADA

...