Search Forums

(Advanced Search)

Latest Threads
Better method to change r...
Forum: Obi Rope
Last Post: josemendez
1 minute ago
» Replies: 3
» Views: 203
Obi Rod collision causing...
Forum: Obi Rope
Last Post: josemendez
9 minutes ago
» Replies: 6
» Views: 427
Connectivity Particle Bin...
Forum: Obi Softbody
Last Post: Eritar
02-04-2026, 03:44 PM
» Replies: 0
» Views: 91
Obi 8: what's coming up
Forum: Announcements
Last Post: josemendez
31-03-2026, 10:39 AM
» Replies: 10
» Views: 3,759
Best way to disable then ...
Forum: Obi Rope
Last Post: Bopter
24-03-2026, 05:23 PM
» Replies: 3
» Views: 369
Limited Resolution and si...
Forum: Obi Softbody
Last Post: josemendez
23-03-2026, 09:25 AM
» Replies: 1
» Views: 226
Inquiry About Future Upda...
Forum: General
Last Post: tecnnt
19-03-2026, 05:40 PM
» Replies: 0
» Views: 146
How did they do with with...
Forum: Obi Cloth
Last Post: josemendez
13-03-2026, 10:53 PM
» Replies: 5
» Views: 728
Non destructive blueprint...
Forum: General
Last Post: Qriva0
06-03-2026, 02:40 PM
» Replies: 5
» Views: 837
Anisotropic Particle Dens...
Forum: Obi Softbody
Last Post: josemendez
03-03-2026, 08:22 AM
» Replies: 1
» Views: 372

 
  Connectivity Particle Binding
Posted by: Eritar - 02-04-2026, 03:44 PM - Forum: Obi Softbody - No Replies

Hi!

Is there any way to make Particle Binding limited to vertex connectivity? 
For example, if my character has close by geometry, like fat folds on a belly, or structure similar to brain or corals, is there an easy way to limit binding to connected geometry, so one particle may bind to a single closest fat fold, for example?

Also I greatly appreciate all your help along the forum posts, but I don't want to spam you with "Thanks, that worked!" messages.
Thank you very much!

Print this item

  Better method to change rod shape
Posted by: Qriva0 - 01-04-2026, 09:44 AM - Forum: Obi Rope - Replies (3)

Hi, I wonder if there is better way to keep rod shape (other than ObiBendTwistConstraintsBatch) without breaking physics too much.
I change shape of the rod to make it bend an it works, but final behaviour is not exactly "right".
The thing is that moving, pulling elastic rod makes everything very soft, forces do not propagate well, it's like pushing soft spaghetti. Keeping shape work in similar way, it the rod is stiff it bends very fast to target shape, but making it softer results in very slow "lerp like" change of rotation.

The thing is I want my rod to be overall soft enough, but at the same time change shape reasonably fast. On top of that I want to avoid situation where huge rigidity force the rod to break constraints, for example see image below. If rod changes shape with colliders around, it has no idea that the bend I set is not possible to do and the whole thing shakes, explodes, or is at least very unstable. 
I made system that moves bending slower and checks if lambdas in constraint are not too big, but it's clunky, I don't like my implementation. What else can be done?

   

Print this item

  Obi Rod collision causing weird stretching behavior
Posted by: violinviolin19 - 27-03-2026, 05:54 PM - Forum: Obi Rope - Replies (6)

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?

Print this item

  Best way to disable then reenable rope?
Posted by: Bopter - 23-03-2026, 08:06 PM - Forum: Obi Rope - Replies (3)

Hi all!

I'm making a game where you try to throw lassos at other players. This requires a lot of spawning a rope, despawning it, then respawning it again.

Currently I do this by disabling the ObiRope and ObiRopeExtrudedRenderer components. When I need it again I reenable it by waiting until the rope is loaded then manually adjust the positions, prevPositions, and Velocities of all particles. Then I wait one frame to let things settle before reenabling the Renderer.

