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-даних в ігрових рушіях і застосунках реального часу.

Для створення 3D-моделей або їх перетворення у формат glTF можна використовувати такі інструменти, як Maya, 3ds Max, SketchUp і Blender.

Blender — це потужна й популярна програма для 3D-моделювання, анімації та рендерингу. Вона працює у Windows, macOS і Linux та доступна безкоштовно на https://www.blender.org.

Модель у Blender

Імпорт у Defold

Щоб імпортувати модель, перетягніть файл .gltf або .glb на панель Assets редактора Defold.

Є два поширені способи зберігання glTF:

  • .glb — це один двійковий файл. Він містить дані моделі, а також може містити упаковані зображення текстур. Це зручно, коли потрібно переміщувати або зберігати модель як один файл.
  • .gltf — це текстовий файл JSON. Зазвичай він посилається на окремий файл .bin з даними сітки (mesh) й окремі зображення текстур, наприклад .png або .jpg. Якщо використовуєте цей варіант, додайте до проєкту всі файли, на які є посилання, і збережіть їхні відносні шляхи без змін.

Якщо модель має використовувати текстуру в Defold, імпортуйте зображення текстури як окремий ресурс. Навіть якщо вихідний файл glTF/GLB містить вбудовані зображення, текстури потрібно призначати компоненту моделі (Model component) через властивості текстур матеріалу компонента.

Імпортовані ресурси моделі

Починаючи з версії 1.13.0, Defold зберігає позиції та трансформації з імпортованого файлу glTF й не центрує модель автоматично під час імпорту. Попередній перегляд у редакторі та середовище виконання узгоджено використовують імпортовані трансформації: сітки зі скінінгом (skinning) або сітки, для яких кістки є батьківськими об’єктами, зберігають свої локальні трансформації відносно скелета, а жорсткі сітки зберігають своє розташування у світовому просторі після сплощення ієрархії.

Якщо модель, створена в старішій версії Defold, після повторного імпорту змінює позицію або орієнтацію, виправте трансформацію в Blender чи іншому інструменті створення моделей і знову експортуйте файл .gltf або .glb.

Використання моделі

Після імпорту моделі використовуйте її в компоненті Model:

  1. Створіть файл Model на панелі Assets за допомогою New... ▸ Model або додайте компонент Model безпосередньо до ігрового об’єкта (game object) за допомогою Add Component ▸ Model.
  2. У властивості Mesh вкажіть імпортований файл .gltf або .glb, що містить сітку.
  3. Для анімованої моделі у властивості Skeleton вкажіть файл .gltf або .glb, що містить скелет. Часто це той самий файл, що й для Mesh, якщо сітку, скелет і анімації експортовано разом.
  4. Створіть файл Animation Set для анімацій і призначте його властивості Animations. Задайте Default Animation, якщо потрібно, щоб анімація запускалася автоматично.
  5. У властивості Material вкажіть матеріал, придатний для моделі. Вбудовані файли model.material, model_instanced.material, model_skinned.material і model_skinned_instanced.material зручно використовувати як основу. Матеріали для скінінгу використовують локальний простір вершин, щоб скінінг міг виконуватися на GPU; власні матеріали для моделей зі скінінгом на GPU або інстансингом (instancing) також мають використовувати локальний простір вершин. Вимогу до графічного адаптера наведено в посібнику з моделей.
  6. У властивостях текстур матеріалу, як-от Texture, вкажіть імпортовані файли зображень текстур. Якщо матеріал використовує кілька текстур, призначте кожну текстуру у відповідному полі текстури матеріалу.

Експорт у glTF

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

  • Докладний опис полігональних сіток можна знайти на http://en.wikipedia.org/wiki/Polygon_mesh.

  • UV-координати й UV-відображення описано на http://en.wikipedia.org/wiki/UV_mapping.

Defold накладає деякі обмеження на експортовані дані анімації:

  • Наразі Defold підтримує лише запечені (baked) анімації. Анімації мають містити матриці для кожної анімованої кістки в кожному ключовому кадрі, а не позицію, поворот і масштаб як окремі ключі.

  • Анімації також інтерполюються лінійно. Якщо ви використовуєте складнішу інтерполяцію за кривими, анімації потрібно попередньо запекти за допомогою засобу експорту.

Вимоги

Під час експорту моделі враховуйте, що підтримка 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