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¶
Un nodo SoftBody se usa para simulaciones de cuerpos blandos.
Crearemos un cubo de rebote para demostrar la configuración de un cuerpo blando.
Crear una nueva escena con un nodo Spatial
como raíz. Luego, crea un nodo Softbody
. Añade una CubeMesh
en la propiedad mesh
del nodo en el inspector y aumenta la subdivisión de la malla para la simulación.

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.
Añade un nodo BoneAttachment bajo el nodo del esqueleto y selecciona el hueso del cuello para unir la capa al esqueleto del personaje.
Nota
El nodo BoneAttachment
es para acoplar objetos a un hueso de una armadura. El objeto adjunto seguirá el movimiento del hueso, el arma de un personaje puede ser adjuntada de esta manera.

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.