This almost works, except for a single frame where the Renderer shows its previous position. I cannot for the life of me figure out how to make the Renderer only show the new position of the rope rather than starting at its previous position. This also happens when I just leave the Renderer on the entire time.

Is there a better way to go about disabling/enabling rope or some kind of RendererRefresh I can call? I was considering teleporting the rope somewhere far away while disabled rather than disabling the component but wanted to see if there was a better way first.

Thanks!

Pic of the one frame issue:

[Image: T5Tm5FC.png]

Code:
// sets up the rope when reenabled

    private IEnumerator SetupRopeNextFrame(Transform startTarget, bool isStartDynamicAttachment, Transform endTarget, bool isEndDynamicAttachment)
    {
        while(!rope.isLoaded)
        {
            yield return null;
        }
        resetRopeLength();
        connectToBothTargets(startTarget, isStartDynamicAttachment, endTarget, isEndDynamicAttachment); //calls connectParticleToTarget() and lerpBetweenStartAndEndOfRope()
        _ropeIsActive = true;
        yield return null;
        ropeRenderer.enabled = true;
    }

// creates world peace
    public void DeactivateRope()
    {
        _ropeIsActive = false;
        startAttachment.enabled = false;
        endAttachment.enabled = false;
        rope.enabled = false;
        _isRetracting = false;
        ropeRenderer.enabled = false;
    }

// connects the ends to attachments
private void connectParticleToTarget(int particleIndex, Transform target)
    {
        Vector3 newPos = rope.solver.transform.InverseTransformPoint(target.position + new Vector3(0f, -.5f, 0f));
        rope.solver.positions[particleIndex] = newPos;
        rope.solver.prevPositions[particleIndex] = newPos;
        rope.solver.velocities[particleIndex] = Vector3.zero;
    }

// handles mid section of the rope
private void lerpBetweenStartAndEndOfRope(Transform startTarget, Transform endTarget)
    {
        //start at 1 because both start and end are already in position
        int edgeCount = rope.elements.Count;
        for(int i = 1; i < edgeCount - 1; i++)
        {
            int index = rope.elements[i].particle1;
            float percent = (float) i / edgeCount;
            Vector3 worldPos = Vector3.Lerp(startTarget.position, endTarget.position, percent);
            Vector3 localPos = rope.solver.transform.InverseTransformPoint(worldPos);
            rope.solver.positions[index] = localPos;
            rope.solver.prevPositions[index] = localPos;
            rope.solver.velocities[index] = Vector4.zero;
        }
    }

Print this item

  Limited Resolution and simulation values
Posted by: Eritar - 21-03-2026, 05:07 PM - Forum: Obi Softbody - Replies (1)

Hi, in the softbody documentation it is written that at max resolution (128, as I understand), one vertex would correspond one particle, but it doesn't seem to be the case? It seems to be governed by Shape Analysis Resolution value as well, and I cannot enter the value higher than 128 manually.

Is it possible to override the limit if I want to have actual one particle per vertex?

In a similar manner, I understand that having a lot of particles would make the simulation unstable, and what values can I tweak to achieve better shape matching? So far what I've gathered - low Mass Scale, Sequential Shape Matching, and Constraint Orientation (I use particle attachments and simulate parts of a mesh) works best.

In this model nose should be much more dense than the rest of the model, for example.

.zip   suzanne_dense_nose.zip (Size: 155.2 KB / Downloads: 1)

Print this item

  Inquiry About Future Updates And About Tuanjie Asset Store
Posted by: tecnnt - 19-03-2026, 05:40 PM - Forum: General - No Replies

Hello,

I recently learned from Unity's official announcement that, by the end of this month, all overseas resources will no longer be accessible to developers in mainland China.

I truly enjoy using your assets and have greatly benefited from them in my projects. However, I’m concerned about how I can continue to receive updates or access your resources after this change takes effect. Could you kindly advise on how to proceed? For instance, will there be alternative platforms or methods to obtain updates for your assets moving forward?

