Формат Vrml, чем открыть
Обновлено: 21.11.2024
VRML (язык моделирования виртуальной реальности), часто произносимый как "вермал", представляет собой стандартный формат текстового файла для представления трехмерной интерактивной векторной графики, разработанный с учетом Всемирной паутины. С тех пор VRML был вытеснен X3D, однако VRML по-прежнему широко используется в качестве формата файлов для обмена 3D-моделями, в частности, из программ 3D-анимации и программ САПР. На этой странице я перечислил веб-сайты и фрагменты кода, относящиеся к VRML. Обратите внимание, что существует две версии VRML: VRML1 (выпущена в 1994 г.) и VRML2 (выпущена в 1997 г.), и в этой статье основное внимание уделяется последней.
Краткая история
VRML был впервые представлен в 1994 году. Сейчас эта версия известна как VRML1 и в основном устарела. В 1997 году была завершена разработка новой версии формата VRML2 (хотя его часто называют VRML97), которая стала стандартом ISO. Файлы VRML имеют расширение .vrml или .wml. Хотя VRML вызвал большой интерес и поддержку в сфере образования и исследований, он никогда не видел широкого распространения в Интернете. Немногие веб-браузеры когда-либо позволяли собственный просмотр этих 3D-файлов и вместо этого требовали от вас установки сторонних плагинов, прежде чем вы сможете просматривать .vrml и .wrl в своем веб-браузере (что немного неудобно). Консорциум VRML изменил свое название на Консорциум Web3D и выпустил X3D в 2004 году в качестве преемника VRML на основе XML. Хотя VRML технически вытеснен X3D и в настоящее время редко встречается на веб-сайтах, многие 3D-программы, особенно старые, по-прежнему поддерживают только VRML97 или, в редких случаях, VRML1 для импорта и экспорта, поэтому он по-прежнему является важным 3D-форматом для обмена файлами. .
Веб-сайты
-
Установка программы просмотра VRML:
- символ (преобразование / нулевой объект)
- obj1_hat (преобразование / нулевой объект)
- pyramid_hat (форма/нулевой объект)
- poly (индексированный набор граней/многоугольник)
- голова (форма/пустой объект)
- Сфера (сфера)
- Сфера (сфера)
- Сфера (сфера)
- Свет (точечный)
Формат VRML
VRML1 против VRML2
Как упоминалось ранее, VRML1 устарел, но для всех, кто интересуется различиями между VRML1 и VRML2, ниже приводится краткое изложение, любезно предоставленное Бобом Криспеном в VRML Works. Вкратце, миры VRML 1.0 статичны. Миры VRML 2.0 могут перемещаться и взаимодействовать с посетителем этих миров.
В этом разделе подробно рассматриваются технические детали использования VRML в приложении Open Inventor. Это в основном предназначено для программистов, имеющих некоторый опыт работы с Open Inventor, но даст вам представление о том, как работает Open Inventor, если вы немного знакомы с VRML.
Имена классов График сценыОбщая структура
VRML имеет практически ту же концепцию графа сцены, что и Open Inventor, за некоторыми заметными исключениями:
Координаты и другие атрибуты не наследуются (их необходимо указывать для каждого геометрического примитива).
Пример 22.1. Конус (файл .iv)
Давайте рассмотрим простой пример: классический "Красный конус". Сначала мы рассмотрим формат файла, чтобы увидеть, как различные узлы и поля сочетаются друг с другом.
Позже мы рассмотрим код, который создает эту иерархию (хотя вы, вероятно, сможете вывести большую часть этого из своего опыта работы с Open Inventor).
Вот традиционный график сцены Open Inventor с красным конусом:
Пример 22.2. Конус (файл в формате VRML97)
Пример 22.3. Конус (файл в формате X3D Classic VRML)
Для этих узлов файл точно такой же, как файл VRML97, за исключением заголовка. Для некоторых узлов форматы файлов VRML97 и X3D будут отличаться.
Пример 22.4. Код C++ для «Красного конуса»
Вот код C++, создающий традиционный граф сцены Open Inventor с красным конусом, примерно соответствующий первому примеру Inventor Mentor (см. пример 2.1, «Базовая программа Hello, Cone» ). ):
Пример 22.5. Код C++ для создания «красного конуса» VRML
Наследование
Пример 22.6. Два красных конуса
Вот простая диаграмма сцены Open Inventor, показывающая два конуса, переведенных в немного разные положения и оба унаследовавших красный цвет:
Пример 22.7. Наследование цвета в графе сцены Open Inventor
Пример 22.6, «Два красных конуса», не обязательно является реалистичным примером, поскольку этот тип наследования атрибутов делает относительно сложным интерактивное изменение атрибутов конкретного объекта. Это также затрудняет изменение самого графа сцены, поскольку показанное здесь наследование атрибутов зависит от определенного порядка узлов под верхним разделителем. Следующий график сцены более реалистичен, и на нем легче увидеть параллели с аналогичным графиком сцены VRML:
Пример 22.8. Наследование цвета в графе сцены VRML
Теперь каждый из разделителей второго уровня более точно представляет объект, связанный с его внешним видом и положением. Чтобы свести к минимуму память, используемую графом сцены, и позволить двум объектам иметь общий внешний вид, мы называем узел материала в первом объекте и ссылаемся на него во втором объекте. Вот эквивалентный график сцены VRML:
Во-первых, обратите внимание, что дочернее поле первого узла преобразования VRML имеет несколько значений (дочерних), поэтому мы должны использовать синтаксис «[ ]» (который не требуется, когда имеется только один дочерний элемент). Далее обратите внимание, как узел VRML Transform сочетает в себе функции узлов Separator и (Open Inventor) Transform из предыдущего примера, обеспечивая как новый уровень иерархии, так и преобразование. Наконец, обратите внимание, что мы назвали узел Appearance, содержащий красный цвет в первом объекте, и сослались на него в узле Shape второго объекта, как и в предыдущем примере. В качестве альтернативы мы могли бы назвать узел «Материал» в первом объекте и сослаться на него в узле «Внешний вид» второго объекта. Все зависит от того, какого эффекта мы пытаемся достичь.
Группировка узлов
Кэширование ограничивающей рамки,
Визуализировать отбраковку и
Маршруты
EventIn: МАРШРУТ может быть подключен к этому полю.
EventOut: МАРШРУТ может быть подключен из этого поля.
Поле: Подключения запрещены.
ExposedField: объединяет свойства EventIn и EventOut.
[in] — это eventIn,
[in,out] — открытое поле,
[out] – это событиеOut,
Для дальнейшего обсуждения используется только нотация VRML97, поскольку оба метода имеют одинаковое значение.
VRML разрешает только соединения (ROUTE) от eventOut к eventIn . В Open Inventor это означает, что МАРШРУТ разрешен только из поля со свойством EventOut в поле со свойством eventIn. Поля, объявленные как exposedField в спецификации VRML, имеют оба свойства. Open Inventor применяет это ограничение для узлов VRML при использовании SoDB::createRoute() для создания МАРШРУТА.
В спецификации VRML указано, что exposedField является «сокращением» для объявления того, что eventIn , поле и eventOut с таким же базовым именем существуют в узле, что означает наличие трех отдельных объектов. Например, exposedField с именем «child» подразумевает следующие объекты:
Имя eventIn: set_children
поле с именем: дочерние элементы
Имя eventOut: children_changed
В спецификации VRML также говорится о «событиях», отправляемых с одного узла на другой через МАРШРУТЫ. Эти события являются «концептуальными» и существуют только для объяснения модели. Open Inventor не реализует эти события буквально.
Действия
РендерингВизуализация для узлов VRML практически такая же, как и для традиционных узлов Open Inventor. Однако, в дополнение к различиям в наследовании атрибутов, описанным выше, существуют некоторые особые различия, требуемые спецификацией VRML, в том числе:
В VRML нет эквивалента «модели» наложения текстуры Open Inventor (Modulate, Decal или Blend). Вместо этого поведение наложения текстуры запрограммировано и зависит от количества компонентов в изображении текстуры. Для 1- и 2-компонентных текстур (Intensity и Intensity plus Alpha) цвет объекта умножается на значение интенсивности текстуры, аналогично режиму Modulate. Это полезно, потому что, по сути, текстура принимает цвет объекта. Для 3- и 4-компонентных текстур (RGB и RGB плюс альфа-канал) цвет объекта заменяется цветом текстуры, аналогично режиму "Наклейка".
Однако на этом история с 3- и 4-компонентными текстурами не заканчивается. VRML также указывает, что освещение применяется после текстурирования. Другими словами, если объект освещен, то цвет объекта заменяется цветом текстуры, а освещение изменяет этот цвет (цвет текстуры). OpenGL на самом деле применяет текстуры после освещения (в обратном порядке), но Open Inventor корректирует параметры, отправленные в OpenGL, и добивается правильного эффекта.
СборДругое
Файлы
Чтение файлов VRMLVRML не имеет двоичного формата (хотя он был предложен, и Open Inventor будет поддерживать его, когда он будет полностью определен и принят). В некоторых случаях вы можете использовать формат двоичных файлов Open Inventor, так как файлы намного меньше и загружаются намного быстрее.
О GZIP: поскольку VRML не имеет двоичного формата, файлы VRML часто сжимаются с помощью служебной программы gzip, чтобы сократить время их загрузки. Основная библиотека Open Inventor не поддерживает файлы, сжатые gzip. Однако на платформах Win32 (Windows) FEI предлагает «IVF», набор классов расширения, которые интегрируют Open Inventor с MFC (инфраструктура приложений Microsoft Foundation Classes). Приложения, созданные с помощью MFC и IVF, имеют встроенную поддержку файлов gzip. IVF автоматически определяет сжатие gzip независимо от расширения файла.
Как обсуждалось выше в разделе МАРШРУТЫ, Open Inventor автоматически создает соединения между полями, указанные операторами МАРШРУТ во входном файле.
Запись файловКак обсуждалось выше в разделе МАРШРУТЫ, Open Inventor будет автоматически генерировать операторы МАРШРУТ для любых соединений между полями, которые существуют в графе сцены. Обратите внимание, что в отличие от традиционного синтаксиса файла Open Inventor для соединений между полями операторы ROUTE требуют, чтобы узлы «от» и «к» имели имена. Мы рекомендуем явно называть все узлы, в которых будут соединения с полями. Это значительно упрощает интерпретацию файла VRML, если возникает необходимость проверить его вручную. Однако Open Inventor автоматически создаст «синтетические» имена для узлов, если это необходимо, при создании операторов ROUTE. Эти имена имеют вид «_n», где «n» — целое число. Например, «_1» и «_2» обычно являются первыми двумя созданными именами. Эти имена автоматически удаляются при повторном считывании файла с помощью Open Inventor.
Open Inventor гарантирует, что синтетические имена будут уникальными в пределах текущего графа сцены. Однако это не гарантирует, что имена, указанные приложением, уникальны (мы предполагаем, что вы знаете, что делаете в этом случае).И Open Inventor, и спецификация VRML позволяют многократно определять имена во входном файле. Они просто используют последнее обнаруженное определение имени.
Часто задаваемые вопросы по VRML
Содержание
Нет Worldview, обновлена QvLib, WIRL, off2vrml.
VRML 1.0 — это подмножество формата файлов Inventor (ASCII) с некоторыми дополнениями, позволяющими создавать ссылки на Интернет и включать другие URL-адреса. Функция связывания (WWWAnchor) предоставляет ту же функцию, что и привязки HREF в HTML.
Непосредственно перед анонсом VRML для прессы Марк описал VRML в «предыстории» (URL: http://vrml.wired.com/arch/1010.html) «VRML — это язык для описания многопользовательских интерактивных симуляций — - виртуальные миры, объединенные в сеть через глобальный Интернет и связанные гиперссылками во Всемирной паутине."
3 апреля 1995 г. компании Silicon Graphics (SGI) и Template Graphics (TGS) анонсировали свои продукты WebSpace. Эта более коммерческая направленность добавляет интересный баланс к смеси VRML. VRML намного популярнее и привлекательнее. Это и хорошо, и плохо. Будем надеяться, что браузеры, которые выйдут СКОРО, будут расширять и смягчать положительные аспекты видимости.
Семнадцать компаний и организаций также объявили о своей поддержке 3D-графики на основе VRML во Всемирной паутине. К таким компаниям относятся: AccelGraphics, Inc., Университет Брауна, CERN, Digital Equipment Corporation, Intergraph, NCD, NEC Technologies, net.Genesis Corporation, Netscape Communications, Oki Advanced Products, Суперкомпьютерный центр Сан-Диего, Spyglass, Tenet Networks, Viewpoint Datalabs International. , Inc., Университет Дармштадта, Wavefront Technologies и 3Dlabs Inc.
Геометрия, преобразования, атрибуты, освещение, затенение, текстуры, отсечение. Какие-нибудь хорошие учебники в сети?
Есть курс VRML: использование 3D для веб-серфинга. Воскресенье, 6 августа, 13:30. Ян Харденберг, Гэвин Белл и Марк Пеше.
Есть панель - 3D Графика через Интернет - "Перестрелка" Пятница 15:45-17:30. Карл Маховер, Гэвин Белл, Карл Толландер, Тамара Мюнцнер и Вэл Уотсон.
Вероятно, в интерактивных сообществах будет несколько основанных миров: как минимум Waxweb 2.0.
Дон Брутцман организует BOF/SIG в понедельник с 17:00 до 19:00 (это может измениться из-за назначения комнаты/времени от SIGGRAPH). Он объявит об этом в списке.
Теперь доступны версии WebSpace для SGI, NT и Sun (95.MAY.22), а также WorldView (95.JUN.15). Это бета-версии браузеров, и они бесплатны. Если у вас есть комментарии, пожалуйста, следуйте указаниям по отзывам о бета-версии и не засоряйте список жалобами на бесплатное программное обеспечение. С другой стороны, обычно приветствуются интересные концептуальные вопросы.
Похоже, ни в одном из браузеров пока нет функции прилипания к поверхности. Как без этого спускаться с горки в ПЕЩЕРЕ?
Интервиста WorldView
Интернет-пространство
NetPower (студия VRML?)
VRweb
GRAZ, Австрия (26 апреля 1995 г.) - IICM, родина Hyper-G, NCSA, родина Mosaic, и Университет Миннесоты, родина Gopher, сегодня совместно объявили о разработке VRweb, нового трехмерного Интернета. браузер на основе нового стандарта VRML для трехмерных объектов в Интернете.
Информация о Hyper-G: (URL: ftp://iicm.tu-graz.ac.at/pub/Hyper-G). Планируется версия для Linux, а также доступность исходного кода для некоммерческого использования. р>
Географический вид
WIRL от Vream
На основе RL. Они также будут выпускать VRCreator.
Вот версия WIN32, которая была анонсирована в сети. От: Омар Эльджумайли
Пожалуйста, будьте очень осторожны и не задавайте вопросы, на которые уже были даны ответы.
Старые версии (на основе ноябрьского черновика) для версий LINUX, IRIX, Sun, NT и Mac по адресу (URL: ftp://ftp.vrml.org/pub/parser/). В частности, «The Inventor Mentor» Эддисона Уэсли " и "Справочное руководство Open Inventor C++" неоценимы.
В библиотеке черновой версии у нескольких пользователей возникли проблемы с макросами CONCAT в QvBasic.h. Если у вас возникли проблемы с запуском тестов, проверьте это.
Реализуя функции рендеринга в функциях QvTraverse, вы можете написать простую программу просмотра файлов VRML. Добавьте возможность извлекать файлы .wrl и способ передачи файлов, отличных от .wrl, в браузеры, и вы получите что-то интересное. Вот несколько советов:
Кроме того, в скором времени появятся разработчики моделей от ParaGraph, Radiance, TGS, Virtus и 3D/EYE. Легко предположить, что в недалеком будущем все инструменты моделирования будут использовать VRML.
Появятся интересные инструменты, с помощью которых можно создавать целые среды со звуками и поведением. Автоматическая поддержка уровня детализации (LOD) тоже не помешала бы.
Строитель виртуального дома
Пошаговое руководство
Virtus работает над версией WalkThrough Pro, совместимой с VRML. Продукт должен быть выпущен в третьем квартале 95 года.
TriSpectives(tm) 1.0
VRCreator от Vream
Internet Week заявил, что Calagari, создатель TrueSpace, выпускает средство моделирования, которое пишет VRML. Мало подробностей.
Template Graphics System выпустит инструмент для разработки в июле (согласно их веб-странице).
dxf2iv
InterChange для Windows
wc2pov
Этот инструмент поддерживает большинство форматов файлов, имеющихся в 3D-архиве Avalon, и СКОРО будет создавать файлы VRML. Подождите, пока не увидите надпись VRML, прежде чем брать ZIP-файл.
TGS (Template предложит конвертер DXF, 3D Studio и IGES в Inventor и VRML в июле.
off2vrml
Существует множество сайтов, на которых каждый раз, когда я проверяю, появляются списки сайтов и многое другое. Вот несколько отправных точек. Я не пытаюсь предоставить список всех ссылок VRML. Всего несколько отправных точек.
Это все еще немного «прогностически», но я думаю, что так и должно быть. Спасибо Брайану Белендорфу за то, что он где-то заработал.
Если вы размещаете сжатые файлы VRML на своем веб-сайте, вам необходимо добавить строку Content-Encoding, которая указывает браузеру распаковать его. Использование инструментов GNU zip от Free Software Foundation кажется единственным жизнеспособным кросс-платформенным вариантом.
В VRML 1.0 нужно добавить много вещей для создания полноценной многопользовательской 3D-среды. В киберпространственную систему нужно включить множество функций, возможно, лишь часть из них — это VRML. Другим будет новый протокол для регистрации присутствия и получения обновлений.
<УЛ> - поведение (объекты ведут себя в зависимости от времени и событий)
- взаимодействия (способ передачи событий в среду)
- несколько участников
- звук (если его не было в VRML 1.1)
- телеприсутствие
Это предполагает некоторую способность писать сценарии. Моделирование на основе физики должно быть возможным — вещи не могут проходить друг через друга, они падают при падении. Кроме того, другие виды ограничений были бы хороши для размещения объектов. Читайте архив для тонн идей. Работа над VRML 2.0 начнется всерьез после выхода первой волны браузеров VRML.
<УЛ> - Текст аннотации (или узлы)
- Встроенный звук
- текст i18n (интернационализация)
- кэширование встроенных объектов, например, на компакт-диске.
- видеопотоки как источники текстур (имитирующие порталы и телевизоры)
- простые функции анимации
Техническое обсуждение проблем описания геометрии в VRML. Темы включают функции текущих и предлагаемых геометрических примитивов, инструменты импорта/экспорта, совместимость с существующими системами, детали реализации, проблемы с производительностью, кросс-платформенные проблемы и так далее. Не модерируется.
Чтобы подписаться, напишите по адресу listserv@sdsc.edu. В теле сообщения введите:
Техническое обсуждение описания поведения в VRML. Темы включают в себя, как добавить взаимодействие и анимацию в VRML, проблемы языка сценариев, детали реализации и т. д. Не модерируется.
Чтобы подписаться, напишите по адресу listserv@sdsc.edu. В теле сообщения введите:
подписаться на www-vrml ваш-адрес-электронной почты
Я несколько раз слышал об этом. Текущий процесс заключается в том, что авторы VRML 1.0 (Гэвин Белл, Энтони Паризи и Марк Пеше) обсуждают вопросы в списке рассылки www-vrml, а затем пересматривают спецификацию.
Поскольку высшим органом по стандартизации VRML является IETF, это, вероятно, нормально. Процесс похож, я думаю. Получите URL-адрес IETF Zen! XXX В какой-то момент он станет (новым) типом содержимого MIME ("мир", "3D" или "геометрия") и подтипом "vrml".
Несмотря на то, что отсутствие формальностей может вызывать дискомфорт, никто не может спорить с достигнутым прогрессом, ИМХО.
VRML (язык моделирования виртуальной реальности) – это стандартный формат файла для представления трехмерной интерактивной векторной графики, разработанный специально для Всемирной паутины. Он был заменен X3D.
Импорт
Чтобы открыть, импортировать, вставить и прикрепить файл как рабочую сессию
- В меню "Файл" выберите "Открыть" или "Импорт".
- В диалоговом окне "Открыть" выберите поддерживаемый тип файла.
- Если импорт можно настроить, нажмите кнопку «Параметры», чтобы указать параметры импорта.
- Нажмите «Открыть» или нажмите Enter.
Когда Rhino открывает модель, отличную от 3dm, в строке заголовка отображается имя открытой модели. Когда модель сохраняется в первый раз, это имя модели вводится как имя файла.
- Можно импортировать только файлы VRML 2.
- Импорт прожекторов, точечных и направленных источников света.
Экспорт
Чтобы сохранить или экспортировать модель Rhino
Хотя очистка сетки рендеринга делает файл меньше, при следующем открытии файла он будет затеняться и рендериться медленнее.
Сохранить только геометрию
Сохраняет только геометрические объекты. Никакие слои, материалы, свойства, заметки или настройки единиц измерения не сохраняются. Это похоже на экспорт объектов.Создается новый файл, но он не становится вашей активной моделью Rhino.
Встраивает в модель внешние текстуры, используемые материалами, средами и декалями.
Параметры экспорта VRML
Версия
Сначала попробуйте 2.0. Если это не работает с вашей программой просмотра VRML, попробуйте 1.0.
Параметры
Нормали вершин
В файл VRML экспортируются только нормали вершин полигональной сетки, рассчитанные по NURBS-поверхностям. Это может улучшить внешний вид объектов в средстве просмотра и увеличить размер файла.
Координаты текстуры
Координаты наложения UV-текстуры экспортируются в файл VRML.
Цвета вершин
Чтобы получить цвета вершин для экспорта, выберите сетку с цветами вершин, например сетку, импортированную из VRML, или сетку с помощью команды ExtractAnalysisMesh.
Читайте также:
- pyramid_hat (форма/нулевой объект)
- obj1_hat (преобразование / нулевой объект)
-
- Помогает вам обнаружить и установить плагин, чтобы вы могли просматривать файлы VRML в своем браузере. Этот веб-сайт поддерживается Национальным институтом стандартов и технологий США (NIST), и на самом деле они перечисляют около 30 автономных программ и наборов инструментов для VRML и X3D. Тот, который я установил на свой Mac, называется [FreeWRL], а другой популярный бесплатный инструмент — [OpenVRML]. - FreeWRL - это кросс-платформа (Window, Mac, Linux), плагин (позволяет просматривать эти файлы внутри браузера), автономный (позволяет просматривать файлы вне браузера) и набор инструментов для просмотра файлов VRML и X3D. Одна приятная особенность заключается в том, что он поставляется с каталогом, содержащим несколько десятков файлов .wrl и один файл .x3d, который вы можете открыть в FreeWRL для просмотра или открыть в любом текстовом редакторе для просмотра исходного кода. — еще один бесплатный мультиплатформенный плагин для VRML. но, к сожалению, немного сложно установить.
-
Изучение VRML:
-
- сайт, который все еще находится в стадии разработки, но представляет собой отличный обзор всех основных концепций и основ VRML и содержит несколько действительно замечательных примеров, включая пирамиду, которую я скопировал ниже. - описывает стандарт ISO для VRML, включая список всех важных узлов (их около 50!). - дает хорошее введение и (что более важно) имеет отличный справочный раздел Node, где они дают пример для каждого узла с исходным кодом и ссылкой «пример» для запуска файла .wml.
Фрагменты кода
Пример 2. Создание простой сетки
Часто вам может понадобиться представить сложные формы, и для этого проще всего использовать геометрию "IndexFacSet", где все точки сначала перечисляются в массиве "точек", а затем наборы точек объединяются для формирования каждое лицо в массиве «coordIndex». В приведенном ниже примере мы создали треугольную пирамиду на основе красного квадрата с пятью вершинами и пятью гранями. Вы заметите, что нижняя грань представляет собой квадрат (в нем указано 4 точки вместо 3), но в большинстве 3D-программ она будет нарисована или преобразована в два треугольника.
Пример 3. Настройка иерархии сцен и повторное использование элементов с помощью "DEF"
В этом следующем примере мы основываемся на предыдущем примере, но мы хотим добавить три белые сферы под пирамидой, чтобы они выглядели как голова и два глаза. Всякий раз, когда вы хотите, чтобы несколько объектов имели один и тот же материал/внешний вид, утомительно и неэффективно перечислять их каждый раз, поэтому это хорошее место, чтобы подчеркнуть, как вы можете использовать команду «DEF» для определения чего-либо — в данном случае внешний вид, но его также можно использовать для дублирования фигур или групп фигур, а затем использовать его несколько раз. Тег DEF также дает этому объекту имя в иерархии сцен, что полезно, если вы собираетесь импортировать файл VRML в другую программу и видеть логические имена. Как только что-то определено, его можно повторно использовать столько раз, сколько возможно, и хотя наиболее эффективным с точки зрения кода методом было бы создание нашего «MAT_obj2_whiteMat» внутри первой сферы, это может выглядеть немного беспорядочно, поэтому вместо этого я определил оба внешний вид/материалы в начале файла в объектах формы, которые не имеют геометрии.
Я разработал этот файл для удобного импорта в Cinema 4D, хотя, если вы используете эту конкретную программу, обязательно снимите флажок «Оптимизировать иерархию», если вы хотите, чтобы каждый уровень сохранялся (в противном случае он разрушит все, что имеет только один дочерний элемент) .Иерархия "графа сцены" этого файла выглядит так: