I'm currently messing around with the new SpringBoneSimulator3D node. The idea is to attach a mesh sphere to a character as a visual representation of a jiggly slime. I can't find any information on how to handle collisions between two such nodes. I saw that there are SpringBoneCollision3D nodes, but they have to be children of SpringBoneSimulator3D for them to work. It doesn't make sense to me - why was this node added natively if there were Jiggle Bone and Wiggle Bone addons, and their main problem was that they didn't handle collisions between their entities at all? If anyone has information on how to do this correctly, please let me know.
I was about to post a similar issue. I am trying to get my SpringBoneSimulator3D which is nested under a simple Skeleton3D bone chain (think like a tentacle) to interact with RigidBody3Ds and StaticBody3Ds. The best I could find is chaining the SpringBoneSimulator3D with PhysicalBoneSimulator3D under the Skeleton3D, since they are both SkeletonModifier3D, and create the physical skeleton bones. I have the SpringBoneSim first then the PhysicalBoneSim. However, I need to turn the PhysicalBoneSimulator3D active on but do not start the simulation. This at least gets the CollisionShape3Ds which are automatically created with the physical skeleton bones to move and and sway with the SpringBoneSimulator3D. They collide with Rigid bodies, but the bones and mesh just go through Static bodies and do not collide/stop. So there really isn’t any “physical” interaction.
The SpringBoneCollision3D nodes seem to stop the SpringBoneSimulator3D from entering in the specific collision shape, or keeps it within the shape, and does not a act as the collision shape of the SpringBoneSimulator3D, which seems pointless.
There is one thing I don’t understand with the setup in my last reply. The PhysicalBone3Ds do interact with RidgeBody3Ds and CharacterBody3Ds, but the PhysicalBone3Ds do not have any linear or angular velocity. All movement is handled by the SpringBoneSimulator3D. However, when the PhysicalBone3D’s collision shapes collide with RidgeBody3Ds, the ridge bodies “gain” linear and angular velocity and fly off (Gravity Scale set to 0 on the RB3D). Where does this velocity come from and how was it calculated?
When the PhysicalBone3D collide with the CharacterBody3D, the character moves, but does not have any velocity. There is also a “stickiness” of the bone chain and the character. Both the PhysicalBone3D and CharacterBody3D are inherited from PhysicsBody3D, so they have the move_and_collide() function. But with the PhysicalBoneSimulator3D’s simulation stopped, that function doesn’t do anything.
I am wondering how I can get the velocities of the bones during the Spring Bone Simulation so that I can make calculations to apply to the CharacterBody3D to knock it around like the RidgeBody3Ds?
Yeah I have this problems too. I need to be able to use BoneAttachment3D for parenting the SpringBoneCollision3D so that My hand can interact with the Hair.
Im trying to use the BoneAttachment3D and using the External Skeleton for it to be able to make the parent of the Bone into SpringBoneSimulator3D.
But it’s still giving me a warning and still can’t interact to the spring bone.
Perhaps if there is some new update from Godot to be able to add an External Skeleton for SpringBoneCollision3D, maybe there is a chance that might be able to fix you guys problems