Work in progress

The content of this page was not yet updated for Godot 4.4 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.

Використання SoftBody

М’які тіла (або динаміка м’яких тіл) імітують рух, зміну форми та інші фізичні властивості об’єктів, що деформуються. Це можна, наприклад, використовувати для імітації тканини або створення більш реалістичних персонажів.

Базове налаштування

Вузол SoftBody3D використовується для моделювання м’яких тіл.

Ми створимо стрибучий куб, щоб продемонструвати налаштування м’якого тіла.

Створіть нову сцену з вузлом Node3D як root. Потім створіть вузол Softbody. Додайте CubeMesh у властивість mesh вузла в інспекторі та збільште підрозділ сітки для моделювання.

../../_images/softbody_cube.png

Встановіть параметри, щоб отримати тип м'якого тіла, який ви прагнете. Намагайтеся підтримувати Simulation Precision вище 5, інакше м’яке тіло може зруйнуватися.

../../_images/softbody_cube_menu.png

Примітка

Будьте обережні з деякими параметрами, оскільки деякі значення можуть призвести до дивних результатів. Наприклад, якщо фігура не повністю закрита, і ви встановлюєте тиск більше 0, м’яке тіло буде літати навколо, як поліетиленовий пакет під сильним вітром.

Відтворіть сцену, щоб переглянути симуляцію.

Порада

Щоб покращити результат симуляції, збільште Simulation Precision, це дасть значне покращення за рахунок продуктивності.

Симуляція плаща

Давайте зробимо плащ у демоверсії Platformer3D.

Примітка

Ви можете завантажити демоверсію Platformer3D на GitHub або Бібліотека активів.

Відкрийте сцену Player, додайте вузол SoftBody і призначте йому PlaneMesh.

Відкрийте властивості PlaneMesh і встановіть розмір (x: 0,5 y: 1), а потім встановіть Subdivide Width і Subdivide Depth на 5. Налаштуйте положення SoftBody. Ви повинні отримати щось на зразок цього:

../../_images/softbody_cloak_subdivide.png

Порада

Subdivision генерує мозаїчну сітку для кращого моделювання.

Додайте вузол BoneAttachment3D під вузлом скелета та виберіть кістку шиї, щоб прикріпити плащ до скелета персонажа.

Примітка

Вузол BoneAttachment3D призначений для прикріплення об’єктів до кістки арматури. Прикріплений предмет буде слідувати за рухом кістки, таким чином можна прикріпити зброю персонажа.

../../_images/softbody_cloak_bone_attach.png

Щоб створити штифтові з’єднання, виберіть верхні вершини у вузлі SoftBody:

../../_images/softbody_cloak_pinned.png

Штифтові суглоби можна знайти у властивості Attachments SoftBody, виберіть BoneAttachment як SpatialAttachment для кожного штифтового суглоба, тепер штифтові суглоби прикріплено до шиї.

../../_images/softbody_cloak_pinned_attach.png

Останнім кроком є уникнення відрізання шляхом додавання кінематичного тіла Player до Parent Collision Ignore SoftBody.

../../_images/softbody_cloak_ignore.png

Розіграйте сцену, і плащ повинен правильно імітувати.

../../_images/softbody_cloak_finish.png

Це охоплює основні налаштування softbody, експериментуйте з параметрами, щоб досягти ефекту, якого ви прагнете, створюючи свою гру.