Usando SoftBody¶
Corpos moles (ou dinâmica de corpo mole) simulam movimento, alterando a forma e outras propriedades físicas de objetos deformáveis. Isso pode, por exemplo, ser usado para simular tecido ou para criar personagens mais realistas.
Configuração básica¶
Um nó SoftBody é usado para simulações de soft body.
Vamos criar um cubo saltitante para demonstrar a configuração de um corpo mole.
Crie uma nova cena com um nó Spatial
como raiz. Em seguida, crie um nó Softbody
. Adicione um CubeMesh
na propriedade mesh
do nó no inspetor e aumente a subdivisão da malha para simulação.
Defina os parâmetros para obter o tipo de corpo macio que você deseja. Tente manter a Simulation Precision
acima de 5, caso contrário, o corpo mole pode entrar em colapso.
Nota
Manuseie alguns parâmetros com cuidado, pois alguns valores podem levar a resultados estranhos. Por exemplo, se a forma não estiver completamente fechada e você definir a pressão para mais de 0, o softbody voará como um saco plástico sob vento forte.
Execute a cena para ver a simulação.
Dica
To improve the simulation's result, increase the Simulation Precision
, this will give significant improvement at the cost of performance.
Simulação de capa¶
Let's make a cloak in the Platformer3D demo.
Nota
You can download the Platformer3D demo on GitHub or the Asset Library.
Open the Player
scene, add a SoftBody
node and assign a PlaneMesh
to it.
Open the PlaneMesh
properties and set the size(x: 0.5 y: 1) then set Subdivide Width
and Subdivide Depth
to 5. Adjust the SoftBody
's position. You should end up with something like this:
Dica
Subdivision generates a more tessellated mesh for better simulations.
Add a BoneAttachment node under the skeleton node and select the Neck bone to attach the cloak to the character skeleton.
Nota
BoneAttachment
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.
To create pinned joints, select the upper vertices in the SoftBody
node:
The pinned joints can be found in SoftBody
's Attachments
property, choose the BoneAttachment
as the SpatialAttachment
for each pinned joints, the pinned joints are now attached to the neck.
Last step is to avoid clipping by adding the Kinematic Body Player to Parent Collision Ignore
of the SoftBody
.
Play the scene and the cloak should simulate correctly.
This covers the basic settings of softbody, experiment with the parameters to achieve the effect you are aiming for when making your game.