Search Forums

(Advanced Search)

Latest Threads
Extending rope by pulling...
Forum: Obi Rope
Last Post: trentthebaker
09-01-2026, 03:58 PM
» Replies: 0
» Views: 136
Managing dynamic constrai...
Forum: General
Last Post: josemendez
09-01-2026, 09:54 AM
» Replies: 1
» Views: 246
Emit rope like silly stri...
Forum: Obi Rope
Last Post: josemendez
09-01-2026, 09:17 AM
» Replies: 8
» Views: 662
Non-uniform particle dist...
Forum: Obi Rope
Last Post: chenji
09-01-2026, 02:56 AM
» Replies: 11
» Views: 3,744
Setting velocity to 0
Forum: Obi Cloth
Last Post: Qriva0
22-12-2025, 11:26 AM
» Replies: 7
» Views: 1,052
Cloth backside collision ...
Forum: Obi Cloth
Last Post: Qriva0
19-12-2025, 10:07 AM
» Replies: 7
» Views: 1,347
Following Seas - Made wit...
Forum: Made with Obi
Last Post: josemendez
19-12-2025, 09:56 AM
» Replies: 1
» Views: 337
Obi 8: what's coming up
Forum: Announcements
Last Post: josemendez
12-12-2025, 08:41 AM
» Replies: 8
» Views: 1,886
Correct way to update mes...
Forum: Obi Fluid
Last Post: Voxelboy
10-12-2025, 12:48 AM
» Replies: 2
» Views: 612
How to make crane wire be...
Forum: Obi Rope
Last Post: chenji
09-12-2025, 10:47 AM
» Replies: 4
» Views: 1,109

 
  Extending rope by pulling on cursor end
Posted by: trentthebaker - 09-01-2026, 03:58 PM - Forum: Obi Rope - No Replies

Hi there,

I've recently been learning the ropes of Obi Rope and am very excited to work with it! I have a question that I haven't quite found a satisfying answer to. I have a rope which is attached to 2 rigidbodies with dynamic particle attachments. For testing, Body A is kinematic and Body B is not. I want to extend the rope when Body B is moving such that the rope is taut and needs more length to keep up- that is, Body B is pulling the rope out of the cursor (inside Body A), ideally with little resistance. I've attached a video to demo what I'm trying to achieve.

I've tried comparing CalculateLength() to restLength and adding the difference if it's positive, which seems to work in some situations, but there are false positives when applying force to Body B while there's still slack. My understanding is that the end of the rope is stretching to keep up with its pin making the calculated length greater than rest length, despite there being slack left to use. I only want this extending to happen when I would realistically expect the rope to be pulled at the cursor point. Writing now, I suppose there just has to be force applied to the line where Body A/the cursor is, there could be slack further up the line.

I believe this is a solvable problem, while searching the forums I found this demo: https://obi.virtualmethodstudio.com/foru...-4062.html
When the fishing line is cast out, there's no perceivable resistance, that's the sort of effect I'm hoping to achieve.

Afterwards, and this may be the same solution, I'd love to implement retracting as a means of force rather than distance/time, that is, if Body B is massive or has opposing force then it is harder to retract.

If there's any further clarification or code that would help explain I'm happy to share!

Thanks


I don't see my file attachment in the final post so here's a Google Drive link just in case: https://drive.google.com/file/d/12stx-FV...sp=sharing

Print this item

  Emit rope like silly string
Posted by: sacb0y - 06-01-2026, 01:50 PM - Forum: Obi Rope - Replies (8)

I'm trying to do an effect like silly string emitted from a cannon, I tried using growth speed but that doesn't seem right. 

How can I get the rope to shoot out from a point?

Print this item

  Managing dynamic constraints
Posted by: Qriva0 - 23-12-2025, 10:40 AM - Forum: General - Replies (1)

Hi, I have several questions about creating constraints during runtime.
As far as I know constraints are stored in blueprints or directly in actor (pin).
Then those constraints are pushed to solver and copy is created and merged in solver.

There is mechanism to make constraints dirty, this causes constraints tobe rebuilt, by taking all actors constraints, however what about stitch constraints?
I can't see them stored in actors or blueprints, so is there only runtime representation? What if I marked stitch constraints as dirty, would that mean that all stitch constraints are cleared and cannot be rebuilt, because there is no blueprint/actor (original) copy?

Also what if I wanted to create some pin constraints during runtime via custom script and modify offsets every step? I want to avoid making constraints dirty every frame, but at the same time it does make sense to modify actor copy in case it's rebuilt, so should I modify both? How can I diffrentiate my own batch from all other solver batches to avoid dirtying?

Print this item

  Following Seas - Made with Obi
Posted by: MEPETAMINALS - 18-12-2025, 01:33 AM - Forum: Made with Obi - Replies (1)



Thought I'd post this as the game is now released. Received a lot of help from Jose Mendez over the past few years with a bunch of questions.

All sails, and the larger flags are all Obi 7. There's a smattering of ropes as well -- though it just wasn't performant to do full rigging setups with it.

Great asset, great dev.

Print this item

  Cloth backside collision with box
