Search Forums

(Advanced Search)

Latest Threads
Acessing SkinnedMeshRende...
Forum: Obi Softbody
Last Post: josemendez
1 hour ago
» Replies: 1
» Views: 27
Managing dynamic constrai...
Forum: General
Last Post: josemendez
3 hours ago
» Replies: 3
» Views: 474
Stop Cursor Removing Part...
Forum: Obi Rope
Last Post: MisterToot
Yesterday, 05:49 AM
» Replies: 2
» Views: 98
Partially connect to Skin...
Forum: Obi Cloth
Last Post: AnimaLunae
30-01-2026, 04:35 PM
» Replies: 0
» Views: 61
Runtime generated SDF
Forum: General
Last Post: josemendez
30-01-2026, 10:57 AM
» Replies: 6
» Views: 4,231
Simple Collision Debug Lo...
Forum: Obi Fluid
Last Post: josemendez
26-01-2026, 06:54 AM
» Replies: 1
» Views: 204
Stitcher breaks simulatio...
Forum: General
Last Post: Qriva0
23-01-2026, 12:47 PM
» Replies: 3
» Views: 2,017
(7.0.3) Updating skin con...
Forum: Obi Cloth
Last Post: josemendez
23-01-2026, 09:11 AM
» Replies: 3
» Views: 609
Extending rope by pulling...
Forum: Obi Rope
Last Post: trentthebaker
09-01-2026, 03:58 PM
» Replies: 0
» Views: 300
Emit rope like silly stri...
Forum: Obi Rope
Last Post: josemendez
09-01-2026, 09:17 AM
» Replies: 8
» Views: 1,228

 
  Acessing SkinnedMeshRenderer data
Posted by: Eritar - 2 hours ago - Forum: Obi Softbody - Replies (1)

Hi!

I'm trying to test the Obi Softbody add-on, and I need to retrieve the mesh data from the SkinnedMeshRenderer.

In my current implementation (without softbody), I set three Graphics Buffers of position, normal and tangent streams of the SkinnedMeshRenderer, and then access their offsets.
However, when I try to skin the SMR with Softbody Skinner, I retrieve initial vertex data like it was in the viewport before the simulation.
As far as I understand, Softbody Skinner should update skinned mesh renderer buffers after a simulation tick, and it should work, but I'm obviously missing something.

Code:
TryGetComponent<SkinnedMeshRenderer>(out var smr);
Mesh skinMesh = smr.sharedMesh;

using GraphicsBuffer skinPositionsBuffer = smr.GetVertexBuffer();
using GraphicsBuffer skinNormalsBuffer = smr.GetVertexBuffer();
using GraphicsBuffer skinTangentsBuffer = smr.GetVertexBuffer();

int[] skinPositionStrideOffset =
            {
                skinMesh.GetVertexBufferStride(positionStream),
                skinMesh.GetVertexAttributeOffset(VertexAttribute.Position),
            };
int[] skinNormalStrideOffset =
            {
                skinMesh.GetVertexBufferStride(normalStream),
                skinMesh.GetVertexAttributeOffset(VertexAttribute.Normal),
            };
int[] skinTangentStrideOffset =
            {
                skinMesh.GetVertexBufferStride(tangentStream),
                skinMesh.GetVertexAttributeOffset(VertexAttribute.Tangent),
            };


Thank you very much for your time!

Print this item

  Partially connect to Skinned Cloth Renderer
Posted by: AnimaLunae - 30-01-2026, 04:35 PM - Forum: Obi Cloth - No Replies

