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
Цей глосарій стисло описує все, з чим ви стикаєтеся в Defold. У більшості випадків ви знайдете посилання на докладнішу документацію.
Ресурс набору анімацій (animation set) містить список файлів glTF або інших файлів .animationset, з яких зчитуються анімації. Додавати один файл .animationset до іншого зручно, якщо кілька моделей використовують спільні часткові набори анімацій. Докладніше див. у посібнику з анімації моделей.
Атлас (atlas) — це набір окремих зображень, які об’єднуються в більший аркуш для підвищення продуктивності й ощадливішого використання пам’яті. Атласи можуть містити статичні зображення або послідовності зображень для покадрової анімації. Різні компоненти (components) використовують атласи для спільного доступу до графічних ресурсів. Докладніше див. у документації з атласів.
Папка проєкту builtins доступна лише для читання й містить корисні стандартні ресурси. Тут ви знайдете стандартний рендерер, скрипт рендерингу, матеріали тощо. Якщо вам потрібно змінити будь-який із цих ресурсів, просто скопіюйте його до свого проєкту й відредагуйте відповідно до потреб.
Компонент камери допомагає визначити, яку частину ігрового світу слід показувати та як її проєктувати. Камеру часто прикріплюють до ігрового об’єкта (game object) гравця або до окремого ігрового об’єкта, який стежить за гравцем за допомогою певного алгоритму згладжування. Докладніше див. у документації з камер.
Об’єкти колізій (collision objects) — це компоненти, що надають ігровим об’єктам фізичних властивостей (наприклад, просторової форми, ваги, тертя та пружності). Ці властивості визначають, як об’єкт колізій має зіштовхуватися з іншими об’єктами колізій. Найпоширеніші типи об’єктів колізій — кінематичні об’єкти, динамічні об’єкти й тригери. Кінематичний об’єкт надає докладну інформацію про колізії, на яку ви маєте реагувати вручну, а динамічний об’єкт автоматично симулюється фізичним рушієм відповідно до законів ньютонівської фізики. Тригери — це прості форми, які виявляють, коли інші форми входять у тригер або виходять із нього. Докладніше про це див. у документації з фізики.
Компоненти надають ігровим об’єктам певного вигляду та/або функціональності, як-от графіки, анімації, запрограмованої поведінки та звуку. Вони не існують самостійно й мають міститися всередині ігрових об’єктів. У Defold доступно багато різновидів компонентів. Опис компонентів див. у посібнику з будівельних блоків.
Колекції (collections) — це механізм Defold для створення шаблонів, які в інших рушіях називаються «префабами» (prefabs), що дають змогу повторно використовувати ієрархії ігрових об’єктів. Колекції — це деревоподібні структури, які містять ігрові об’єкти та інші колекції. Колекція завжди зберігається у файлі й додається до гри або статично, шляхом ручного розміщення в редакторі, або динамічно, шляхом створення під час виконання. Опис колекцій див. у посібнику з будівельних блоків.
Компонент фабрики колекцій (collection factory) використовується для динамічного створення ієрархій ігрових об’єктів у запущеній грі. Докладніше див. у посібнику з фабрик колекцій.
Проксі колекції (collection proxy) використовується для завантаження й увімкнення колекцій на льоту, під час роботи застосунку чи гри. Найчастіше проксі колекцій використовують для завантаження рівнів, коли настає час їх проходити. Докладніше див. у документації з проксі колекцій.
Кубічна текстура (cubemap) — це особливий тип текстури, що складається з 6 різних текстур, накладених на грані куба. Вона корисна для рендерингу скайбоксів і різних карт відбиття та освітлення.
Рано чи пізно ваша гра поводитиметься неочікувано, і вам потрібно буде з’ясувати, що пішло не так. Налагодження — це мистецтво, і, на щастя, Defold містить вбудований налагоджувач, який допоможе вам у цьому. Докладніше див. у посібнику з налагодження.
Файл ресурсу профілів дисплея використовується для визначення макетів GUI залежно від орієнтації, співвідношення сторін або моделі пристрою. Він допомагає пристосувати інтерфейс до будь-яких пристроїв. Докладніше читайте в посібнику з макетів.
У деяких ситуаціях ви не можете вручну розмістити всі потрібні ігрові об’єкти в колекції — їх потрібно створювати динамічно, на льоту. Наприклад, гравець може стріляти кулями, і кожну кулю слід динамічно створювати й запускати щоразу, коли гравець натискає на спусковий гачок. Для динамічного створення ігрових об’єктів (із заздалегідь виділеного пулу об’єктів) використовується компонент-фабрика (factory). Докладніше див. у посібнику з фабрик.
Ресурс шрифту створюється з файлу шрифту TrueType або OpenType. Він визначає розмір шрифту під час рендерингу та його оздоблення (контур і тінь). Шрифти використовуються компонентами GUI та написів. Докладніше див. у посібнику зі шрифтів.
Це програма, яка виконується на графічному процесорі для кожного пікселя (фрагмента) полігона під час його малювання на екрані. Завдання фрагментного шейдера — визначити колір кожного отриманого фрагмента. Для цього використовуються обчислення, вибірки з текстур (одна чи кілька) або поєднання вибірок та обчислень. Докладніше див. у посібнику з шейдерів.
Файл ресурсу геймпадів визначає, як введення з конкретного геймпада зіставляється з тригерами введення геймпада на певній платформі. Докладніше див. у посібнику з введення.
Ігрові об’єкти — це прості об’єкти з окремим часом існування під час виконання гри. Ігрові об’єкти є контейнерами й зазвичай містять візуальні або звукові компоненти, наприклад звук чи спрайт. Їм також можна надати поведінку за допомогою компонентів-скриптів. Ви створюєте ігрові об’єкти й розміщуєте їх у колекціях у редакторі або створюєте їх динамічно під час виконання за допомогою фабрик. Опис ігрових об’єктів див. у посібнику з будівельних блоків.
Компонент GUI містить елементи для побудови інтерфейсів користувача: текст, а також блоки з кольором та/або текстурою. Елементи можна організовувати в ієрархічні структури, керувати ними через скрипти й анімувати. Компоненти GUI зазвичай використовують для створення ігрових індикаторів, систем меню та екранних сповіщень. Ними керують скрипти GUI, які визначають поведінку GUI та взаємодію користувача з ним. Докладніше читайте в документації з GUI.
Скрипти GUI використовуються для керування поведінкою компонентів GUI. Вони керують анімаціями GUI та взаємодією користувача з GUI. Докладніше про використання скриптів Lua в Defold див. у посібнику з Lua в Defold.
Редактор Defold дає змогу оновлювати вміст уже запущеної гри як на комп’ютері, так і на пристрої. Це надзвичайно потужна можливість, яка може значно поліпшити процес розробки. Докладніше див. у посібнику з гарячого перезавантаження.
Файли прив’язок введення визначають, як гра має інтерпретувати введення з обладнання (миші, клавіатури, сенсорного екрана та геймпада). Файл прив’язує введення з обладнання до високорівневих дій введення, як-от “jump” і “move_forward”. У компонентах-скриптах, які обробляють введення, ви можете запрограмувати дії гри чи застосунку у відповідь на певне введення. Докладніше див. у документації з введення.
Компонент напису (label) дає змогу прикріпити текст до будь-якого ігрового об’єкта. Він відображає на екрані фрагмент тексту певним шрифтом в ігровому просторі. Докладніше див. у посібнику з написів.
Defold дає змогу спільно використовувати дані в різних проєктах завдяки потужному механізму бібліотек. За його допомогою можна налаштувати спільні бібліотеки, доступні з усіх ваших проєктів — особисто для вас або для всієї команди. Докладніше про механізм бібліотек читайте в документації з бібліотек.
Мова програмування Lua використовується в Defold для створення ігрової логіки. Lua — потужна, ефективна й дуже компактна скриптова мова. Вона підтримує процедурне, об’єктно-орієнтоване, функціональне програмування, програмування на основі даних та опис даних. Докладніше про мову можна прочитати на офіційному сайті Lua за адресою https://www.lua.org/ та в посібнику з Lua в Defold.
Модулі Lua дають змогу структурувати проєкт і створювати бібліотечний код для повторного використання. Докладніше читайте в посібнику з модулів Lua
Матеріали визначають, як слід рендерити різні об’єкти, задаючи шейдери та їхні властивості. Докладніше див. у посібнику з матеріалів.
Компоненти спілкуються між собою та з іншими системами через передавання повідомлень. Компоненти також реагують на набір заздалегідь визначених повідомлень, які змінюють їх або запускають певні дії. Ви надсилаєте повідомлення, щоб приховати графіку або штовхнути фізичні об’єкти. Рушій також використовує повідомлення, щоб сповіщати компоненти про події, наприклад про зіткнення фізичних форм. Механізм передавання повідомлень потребує отримувача для кожного надісланого повідомлення. Тому все в грі має унікальну адресу. Щоб забезпечити спілкування між об’єктами, Defold розширює Lua механізмом передавання повідомлень. Defold також надає бібліотеку корисних функцій.
Наприклад, код Lua, потрібний для приховування компонента спрайта на ігровому об’єкті, має такий вигляд:
msg.post("#weapon", "disable")
Тут "#weapon" — це адреса компонента спрайта поточного об’єкта. "disable" — повідомлення, на яке реагують компоненти спрайтів. Докладне пояснення роботи механізму передавання повідомлень див. у документації з передавання повідомлень.
Компонент 3D-моделі дає змогу імпортувати у гру ресурси сіток, скелетів та анімацій у форматі glTF. Докладніше див. у посібнику з моделей.
Частинки дуже корисні для створення гарних візуальних ефектів, особливо в іграх. Ви можете використовувати їх для створення туману, диму, вогню, дощу чи листя, що падає. Defold містить потужний редактор ефектів частинок (ParticleFX), який дає змогу створювати й налаштовувати ефекти, поки вони відтворюються у грі в реальному часі. Докладніше про це див. у документації з ефектів частинок.
Висока продуктивність має ключове значення для ігор, тому вкрай важливо вміти профілювати продуктивність і використання пам’яті, щоб вимірювати показники гри та виявляти вузькі місця продуктивності й проблеми з пам’яттю, які потрібно усунути. Докладніше про інструменти профілювання, доступні для Defold, див. у посібнику з профілювання.
Файли рендерингу містять налаштування, які використовуються для рендерингу гри на екрані. Вони визначають, який скрипт рендерингу та які матеріали слід використовувати. Докладніше див. у посібнику з рендерингу.
Скрипт рендерингу — це скрипт Lua, який керує відображенням гри чи застосунку на екрані. Є стандартний скрипт рендерингу, що охоплює найпоширеніші випадки, але ви можете написати власний, якщо вам потрібні особливі моделі освітлення та інші ефекти. Докладніше про роботу конвеєра рендерингу див. у посібнику з рендерингу, а про використання скриптів Lua в Defold — у посібнику з Lua в Defold.
Скрипт — це компонент, що містить програму, яка визначає поведінку ігрових об’єктів. За допомогою скриптів можна визначати правила гри та реакції об’єктів на різні взаємодії (як із гравцем, так і з іншими об’єктами). Усі скрипти написані мовою програмування Lua. Щоб працювати з Defold, вам або комусь у вашій команді потрібно навчитися програмувати мовою Lua. Огляд Lua та подробиці використання скриптів Lua в Defold див. у посібнику з Lua в Defold.
Компонент звуку відповідає за відтворення певного звуку. Defold підтримує файли WAV, Ogg Vorbis та Ogg Opus. Підтримку Opus потрібно ввімкнути в App Manifest. Докладніше див. у посібнику зі звуку.
Спрайт — це компонент, який надає ігровим об’єктам графіку. Він відображає зображення з джерела плиток або атласу. Спрайти мають вбудовану підтримку покадрової та кісткової анімації. Спрайти зазвичай використовують для персонажів і предметів.
Файл ресурсу профілів текстур використовується під час пакування для автоматичної обробки й стиснення даних зображень (в атласах, джерелах плиток, кубічних текстурах та окремих текстурах, які використовуються для моделей, GUI тощо). Докладніше читайте в посібнику з профілів текстур.
Компоненти карти плиток відображають зображення з джерела плиток в одній або кількох накладених сітках. Їх найчастіше використовують для побудови ігрового оточення: землі, стін, будівель і перешкод. Карта плиток може відображати кілька шарів, вирівняних один над одним, із заданим режимом змішування. Це корисно, наприклад, щоб розмістити листя поверх фонових плиток із травою. Також можна динамічно змінювати зображення, яке відображається на плитці. Це дає змогу, наприклад, зруйнувати міст і зробити його непрохідним, просто замінивши плитки на такі, що зображають зруйнований міст і містять відповідну фізичну форму. Докладніше див. у документації з карт плиток.
Джерело плиток (tile source) описує текстуру, що складається з кількох менших зображень однакового розміру. Ви можете визначати покадрові анімації з послідовності зображень у джерелі плиток. Джерела плиток також можуть автоматично обчислювати форми колізій із даних зображень. Це дуже корисно для створення рівнів із плиток, з якими об’єкти можуть зіштовхуватися та взаємодіяти. Джерела плиток використовуються компонентами карти плиток (а також спрайтами й ефектами частинок) для спільного доступу до графічних ресурсів. Зауважте, що атласи часто підходять краще, ніж джерела плиток. Докладніше див. у документації з карт плиток.
Вершинний шейдер обчислює екранну геометрію примітивних полігональних форм компонента. Для будь-якого візуального компонента — спрайта, карти плиток чи моделі — форма подається набором позицій вершин полігонів. Програма вершинного шейдера обробляє кожну вершину (у світовому просторі) та обчислює кінцеву координату кожної вершини примітива. Докладніше див. у посібнику з шейдерів.