Work in progress
The content of this page was not yet updated for Godot
4.2
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.
Usando SoftBody¶
Los cuerpos blandos (o dinámica de cuerpos blandos) simulan el movimiento, el cambio de forma y otras propiedades físicas de los objetos deformables. Esto puede ser usado, por ejemplo, para simular la tela o para crear personajes más realistas.
Configuración básica¶
A SoftBody3D node is used for soft body simulations.
Crearemos un cubo de rebote para demostrar la configuración de un cuerpo blando.
Create a new scene with a Node3D
node as root. Then, create a Softbody
node. Add a CubeMesh
in the mesh
property of the node in the inspector and increase the subdivision of the mesh for simulation.
Establezca los parámetros para obtener el tipo de cuerpo blando al que apunta. Intenta mantener la Simulation Precision
por encima de 5, de lo contrario, el cuerpo blando puede colapsar.
Nota
Maneja algunos parámetros con cuidado, ya que algún valor puede llevar a resultados extraños. Por ejemplo, si la forma no está completamente cerrada y se establece la presión a más de 0, el cuerpo blando volará como una bolsa de plástico bajo un viento fuerte.
Ejecuta la escena para ver la simulación.
Truco
Para mejorar el resultado de la simulación, aumentar la Simulation Precision
, esto dará una mejora significativa a costa del rendimiento.
Simulación de una capa¶
Hagamos una capa en la demo de Platformer3D.
Nota
Puede descargar la demo de Platformer3D en GitHub <https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer> o en The Asset Library.
Abre la escena Player
, añade un nodo SoftBody
y asígnale una PlaneMesh
.
Abre las propiedades de PlaneMesh
y establece el tamaño (x: 0.5 y: 1) luego establece Subdivide Width
y Subdivide Depth
a 5. Ajusta la posición del SoftBody
. Deberías terminar con algo como esto:
Truco
La subdivisión genera una malla más teselada para mejores simulaciones.
Add a BoneAttachment3D node under the skeleton node and select the Neck bone to attach the cloak to the character skeleton.
Nota
BoneAttachment3D
node is to attach objects to a bone of a armature. The attached object will follow the bone's movement, weapon of a character can be attached this way.
Para crear uniones fijas, selecciona los vértices superiores en el nodo SoftBody
:
Las articulaciones fijas se pueden encontrar en la propiedad de los Attachments
del SoftBody
, elige el BoneAttachment
como el SpatialAttachment
para cada articulación (joint) fija, las articulaciones (joints) fijas están ahora unidas al cuello.
El último paso es evitar recortes añadiendo el Kinematic Body Player
al Parent Collision Ignore
del SoftBody
.
Reproduce la escena y la capa deberia simularse correctamente.
Esto cubre los ajustes básicos de softbody, experimenta con los parámetros para conseguir el efecto que desees al hacer tu juego.