Work in progress
The content of this page was not yet updated for Godot
4.5
and may be outdated. If you know how to improve this page or you can confirm
that it's up to date, feel free to open a pull request.
Використання SoftBody3D
М’які тіла (або динаміка м’яких тіл) імітують рух, зміну форми та інші фізичні властивості об’єктів, що деформуються. Це можна, наприклад, використовувати для імітації тканини або створення більш реалістичних персонажів.
Базове налаштування
Вузол SoftBody3D використовується для моделювання м’яких тіл.
Ми створимо стрибучий куб, щоб продемонструвати налаштування м’якого тіла.
Створіть нову сцену з кореневим вузлом Node3D. Потім створіть вузол SoftBody3D. Додайте CubeMesh до властивості mesh вузла в інспекторі та збільште поділ сітки для симуляції.
Встановіть параметри, щоб отримати тип м'якого тіла, який ви прагнете. Намагайтеся підтримувати Simulation Precision вище 5, інакше м’яке тіло може зруйнуватися.
Примітка
Будьте обережні з деякими параметрами, оскільки деякі значення можуть призвести до дивних результатів. Наприклад, якщо фігура не повністю закрита, і ви встановлюєте тиск більше 0, м’яке тіло буде літати навколо, як поліетиленовий пакет під сильним вітром.
Відтворіть сцену, щоб переглянути симуляцію.
Порада
Щоб покращити результат симуляції, збільште Simulation Precision, це дасть значне покращення за рахунок продуктивності.
Симуляція плаща
Давайте зробимо плащ у демоверсії Platformer3D.
Примітка
Ви можете завантажити демоверсію Platformer3D на GitHub або Бібліотека активів.
Відкрийте сцену Player, додайте вузол SoftBody3D та призначте йому PlaneMesh.
Відкрийте властивості PlaneMesh та встановіть розмір (x: 0.5 y: 1), потім встановіть Subdivide Width та Subdivide Depth на 5. Відрегулюйте положення SoftBody3D. Ви повинні отримати щось подібне:
Порада
Subdivision генерує мозаїчну сітку для кращого моделювання.
Додайте вузол BoneAttachment3D під вузлом скелета та виберіть кістку шиї, щоб прикріпити плащ до скелета персонажа.
Примітка
Вузол BoneAttachment3D призначений для прикріплення об’єктів до кістки арматури. Прикріплений предмет буде слідувати за рухом кістки, таким чином можна прикріпити зброю персонажа.
Щоб створити закріплені з'єднання, виберіть верхні вершини у вузлі SoftBody3D:
Закріплені з'єднання можна знайти у властивості Attachments класу SoftBody3D, виберіть BoneAttachment як SpatialAttachment для кожного закріпленого з'єднання, тепер закріплені з'єднання прикріплені до шиї.
Останній крок – уникнути відсікання, додавши кінематичний елемент Player до поля Parent Collision Ignore елемента SoftBody3D.
Розіграйте сцену, і плащ повинен правильно імітувати.
Це охоплює основні налаштування softbody, експериментуйте з параметрами, щоб досягти ефекту, якого ви прагнете, створюючи свою гру.
Використання імпортованих сіток
Опція Зберегти у файл у діалоговому вікні Додаткові налаштування імпорту дозволяє зберегти сітку в окремий файл ресурсів, який потім можна приєднати до вузлів SoftBody3D.
Ви також можете вимкнути генерацію LOD або змінити параметри генерації LOD під час імпорту сітки для використання з SoftBody3D. Налаштування імпорту за замовчуванням створять LOD, який об'єднує суміжні грані, майже плоскі одна відносно одної, навіть на дуже близьких відстанях рендерингу. Це добре працює для статичних сіток, але часто небажано для використання з SoftBody3D, якщо ви хочете, щоб ці грані могли згинатися та рухатися одна відносно одної, замість того, щоб рендеритися як одна площина.
Див. Імпорт конфігурації та Рівень деталізації сітки (LOD) для отримання додаткової інформації.