Thank you for your time and support. I really appreciate your work and hope to continue using your resources in the future.

Looking forward to your reply.

Print this item

  Non destructive blueprint regeneration
Posted by: Qriva0 - 06-03-2026, 10:03 AM - Forum: General - Replies (5)

Hi, this thread mentioned destructive nature of blueprint generation, I noticed too that iteration based on mesh changes is really slow because of this, adding one vertex to softbody or cloth requires regeneration.

My proposition is to add feature to map existing data to newly generated particles.
To be precise, there would be checkbox next to "Generate" button (or button dropdown similar to lightmap bake) and this mode would keep old blueprint data cached, then after generation it mapsnew particles to old one by finding the closest particle. So things like weight, radius, groups would be copied from previous setup. Also groups - it would keep groups, but replace indices with new one that fit previous positions. In this case adding single vertex to mesh would require minimal changes, if any. In case of meshes with similar surface (but different density of particles) the same would apply, because 99% of data would fit previous setup.

This is not critical feature, but I think it would sagnificantly help many users and make iterations way shorter.

Print this item

  How did they do with with Obi Cloth?
Posted by: AdamZ101 - 05-03-2026, 03:26 PM - Forum: Obi Cloth - Replies (5)

I'd like to put together something similar, can you give me a high level explanation on how they achieved this please:
https://www.youtube.com/watch?v=mpKB8z-lT8k

Thanks.

Print this item

  Anisotropic Particle Density on Characters
Posted by: Eritar - 02-03-2026, 01:55 PM - Forum: Obi Softbody - Replies (1)

Hi!

Could you please advise me on what would be the best solution to have a blueprint optimized for a full soft body character, because isotropic particle density is an inefficient approach IMO.
Ideally - Blueprint window could support a "density" map, akin to skin weights map, because it doesn't make sense to have the same particle density for a thigh, or a spine, as for example for fingers, or face, or other fine-detailed extremities.
Splitting the character into different meshes with their own different blueprints is a workaround I have found working sort of well, but you can't reliably "stitch" the mesh to be visibly watertight, and have it have continuous simulation, so there are gaps (for example on a wrist where more high-particle hand meets low-particle arm) in the mesh.

Could please advise if there already is a way to solve this issue?

Thank you very much!

Print this item

  Alternative methods to anchor a softbody (and skeleton sampling)
Posted by: midivagrant - 25-02-2026, 07:06 PM - Forum: Obi Softbody - Replies (2)

Hello,

I'm making a pet simulator game where you use a rigidbody hand object to pet/poke/punch/etc. a little softbody slime guy.

I need the slime's bottom half to stay locked into one place, and it seems like the default way in Obi Softbody v7.1 is to use particle attachment and paint some particles to be used as anchors. But I am still in the process of trying to figure out what the best settings for the softbody are, and every time I go to make an edit to the blueprint, I must then re-generate and repaint the anchor particles which is extremely tedious. Is there a better way to anchor a softbody without having to repaint them every time it gets regenerated?

There does seem to be one other solution to this, which is shown in the FullBodyVolumetricSoftbody demo using the skeleton sampling feature to keep much of the softbody locked in place exactly how I'd want it to be. However when I import some bones and weight painting for my model, it seems to only anchor one small specific point on my softbody model to the skeleton for some reason. I have even gone so far as to use the exact same skeleton that the big_guy demo mesh uses and data-transferred the weight paint and vertex groups from that armature to my model, but this same effect still happens. I'm not able to find much documentation on how the skeleton sampling works outside of what's on the softbody setup documentation page; am I missing some info about what determines how much influence a skeleton has on the softbody volume and surface particles? Would this pipeline of creating a few simple bones to use as anchor points for my softbody be a viable solution in the first place?

Thanks in advance!

Print this item