SoftBody as player: Apply forces, move, jump

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By baumschubser

I have a SoftBody with a sphere mesh (imported obj, since the Godot sphere shape is not closed). I want to control this soft ball like a player figure, e.g. jump.

KinematicBody has move_and_slide and I can apply forces to RigidBody. How can I move my SoftBody?

:bust_in_silhouette: Reply From: Magso

The softbody has no such methods, it will need to be parented or attached to a kinematicbody or rigidbody and code all the movement in _physics_process. Moving in _process will cause the softbody to lag behind.

Thank you for your answer! Unfortunately, it does not work for me. What I have:

RigidBody with child nodes

  • MeshInstance
  • CollisionShape
  • SoftBody (ignore collisions in this RigidBody)

When I move the RigidBody in _physics_process with self.apply_impulse(Vector3(0,0,0),direction), the RigidBody (the MeshInstance) moves, but the SoftBody stands still.

When I use KinematicBody instead of RigidBody it is the same.

Maybe I ran into this issue?

baumschubser | 2020-01-06 22:07