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.