Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество
Главная
    Документация jMonkeyEngine
        jMonkeyEngine SDK: Документация
            jMonkeyEngine SDK: Импорт и просмотр моделей

jMonkeyEngine SDK: Импорт и просмотр моделей

Опубликованно: 16.06.2017, 23:50
Последняя редакция, Andry: 01.11.2017 15:30

jMonkeyEngine SDK импортирует модели из вашего проекта и сохраняет их в папке assets. Импортированные модели преобразуются в двоичный формат, совместимый с jME3, который называется .j3o. Дважды кликните файлы .j3o в jMonkeyEngine SDK, чтобы отобразить их в SceneViewer, или загрузите их потом в игре с помощью AssetManager.

В настоящее время Blender 3D является рекомендуемым инструментом моделирования для jME3, так как это программное обеспечение с открытым исходным кодом, и к нему существует экспортировщик для файлов, OgreXML. В SDK есть прямой импортер файла .blend, и вы можете напрямую импортировать или хранить blender файлы в своем проекте до их преобразования. Если по какой-либо причине ваша версия Blender несовместима, вы можете использовать по умолчанию сам формат OgreXML. Обратите внимание, что экспортер OgreXML не совместим с Blender 2.49 или более раним!

Также смотрите это демонстрационное видео по импорту моделей.

Установка OgreXML Exporter в Blender

В jMonkeyEngine SDK есть инструмент для установки правильных инструментов экспортера в Blender для экспорта файлов OgreXML. Чтобы установить экспортера, выполните следующие действия:

  1. Выберите Сервис ▸ OgreXML ▸ Install Blender OgreXML в меню SDK jMonkeyEngine
  2. Если вы скачали нужный файл, выберите папку, в которой blender scripts находится
  3. Нажмите [Install Exporter Script] в открывшемся окне

Также проверьте, как создавать совместимые модели в Blender и как организовать свои игровые ресурсы.

Импорт и просмотр модели

Использование инструмента Importer Model

jmonkeyplatform003-300x117
jmonkeyplatform002-300x218

JMonkeyEngine SDK включает в себя инструмент импортера моделей, который позволяет просматривать и импортировать поддерживаемые модели в проект jMonkeyEngine3.

  1. Нажмите кнопку Import Model на панели инструментов
  2. Выберите проект, в который вы хотите импортировать
  3. Нажмите Select Project и выберите файл главной модели
  4. Нажмите open model.. и выберете нужный файл модели и надмите [Далее]
  5. Проверьте список Preview Model файла и нажмите [Далее].
  6. Проверьте и измените путь импорта, если это необходимо
  7. Если вы хотите скопировать исходные файлы модели, установите флажок
  8. Нажмите [Готово]

Модель преобразуется в j3o, и все необходимые файлы копируются в папку assets проекта. Если вы указали соответствующую опцию, все исходные файлы моделей также будут скопированы в вашу папку assets.

Использование файлов модели напрямую

jmonkeyplatform-docu-3

  1. Создайте отдельную папку для каждой модели в папке assets вашего проекта.
  2. Сохраните модель, созданную в Blender (.blend) в папке asset вашего проекта,
  3. Убедитесь, что текстуры не упакованы в .blend файл.
  4. Убедитесь, что все текстуры, используемые в .blend файле, находятся в папке assets проекта.
  5. В узле Project Assets выберите модель, которую вы хотите импортировать.
  6. Дважды кликните модель или кликните [ПК мыши] и выберите Convert to JME Binary из контекстного меню.
  7. В узле Project Assets вы увидите файл модели j3o.
  8. Дважды кликните его, чтобы просмотреть его в SceneViewer.
  9. Если вы не видите свою модель нажмите на лампочку, чтобы включить освещение.
Важно, чтобы вы скопировали файл модели и его текстуры в нужную папку assets перед созданием файла j3o, потому что пути для текстур (и, возможно, другие вещи) будут сохранены только с этим вариантом пути (относительно корня папки assets) при преобразовании этой модели. Это означает, что местоположение текстуры не должно меняться уже после импорта.
Если SceneViewer не работает, обратитесь к разделу Устранение неполадок в jMonkeyEngine3 SDK.

Работа с моделью

  • Откройте Окно ▸ SceneExplorer, чтобы просмотреть под-узлы модели
  • Откройте Окно ▸ IDE и сервис ▸ Свойства, чтобы просмотреть свойства узлов модели.
  • Нажмите кнопку в виде куба в SceneViewer для переключения между режимами Каркаса и Текстуры.
  • Нажмите лампочку, чтобы просмотреть материалы, для которых требуется источник света

Примечания об объектах модели

Исходные файлы модели OgreXML .mesh.xml, .scene, .material, .skeleton.xml и .blend не будут включены в файл дистрибутива assets.jar дистрибутива вашей игры, они доступны только в папке assets, чтобы вы были способны заново создать файл .j3o из оригинала, если вы когда-либо захотите, изменить его в blender. И тогда его будет нужно снова экспортировать.

Об окне SceneViewer и SceneExplorer

Окна SceneViewer и SceneExplorer окон являются общими для плагинов, чтобы сэкономить ресурсы системы. Это означает, что вам нужно будет следить за тем, как плагин использует сцену прямо сейчас что бы вы делали только то что действительно вам нужно изменяете сейчас в этих окнах.

Большинство плагинов будут предоставлять свои собственные элементы пользовательского интерфейса, для изменения сцены, поэтому SceneExplorer является скорее глобальным инструментом. Однако простой SceneComposer в значительной степени зависит от его функций, как и другие подобные плагины которые могут быть в будущем.

О проектах AssetManager

Каждый проект jMonkeyEngine SDK имеет свой собственный внутренний AssetManager, у которого есть папка assets проекта, зарегистрированная как FileLocator. Когда проект запущен, папка assets сжимается в файл jar и добавляется в основной classpath jar. Таким образом, редакторы в jMonkeyEngine SDK и работающая игра имеют одну и ту же структуру assets папок.

Вы можете задаться вопросом, почему jMonkeyEngine SDK требует, чтобы вы копировали модель, которая должна быть преобразована в j3o в папку assets раньше самого преобразования. Также инструмент Model Import копирует модель и связанные с ней файлы в папку проекта перед преобразованием. Чтобы загрузить модель, она должна находиться в папке (или jar и.т.п.), которая принадлежит к корню AssetManager проекта. Чтобы загрузить модель из какой-либо другой папки файловой системы, эта папка должна быть добавлена ​​в корень AssetManager. Если каждая папка, содержащая преобразованную модель, находилась бы в корневой папке AssetManager, все текстуры с названием например hull.jpg, были бы одинаковыми для AssetManager, и предоставлялась бы только текстура модели из папки, которая была добавлена первой.

Чтобы иметь правильный jME3 объект, пути к текстурам и другим игровым ресурсам, принадлежащим модели, должны быть считаны с правильным, конечными путями к ним, которые затем будут сохранены в объекте j3o. Объект j3o будет использовать эти пути при загрузке через AssetManager, по этому требуется чтобы AssetManager-у были предоставлены игровые ресурсы именно по этим путям, поэтому структура папок при преобразовании должна быть такой же, как при загрузке.


Переведено для jmonkeyengine.ru, оригинал
Автор перевода: Andry

Добавить комментарий

jMonkeyEngine.ru © 2017. Все права сохранены.