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

Модели и Сцены

Опубликованно: 08.05.2017, 10:28
Последняя редакция, Andry: 29.09.2017 16:29

Подобно фигурам, 3D-модели также состоят из сеток, но модели более сложные, чем фигуры. Хотя Фигуры встроены в jME3, модели вы обычно создаете во внешних редакторах 3D Mesh Editors.

Использование моделей и сцен с помощью jME3

Чтобы использовать 3D-модели в приложении jME3:

  1. Экспортируйте 3D-модель в формате Ogre XML или Wavefront OBJ. Экспортируйте сцены в формате Ogre DotScene.
  2. Сохраните файлы в подкаталог каталога ресурсов(assets) вашего проекта jME3.
  3. В вашем коде вы используете Asset Manager для загрузки моделей в качестве Spatial в jME-приложение.
    Spatial model = assetManager.loadModel(
        "Models/MonkeyHead/MonkeyHead.mesh.xml" );
(Для сборки релиза:) Используйте SDK jMonkeyEngine для преобразования моделей в формат .j3o. Этот шаг вам не понадобится, если вы все еще разрабатываете и тестируете приложение в jMonkeyEngine SDK.

Создание моделей и сцен

Для создания 3D-моделей и сцен вам понадобится 3D-редактор сетки, такой как Blender, с плагином OgreXML Exporter.

Узнайте, как создавать UV-текстуры для более сложных моделей, это выглядит более профессионально.

Редакторы 3D-моделей являются продуктами сторонних производителей, поэтому ознакомьтесь с их документацией для получения инструкций по их использованию. Вот пример рабочего процесса для пользователей Blender:

Чтобы экспортировать ваши модели в виде XML-сетки Ogre с материалами:

  1. JMonkeyEngine требует, чтобы файл материала назывался тем же именем, что и модель, поэтому до открытия диалогового окна экспорта сделайте так. Модель будет экспортировать файлы с именем ModelName.mesh.xml с именем ModelName.material, плюс (необязательно) ModelName.skeleton.xml и некоторые файлы JPG.
  2. Откройте меню Файл ▸ Экспортировать ▸ Ogre3D, чтобы открыть диалоговое окно экспортера.
  3. В поле Путь к файлу: выберите целевой подкаталог каталога Project Assets/Textures/. Например. Project Assets/Textures/ModelName/. См. Рекомендации.
  4. На панели в левом нижнем углу окна экспорта можно настроить следующие параметры экспорта:
        Замена осей: xz-y
        Separate materials (Oтдельные материалы)
        Only Deformable Bones(Только деформируемые Кости) [1]
        Export Scene(Экспорт сцены) [2]
        Export Selected Only(Экспортировать только выбранные) [3]
        Export Meshes(Экспорт сетки)
        Export Meshes Overwrite(Экспортировать сетку с перезаписью) [4]
        Armature Animation(Анимация арматуры) [5]
        Обрезка Массы [6]
        Export Materials(Экспорт материалов)
  5. Нажмите Export Ogre.

Теперь вы можете использовать jMonkeyEngine SDK для загрузки и просмотра моделей. Вы можете создавать сцены из них и писать код, который загружает их в ваше приложение.


Очистка буфера Blender

Перед экспортом ваших Blender моделей рекомендуется очистить буферы любого ненужного действия, материала, текстуры или UV -изображения. Это прямой процесс, который занимает всего несколько минут. Неспособность сделать это может привести вас к множеству проблем, например, иметь более одного AnimControl, дублированию материалов и текстур, потратить впустую место от бесполезных изображений, просто упомянуть о нескольких потенциальных проблемах.

Очистка Blender материала, текстуры, UV-буферов изображений

  1. Откройте редактор UV-изображений, вкладку «Материал» или вкладку «Текстура».
  2. Нажмите кнопку «Обзор», расположенную рядом с именем материала, текстуры или УФ-изображения, чтобы загрузить элемент, подлежащий очистке.
  3. Удерживая нажатой клавишу Shift, нажмите кнопку X, также известную как кнопка блокировки блока Unlink, расположенная рядом с загруженным элементом. Элемент, который отсоединен, покажет 0 перед просмотром, выбрав кнопку «Обзор» и не будет сохранен, если вы выйдете из Blender.
  4. Сохраните файл.
  5. В заголовке «Информация» выберите «Файл» ▸ «Открыть последнее» ▸ «Сохраненный файл», чтобы закрыть и снова открыть файл.

Исключением из этого правила является буфер связанного действия для анимаций, расположенный в редакторе Dope Sheet.

Очистка связанного буфера действий

  1. В редакторе Dope Sheet измените контекст на Action Editor.
  2. Нажмите кнопку «Действие для привязки» и выберите действие, которое вы хотите очистить.
  3. Отмените выбор кнопки F, чтобы предотвратить ее сохранение.
  4. Измените тип редактора из Dope Sheet в NLA Editor. Вы увидите действие, указанное в списке.
  5. Нажмите кнопку «Стрелка вниз» рядом с действием, чтобы вставить его в стек.
  6. Нажмите маленькую звездочку рядом с названием дорожки.
  7. С помощью мыши в списке треков NLA нажмите X, чтобы удалить дорожку и полосу.
  8. Сохраните файл.
  9. В заголовке «Информация» выберите «Файл» ▸ «Открыть последнее» ▸ «Сохраненный файл».
  10. Сохраните файл снова.
  11. В заголовке «Информация» снова выберите «Файл» ▸ «Открыть последнее» ▸ «Сохраненный файл».
  12. Вернитесь к редактору Dope Sheet.
  13. Нажмите кнопку «Обзор действий для привязки», и вы увидите, что остается только испеченное действие, и теперь в буфере нет нежелательных действий. Выберите действие.
  14. Сохраните файл.

    1. Опционально: если выбрано, и у вас есть арматура с моделью, экспортируются только деформированные кости.

    2. Включите эту опцию, чтобы экспортировать вашу модель в формате DotScene

    3. Опционально: если выбрано, вы вручную выбираете каждый объект, который хотите экспортировать, до открытия диалогового окна экспорта.

    4. Опционально: если выбрано, оно перезапишет существующие файлы в целевом каталоге

    5. Опционально: Используется только если модель содержит арматуру.

    6. Иногда при экспорте вы можете получить предупреждение, жалующееся на вершины, взвешенные на слишком много костей. Затем вас попросят попробовать увеличить опцию trimments weights. Немного увеличьте этот счетчик и попробуйте экспортировать снова. Повторяйте процесс до тех пор, пока предупреждение не исчезнет.

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

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

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