Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Импортирование 3D-моделей

Defold поддерживает модели, скелеты и анимации в формате glTF 2.0 (GL Transmission Format). Для 3D-моделей используйте файлы .gltf или .glb. glTF – современный формат, предназначенный для передачи и загрузки 3D-данных в игровых движках и приложениях реального времени.

С помощью таких инструментов, как Maya, 3ds Max, SketchUp и Blender, можно создавать 3D-модели или конвертировать их в glTF.

Blender – это мощная и популярная программа для 3D-моделирования, анимации и рендеринга. Она работает под Windows, macOS и Linux и доступна бесплатно на https://www.blender.org.

Модель в Blender

Импортирование в Defold

Чтобы импортировать модель, перетащите файл .gltf или .glb в панель Assets редактора Defold.

glTF может храниться двумя распространенными способами:

  • .glb – это один бинарный файл. Он содержит данные модели и также может содержать упакованные изображения текстур. Это удобно, когда модель нужно перемещать или хранить как один файл.
  • .gltf – это текстовый JSON-файл. Обычно он ссылается на отдельный файл .bin с данными сетки и отдельные изображения текстур, например .png или .jpg. При использовании этого варианта добавьте в проект все файлы, на которые есть ссылки, и сохраните их относительные пути.

Если модель должна использовать текстуру в Defold, импортируйте изображение текстуры как отдельный ассет. Даже если исходный файл glTF/GLB содержит встроенные изображения, текстуры необходимо назначать компоненту Model через свойства текстур материала компонента.

Импортированные ассеты модели

Использование модели

После импорта используйте модель в компоненте Model:

  1. Создайте файл Model из панели Assets через New... ▸ Model или добавьте компонент Model непосредственно в игровой объект через Add Component ▸ Model.
  2. Укажите в свойстве Mesh импортированный файл .gltf или .glb, содержащий сетку.
  3. Для анимированной модели укажите в свойстве Skeleton файл .gltf или .glb, содержащий скелет. Часто это тот же файл, который используется для Mesh, если сетка, скелет и анимации экспортированы вместе.
  4. Создайте файл Animation Set для анимаций и назначьте его свойству Animations. Укажите Default Animation, если анимация должна запускаться автоматически.
  5. Укажите в свойстве Material материал, подходящий для модели. Встроенные файлы model.material, model_instances.material, model_skinned.material и model_skinned_instances.material хорошо подходят в качестве отправной точки.
  6. Назначьте свойствам текстур материала, например Texture, импортированные файлы изображений текстур. Если материал использует несколько текстур, назначьте каждую текстуру соответствующему полю текстуры материала.

Экспорт в glTF

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

  • Подробное описание полигональных сеток можно найти по ссылке: http://en.wikipedia.org/wiki/Polygon_mesh.

  • О UV-координатах и UV-развертке можно прочитать здесь: http://en.wikipedia.org/wiki/UV_mapping.

Defold накладывает некоторые ограничения на экспортированные анимационные данные:

  • В настоящее время поддерживаются только запеченные анимации. Анимации должны содержать матрицы для каждой анимированной кости на каждом ключевом кадре, а не отдельные ключи для позиции, вращения и масштаба.

  • Анимации интерполируются линейно. Если вы используете более сложную кривую интерполяции, анимации нужно предварительно запечь в экспортере.

Требования

При экспорте модели учитывайте, что поддержка glTF может отличаться между инструментами и движками. Используйте glTF 2.0, убедитесь, что у модели есть корректные UV-координаты, если она использует текстуры, и импортируйте изображения текстур отдельно, когда их нужно назначать компоненту Model.

Хотя наша цель – полная поддержка формата glTF, это еще не реализовано полностью. Если какой-либо функции не хватает, пожалуйста, отправьте запрос на добавление в наш репозиторий

Экспорт текстуры

Если у вас еще нет текстуры для вашей модели, вы можете сгенерировать ее с помощью Blender. Сделайте это до того, как удалите лишние материалы с модели. Начните с выбора меша и всех его вершин:

Выбрать все

Когда все вершины выбраны, выполните развертку меша, чтобы получить UV-развертку:

Развернуть меш

Затем можно экспортировать UV-развертку в изображение, которое будет использоваться в качестве текстуры:

Экспорт UV-развертки

Результат экспорта UV-развертки

Экспорт из Blender

Экспортируйте модель из Blender через File ▸ Export ▸ glTF 2.0 (.glb/.gltf).

Экспорт из Blender

Перед экспортом выберите объект или объекты и включите Selected Objects, если нужно экспортировать только выбранное.

Выберите один из вариантов Format:

  • glTF Binary (.glb) создает один файл. Используйте этот вариант, когда модель должно быть удобно перемещать или хранить как один ассет.
  • glTF Separate (.gltf + .bin + textures) создает отдельные файлы для описания модели, бинарных данных и текстур. Используйте этот вариант, когда нужно редактировать изображения текстур или назначать их в Defold отдельно.

Если модель содержит анимации, включите экспорт анимаций и убедитесь, что они запечены. Если модель использует текстуры, убедитесь, что у сетки есть UV-развертка и что изображения текстур экспортируются в формате, который Defold может импортировать, например PNG или JPEG.

Экспорт из Blender