I'm working on making something akin to a catheter or endoscope in VR that should have some flex when colliding against an object but shouldn't crazily deform and should always return to rest position after colliding. When grabbing the catheter and pushing it against a cube, despite my ObiRod blueprint being set to "Keep Initial Shape," I'm experiencing odd collision behavior that can be seen in the attached video. Does anyone have advice on how to modify the solver, blueprint, or rod so that it has my desired rigidity with mild flex and no odd collision behavior?
Looks to me there is one particle wrongly set position/collides with something. You can attach an ObiParticleRenderer to confirm it. Do you have any special config/coding for this particle? More details about your config/code is need for troubleshooting. BTW have you tried claude code to diagnose this problem?
31-03-2026, 07:19 AM (This post was last modified: 01-04-2026, 10:02 PM by josemendez.)
Hi,
If I had to take a guess, I’d say your constraints are completely disabled (Stretch/shear and Bend/twist constraints, in the ObiSolver component under the “Constraints settings” foldout) and that you’re moving the entire solver around instead of the rod.
I’d need to take a look at your solver, blueprint and rod setting to properly diagnose this, though.
If I had to take a guess, I’d say your constraints are completely disabled (Stretch/shear and Bend/twist constraints, in the ObiSolver component under the “Constraints” foldout) and that you’re moving the entire solver around instead of the rod.
I’d need to take a look at your solver, blueprint and rod setting to properly diagnose this, though.
Kind regards,
The constraints are enabled but I am moving the entire solver around. The issue is that if I reparent it such that the ObiSolver is the root object, the cylindrical handle is its child, and the ObiRod is a child of the handle, then the rod doesn't move if I pick up and grab the handle. It only moves if I have the solver as a child of the handle. Is there something I'm doing wrong in terms of configuration here?
Also, I'll attach the images you requested.
01-04-2026, 09:56 PM (This post was last modified: 01-04-2026, 10:29 PM by josemendez.)
(01-04-2026, 09:30 PM)violinviolin19 Wrote: The constraints are enabled
I wasn’t referring to the individual ObiRod component constraints (the ones shown in your screenshot), but the global constraint settings. Those are found in the ObiSolver component, under the “constraint settings” foldout as previously mentioned. These control constraints for all rods/ropes/actors involved in the simulation performed by the solver. See: https://obi.virtualmethodstudio.com/manu...olver.html
(01-04-2026, 09:30 PM)violinviolin19 Wrote: but I am moving the entire solver around. The issue is that if I reparent it such that the ObiSolver is the root object, the cylindrical handle is its child, and the ObiRod is a child of the handle, then the rod doesn't move if I pick up and grab the handle. It only moves if I have the solver as a child of the handle. Is there something I'm doing wrong in terms of configuration here?
Also, I'll attach the images you requested.
The solver represents the inertial reference frame in which simulation is performed. In your case it’s clear you don’t want to be moving the entire reference frame, but the rod.
(01-04-2026, 09:56 PM)josemendez Wrote: I wasn’t referring to the individual ObiRod component constraints (the ones shown in your screenshot), but the global constraint settings. Those are found in the ObiSolver component, under the “constraint settings” foldout as previously mentioned. These control constraints for all rods/ropes/actors involved in the simulation performed by the solver. See: https://obi.virtualmethodstudio.com/manu...olver.html
The solver represents the inertial reference frame in which simulation is performed. In your case it’s clear you don’t want to be moving the entire reference frame, but the rod.
Also see the included sample scenes, most use attachments in various ways, those may be helpful.
Kind regards,
Thank you so much for the response! I enabled these parameters and used the particle attachment and now I'm experiencing much more realistic behavior without moving the solver. The one thing remaining is that the rod moves sort of like a whip currently and is very wobbly. I'm looking for a very rigid catheter that gently flexes against colliding objects. I've set all the bend and stretching constraints to 0 but I'm unsure what other settings are needed to increase stiffness.
(03-04-2026, 04:27 PM)violinviolin19 Wrote: I'm looking for a very rigid catheter that gently flexes against colliding objects. I've set all the bend and stretching constraints to 0 but I'm unsure what other settings are needed to increase stiffness.
The main parameter that controls simulation quality and reachable stiffness is the amount of substeps. You can set this in the ObiSolver component.
(06-04-2026, 08:01 AM)josemendez Wrote: The main parameter that controls simulation quality and reachable stiffness is the amount of substeps. You can set this in the ObiSolver component.
Thanks, that's great! One last thing- I'm attempting to make a catheter that can bend at the tip via controller input (without an external force) and I'm struggling to get started with that. I have control points defining the top and bottom of the tip and I just want the particles there to bend into a candy cane shape and back without lengthening or affecting the rest of the catheter. Any tips?
17-04-2026, 08:39 AM (This post was last modified: 17-04-2026, 08:39 AM by josemendez.)
(16-04-2026, 07:32 PM)violinviolin19 Wrote: Thanks, that's great! One last thing- I'm attempting to make a catheter that can bend at the tip via controller input (without an external force) and I'm struggling to get started with that. I have control points defining the top and bottom of the tip and I just want the particles there to bend into a candy cane shape and back without lengthening or affecting the rest of the catheter. Any tips?
Hi!
You should change the rest darboux vector of bend/twist constraints. It's a quaternion that determines the local rest shape of the rod.