Данные методические рекомендации могут быть полезными для педагогов-организаторов, педагогов дополнительного образования, организаторов воспитательной работы в образовательных учреждениях и других назначенных руководителей детских редакций по техническим направлениям. Методические рекомендации включают в себя описание этапа в реализации кейса VR музей.

По проекту музея лучше всего использовать специальную программную библиотеку WebGl для языка JavaScript для визуализации интерактивной трехмерной графики в пределах совместимости веб-браузера без использования плагинов. Мы вводим API, который построен на основе OpenGL ES 2.0, что позволяет его использовать в элементах canvas HTML5.

Поддержка проекта будет в браузерах: Firefox 4+, Google Chrome 9+, Opera 12+, Safari 5.1+ и Internet Explorer 11+. Однако помимо поддержки WebGL браузером, необходима также его поддержка графическим процессором клиента/пользователя. Так же программист предполагает, что он будет доступен и для мобильных устройств Android и iOS.Но это чуть больше времени. Для демонстрации прототипа представлено 3D помещение для браузера: http://188.134.85.107:1045/

Экспорт объектов из 3D Studio Max 

Прежде чем совершить правильный экспорт, убедитесь, что ваша модель не превышает размеры 50х50х100см, и вес не более 5мб. А также присутствуют все текстуры. Для проекта виртуального музей необходимы 3D модели в формате .FBX.

Используя настройки FBX экспортера по-умолчанию (которые позволяют экспортировать всё, что есть), вы можете выбрать:

  1. Embed textures — хранит карты изображений в файле, полезно для портативности, но не хорошо для размера файла
Настройки FBX экспортера по-умолчанию (для fbx плагина версии 2016)
  1. Экспортирование Bone-based анимаций

Существует процедура, которой вы должны следовать, если желаете экспортировать bone-based анимации:

  1. Настройте структуру костей как вам угодно.
  2. Создайте нужные вам анимации используя FK и/или IK.
  3. Выделите все кости и/или IK солверы.
  4. Перейдите вMotion->Trajectories and pressи нажмите Unity создаёт фильтр ключевых кадров, так что их количество при экспорте не важно.
  5. “Export” или “Export selected” в качестве нового FBX формата.
  6. Перетащите FBX файл в Assets, как обычно.
  7. В Unity вы должны переназначить текстуру в материале корневой кости.

При экспортировании костной иерархии с мешем и анимациями из 3d Max в Unity, иерархия GameObject’ов генерируется в соответствии с иерархией, которую вы видите в “Schematic view” в 3ds Max. Одно отличие в том, что Unity поместит GameObject в качестве нового корня, содержащего анимации, и разместит информацию о меше и материале в корневой кости.

Если вы предпочитаете иметь анимацию и информацию о меше в одном Unity GameObject’е, перейдите в окно Hierarchy в 3ds Max и назначьте узел меша родителем для кости в костной иерархии.

3. Экспортирование morph targets (blend shapes) из Max

  • Убедитесь, что у вас применён Morpher Modifier к экспортируемому мешу с подходящими morph targets, настроенными в Channel List
  • Анимируйте ключевые кадры на экспортируемом меше / модификторе, только если вам требуется анимация
  • Отметьте Animation > Deformations, Skins если требуется и затем Morphs в диалоге экспорта FBX
  1. Экспортирование двух наборов UV для лайтмаппинга

Функционал 3ds Max’а Render To Texture и автоматической развёртки может использоваться для создания карт освещения. Заметьте, что в Unity есть встроенный механизм создания карт освещения, но вы можете пожелать использовать 3dsmax, если он больше подходит в вашем рабочем процессе. Обычно для главной текстуры и / или карт нормалей используется один набор UV, а для текстуры карты освещения — другой набор UV. Чтобы правильно перенести оба набора UV, материал в 3ds Max должен быть Standard и как Diffuse (для главной текстуры), так и Self-Illumination (для карты освещения) слоты карты должны быть настроены:

Настройка материала для лайтмаппинга в 3ds Max с использованием self-illumination карты

Учтите: если объект использует тип материала Shell, тогда текущий Autodesk FBX экспортер не сможет корректно экспортировать UV.

В качестве альтернативы, вы можете использовать Multi/Sub Object тип материала и настроить два sub-material’а, используя основную текстуру и карту освещения в их diffuse map слотах, как показано ниже. Однако, если полигоны в вашей модели используют другие sub-material ID, это приведёт к импорту множества материалов, что не оптимально для производительности.

Альтернативная настройка материала для лайтмаппинга в 3ds Max с помощью multi/sub object материала

Сцена в 3D max в формат *.fbx , далее импортируется в Unity.

Запеченная анимация — гарантия точного воспроизведения в движке того, что вы наблюдаете в 3Д-пакете. Она же — наиболее емкая, поскольку анимационные ключи жестко прописываются в каждом кадре, даже если объект выполняет поступательное движение вдоль одной оси, что можно описать двумя ключами — один в начале, второй — в конце.

Запекание призвано решить нестыковки возможностей движка и 3Д-пакета. Как правило, движки не умеют интерполировать кадры между ключами, скажем, хитрыми кривыми, а выполняют линейную интерполяцию, которая искажает анимацию, что настроена кривыми.

Костей в движке нет, скелет представлен иерархией объектов, как правило, меш привязывается к корневому (root) объекту.

Анимация Костями

Bone-based анимаций:

1) Настройте структуру костей как вам угодно.

2) Создайте нужные вам анимации используя FK и/или IK.

3) Выделите все кости и/или IK солверы.

4) Перейдите в Motion->Trajectories and pressи нажмите Collapse. Unity создаёт фильтр ключевых кадров, так что их количество при экспорте не важно.

5) “Export” или “Export selected” в качестве нового FBX формата.

6) При экспортировании костной иерархии с мешем и анимациями из 3d Max в Unity, иерархия GameObject’ов генерируется в соответствии с иерархией, которую вы видите в “Schematic view” в 3ds Max. Одно отличие в том, что Unity поместит GameObject в качестве нового корня, содержащего анимации, и разместит информацию о меше и материале в корневой кости.

7) Если вы предпочитаете анимацию и информацию о меше в одном Unity GameObject’е, перейдите в окно Hierarchy в 3ds Max и назначьте узел меша родителем для кости в костной иерархии.

8) Экспортирование morph targets (blend shapes) из Max

9) Убедитесь, что у вас применён Morpher Modifier к экспортируемому мешу с подходящими morph targets, настроенными в Channel List

10) Анимируйте ключевые кадры на экспортируемом меше / модификторе, только если вам требуется анимация

11) Отметьте Animation > Deformations, Skins если требуется и затем Morphs в диалоге экспорта FBX