I have a particular problem that baffles me that I can't get around it. I'll try to explain it succinctly.

  • Working in Unity 6000.3.4f1 and Obi Cloth 7.1 in a game studio on a 3rd person AA game and the main character is wearing a long leather coat
  • The coat (green) is complicated, double sided, extra loops, buckles, belts, etc... so I need to use a proxy mesh (purple) that's bound to the high poly mesh 
  • Tried simulating using a proxy for the entire coat and making the top static using skin constraints, but I wasn't able to make that part perfectly still, it was still bouncing and wobbling. Also I don't want to simulate stuff that doesn't need to move.
  • I'm currently simulating a proxy of just the bottom part (purple).
  • However when I bind the proxy of the lower coat to the entire high poly coat, the top of the coat gets pulled down to the origin because it doesn't have an influence while I want it to stay skinned to the skeleton. I tried tweaking the falloff and radius values without any luck.
Is there a way to connect only a part of a mesh to a proxy? If not, what would be the best way to deal with this?

Many thanks for any help you can offer! 

[Image: l1i24pf.png][Image: LU6aTkQ.png]

Print this item

  Stop Cursor Removing Particle Attatchment
Posted by: MisterToot - 30-01-2026, 06:36 AM - Forum: Obi Rope - Replies (2)

Hello! as the title suggests I'd love to be able to block the cursor from reducing the size of a rope if it is about to remove a particle that is subject to a particle attatchment. 

I have a starting rope blueprint & setup like this: 

  1. static particle attatchment (start)
  2. rope cursor (pointing towards the start like this <-0)
  3. a dynamic particle attatchment (middle)
  4. another rope cursor (again, pointing towards the middle like this <-0) 
  5. then some dynamic attatchments at the end that won't get affected because the cursors won't ever remove particles in that direction. 
See screenshot attatched. 

I'd love to block via code, the cursors from removing the particles attatched to the dynamic attatchments, and I feel like this is the sort of thing that might have already been solved 

Thanks! 

Print this item

Pregunta Simple Collision Debug Log
Posted by: PortableAnswers - 25-01-2026, 05:38 PM - Forum: Obi Fluid - Replies (1)

Hello,

I am able to make fluid collide with 3D objects using the Obi Colliders, but I have yet to figure out how to get any data back from the collision itself. 
Even just a Debug.Log("Foo") would be enough to get me in the right direction.

Here's the code snippet in the documentation that I first started messing around with:

Code:
ObiColliderBase collider = ObiColliderWorld.GetInstance().colliderHandles[contact.bodyB].owner;

Any step-by-step instructions would be great. Thanks!

Print this item

  (7.0.3) Updating skin constraints for noobs
Posted by: CptnFabulous - 19-01-2026, 02:26 AM - Forum: Obi Cloth - Replies (3)

I’m trying to get cloth garments on a character model to behave looser without entirely slipping off, and from my research I think modifying the skin constraints will be the best solution. I’m following the documentation (https://obi.virtualmethodstudio.com/manu...aints.html) and these look like exactly the right settings I need to alter, but I’m having trouble understanding how to change them, since there are no clearly exposed properties or functions.

I had a look at the documentation for scripting constraints (https://obi.virtualmethodstudio.com/manu...aints.html), but I haven’t really figured out how to access specific settings. From what I can tell, constraint batches are created only when a particle is created with different settings, and they’re grouped into batches at runtime to limit the number of different settings in memory. But I don’t really know how to add new ones. For now I only need one set of constraints for the entire cloth actor, and they don’t really need to change after being generated (although if they can that might help with debugging). The cloth shapes are being generated procedurally from procedural meshes, so it needs to all work through code.

I looked at the example in that documentation (which is conveniently already for setting the skin constraints), and tried copying it and turning it into a standalone function with parameters instead of hardcoded values. But I got null errors when trying to retrieve the batches, so there didn’t seem to be values there to edit. I realised that the example code uses an ObiSkinnedCloth, whereas our current system just uses regular ObiCloth components, so I switched the cloth, renderer and mesh renderer components to the right ones. But now I'm getting an out of range error when trying to get the index offset and access the correct batches.

I’m sure I’m going about this completely the wrong way. Maybe I’m running this code at the wrong point during the generation, or I’m meant to modify values in the blueprint rather than the cloth itself. Any help would be greatly appreciated.

Thanks!

Print this item

  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 (3)

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