Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Оновлення з Godot 4.1 до Godot 4.2
Для більшості ігор і програм, створених за допомогою 4.1, перехід на 4.2 має бути відносно безпечним. На цій сторінці описано все, на що потрібно звернути увагу під час міграції вашого проекту.
Ломальні зміни
Якщо ви переходите з 4.1 на 4.2, перелічені тут критичні зміни можуть вплинути на вас. Зміни згруповано за сферами/системами.
Попередження
Формат ресурсу Mesh змінено в 4.2, щоб дозволити стиск вершин і атрибутів. Це дозволяє підвищити продуктивність візуалізації, особливо на платформах, обмежених пропускною здатністю пам’яті, наприклад мобільних.
Все ще можна завантажити формати Godot 4.0-4.1 Mesh, але не можливо завантажити формат Godot 4.2 Mesh у попередніх версіях Godot. Під час відкриття проекту Godot, створеного з версією до 4.2, вам може відобразитися діалогове вікно оновлення, яке пропонує два варіанти:
Перезапуск і оновлення: оновлює формат сітки для всіх сіток у проекті та зберігає результат на диск. Після вибору цей параметр запобігає поверненню проекту до версії Godot, ранішої за 4.2. Налаштуйте систему контролю версій і внесіть свої зміни перед вибором цієї опції!
Лише оновлення: оновлює формат сітки в пам’яті без запису на диск. Це дозволяє знизити версію проекту до версії Godot, старішої за 4.2, якщо вам знадобиться це зробити в майбутньому. Недоліком є те, що завантаження проекту відбуватиметься повільніше щоразу, оскільки формат сітки потрібно оновлювати щоразу, коли завантажується проект. Ці збільшення часу завантаження також вплинуть на експортований проект. Кількість і складність ресурсів Mesh визначає, наскільки це впливає на час завантаження.
Якщо це діалогове вікно не з’являється, скористайтеся Проект > Інструменти > Оновити сітчасті поверхні… у верхній частині редактора.
У цій статті вказується, чи кожна порушна зміна впливає на GDScript і чи є порушна зміна C# бінарною сумісністю чи сумісною з джерелом:
Сумісність із двійковими файлами – наявні двійкові файли завантажуватимуться та успішно виконуватимуться без повторної компіляції, а поведінка під час виконання не зміниться.
Сумісність із вихідним кодом – вихідний код буде успішно скомпільовано без змін під час оновлення Godot.
Ядро
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
вузол |
||||
Константу |
❌ |
✔️ |
❌ |
Анімація
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
Програвач анімації |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Сигнал |
✔️ |
❌ |
❌ |
|
Сигнал |
✔️ |
❌ |
❌ |
|
Сигнал |
✔️ |
✔️ |
✔️ |
|
Сигнал |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Сигнал |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Дерево анімації |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Сигнал |
✔️ |
❌ |
❌ |
|
Сигнал |
✔️ |
❌ |
❌ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
❌ |
❌ |
Вузли GUI
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
Спливаюче меню |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
RichTextLabel |
||||
Метод |
✔️ |
✔️ |
✔️ |
Рендеринг
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
Імпортер сітки |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
❌ |
❌ |
|
Інструмент даних сітки |
||||
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
❌ |
❌ |
|
RenderingDevice |
||||
Поле Enum |
✔️ |
✔️ |
✔️ |
|
Поле Enum |
✔️ |
✔️ |
✔️ |
|
Поле Enum |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
✔️ |
✔️ |
|
Метод |
✔️ |
❌ |
❌ |
|
Інструмент SurfaceTool |
||||
Метод |
✔️ |
✔️ |
✔️ |
текст
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
Шрифт |
||||
Метод |
✔️ |
❌ |
❌ |
|
Метод |
✔️ |
❌ |
❌ |
|
Метод |
✔️ |
✔️ |
✔️ |
Редагування графіка
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
Редагування графіка |
||||
Властивість |
❌ |
✔️ |
✔️ |
|
Метод |
❌ |
✔️ |
✔️ |
|
Властивість |
❌ |
✔️ |
✔️ |
|
Властивість |
❌ |
✔️ |
✔️ |
|
Вузол графіка |
||||
Властивість |
❌ |
❌ |
❌ |
|
Сигнал |
❌ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Сигнал |
✔️ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Метод |
❌ |
❌ |
❌ |
|
Властивість |
❌ |
❌ |
❌ |
|
Сигнал |
✔️ |
✔️ |
✔️ |
|
Сигнал |
✔️ |
✔️ |
✔️ |
|
Властивість |
❌ |
❌ |
❌ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Сигнал |
✔️ |
✔️ |
✔️ |
|
Сигнал |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
❌ |
❌ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Властивість |
✔️ |
✔️ |
✔️ |
|
Властивість |
❌ |
❌ |
❌ |
|
Властивість |
❌ |
❌ |
❌ |
Плитка карти
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
Плитка карти |
||||
Властивість |
❌ |
✔️ |
✔️ |
XR
Зміна |
Сумісність з GDScript |
C# двійковий сумісний |
Сумісність із вихідним кодом C# |
Введено |
|---|---|---|---|---|
XRIінтерфейс |
||||
Додано властивість |
✔️ |
❌ |
❌ |
Примітка
Ця зміна порушує сумісність у C#, оскільки нова властивість конфліктує з іменем існуючого enum, а генератор прив’язок C# надає пріоритет властивостям, тому тип enum було перейменовано з EnvironmentBlendMode на EnvironmentBlendModeEnum.