14-09-2026, 11:06 PM
Hey,
So I moved on to some other things, we have a rope with a world-space solver (not same as character solver as we want to pin far in the world) pinned to a character's hand. There's no ObiRigidbody on the character, so we pin particles ourselves each step similar to the static ObiParticleAttachment does (invMass 0, position written at simulation start).
Since the character is on the moving platform with a constant velocity, the pin becomes a "teleport per step", and since kinematic particles have their velocity zeroed every substep the whole displacement is resolved in the first substep. This means the neighbouring particles get a velocity spike and the rope jitters.
I currently work around this by letting invMass-0 particles keep an assigned velocity (no zeroing/damping/sleep for them) and setting velocity = (target − position) / stepTime at simulation start. So the pin sweeps across the substeps like a kinematic rigidbody. This means I had to add custom CustomUpdateVelocitiesJob, CustomUpdatePositionsJob jobs and modify the schedule points.
Would you consider supporting something similar, or make it non intrustive to replace jobs?
Thanks again
So I moved on to some other things, we have a rope with a world-space solver (not same as character solver as we want to pin far in the world) pinned to a character's hand. There's no ObiRigidbody on the character, so we pin particles ourselves each step similar to the static ObiParticleAttachment does (invMass 0, position written at simulation start).
Since the character is on the moving platform with a constant velocity, the pin becomes a "teleport per step", and since kinematic particles have their velocity zeroed every substep the whole displacement is resolved in the first substep. This means the neighbouring particles get a velocity spike and the rope jitters.
I currently work around this by letting invMass-0 particles keep an assigned velocity (no zeroing/damping/sleep for them) and setting velocity = (target − position) / stepTime at simulation start. So the pin sweeps across the substeps like a kinematic rigidbody. This means I had to add custom CustomUpdateVelocitiesJob, CustomUpdatePositionsJob jobs and modify the schedule points.
Would you consider supporting something similar, or make it non intrustive to replace jobs?
Thanks again