Posted by: Qriva0 - 17-12-2025, 11:03 AM - Forum: Obi Cloth - Replies (7)

Hi, I have quite simple question - I have simple piece of cloth with surface collsions (actually does not matter, both modes give me the same result) and there is simple rigidbody box collider.
This collider slowly comes from the back of the cloth, and it should collide with it, but it does not. Is that expected result?

I want to note that in general those objects can collide with each other and it works, but currently the box need to pass nearly half of it's size to create reaction from back.
Also other actors are capable of collision from two sides, for example rod, so I assumed it's the case for all objects, but it's not.
Is it possible for cloth to collide with both sides?



Attached Files Thumbnail(s)
   
Print this item

  How to make crane wire behave more like steel cable (not rubber)?
Posted by: Jibriln - 08-12-2025, 10:52 AM - Forum: Obi Rope - Replies (4)

Hi everyone,

 I’m working on a crane system in Unity using Obi Rope, and I'm trying to make the crane wire behave more like a stiff steel cable instead of a soft, stretchy rope. I’m fairly new to Unity and real-time physics, so I’m hoping someone with more experience can give me some guidance.

Right now the rope is built from a simple blueprint with two control points: the top one is attached to the crane boom using a static particle attachment, and the bottom one is attached to the hook using a dynamic attachment (the hook has a Rigidbody and an ObiCollider). The rope length is controlled at runtime with an ObiRopeCursor to raise and lower the hook. The issue I’m facing is that the rope feels way too elastic. It behaves almost like a rubber band, stretches visually, and oscillates a lot when the crane moves. The hook swings around more than it should, and the whole system lacks the stiffness you’d expect from a real steel wire. I’m trying to figure out which Obi settings are most important for achieving a rigid, stable cable. I’m also wondering if Obi Rope is the right tool for this, or if Obi Rod would provide a more stable steel-cable-like behaviour. Any advice on tuning these settings would be greatly appreciated!

Print this item

  Setting velocity to 0
Posted by: Aroosh - 06-12-2025, 09:37 PM - Forum: Obi Cloth - Replies (7)

Hello

I am trying to set the velocity of cloth particles to 0 so that there is no more movement with the following code:

Code:
ObiNativeVector4List velocities = actor.solver.velocities;
ObiNativeVector4List angularVelocities = actor.solver.angularVelocities;
ObiNativeVector4List forces = actor.solver.externalForces;
ObiNativeVector4List torques = actor.solver.externalTorques;
           
    for (int i = 0; i < actor.solverIndices.count; i++)
    {
        int solverIndex = actor.solverIndices[i];
        velocities[solverIndex] = Vector3.zero;
        angularVelocities[solverIndex] = Vector3.zero;
        forces[solverIndex] = Vector3.zero;
        torques[solverIndex] = Vector3.zero;
    }
actor.UpdateParticleProperties();

I execute this code once a certain action occurs in the game.
It works when damping is set to 0.5 but when I reduce the damping I see particles start to move again.
Can you point me in the right direction and verify if I am using the right code to do the job?

Thanks
Aroosh

Print this item

  Correct way to update mesh colliders for Obi Fluids
Posted by: Voxelboy - 06-12-2025, 11:39 AM - Forum: Obi Fluid - Replies (2)

Hello,

I'm trying to make Obi Fluids interact with Voxelica voxel engine, which generates chunk-based mesh colliders at runtime. However, as the Mesh objects are being modified on the Mesh Colliders, Obi Solver doesn't seem to pick up on the change. I tried manually forcing an update with several different methods in the Obi interfaces but had no luck so far. I also noticed that the GPU Solver and CPU Solver behaved differently, where CPU solvers was able to pick up on the changes with a specific combination of calls but GPU Solver wasn't. Sorry that I don't have the specific methods in mind at the moment, but I'm hoping that you can point me in the right direction.

Thanks!

Print this item

  Transparent fluid impacted by lighting intensity
Posted by: AnupamSingh - 01-12-2025, 11:37 AM - Forum: Obi Fluid - Replies (3)

Hi,

Is it possible to make a Obi transparent Fluid Surface Mesher to not be impacted by the environment lighting-> Intensity multiplier?
It lits up the fluid very bright and the objects behind it too get lit.

I have tried disabling reflection cubemap, light probe usage, reflection probe usage, disabled shadows. None of them seem to be working.

Can you please suggest a correct way to handle it? I want a completely transparent fluid just like water but currently, the fluid is significantly lit. Rendering pipeline: Unity Builtin.

Thank you.

Print this item

  How to let Rod not streching part of the mesh
Posted by: chenji - 30-11-2025, 01:07 AM - Forum: Obi Rope - Replies (3)

Hi,

I have a Obi rod with uses Obi rod mesh renderer. The rod contains two parts: handle and body. There are lots of type of this rod and the only difference is the length of the rod body, the handle mesh are same in these different types. As Obi rod mesh renderer only takes one mesh and will streching all the mesh for the specified rod length, now I have to make lots of meshes to get what I need. Is there any trick to only use one mesh (or two split mesh for handle and body), let Obi rod strech only the body part of the rod mesh, and let the whole rod's physics behavior controlled by Obi rod?

Print this item