Search Forums

(Advanced Search)

Latest Threads
How to dynamically change...
Forum: Obi Rope
Last Post: josemendez
51 minutes ago
» Replies: 5
» Views: 125
Pipeline that bends
Forum: Obi Softbody
Last Post: josemendez
04-07-2025, 09:52 AM
» Replies: 13
» Views: 817
How to implement/sync Obi...
Forum: Obi Rope
Last Post: quent_1982
01-07-2025, 01:48 PM
» Replies: 2
» Views: 190
Collisions don't work con...
Forum: Obi Rope
Last Post: chenji
27-06-2025, 03:05 AM
» Replies: 3
» Views: 258
Force Zone apply differen...
Forum: Obi Rope
Last Post: chenji
26-06-2025, 11:41 AM
» Replies: 11
» Views: 758
Can I blend in and out of...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 04:42 PM
» Replies: 3
» Views: 244
Using a rigidbody/collide...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 09:29 AM
» Replies: 1
» Views: 147
Solver is too performance...
Forum: Obi Rope
Last Post: quent_1982
20-06-2025, 08:09 AM
» Replies: 40
» Views: 4,254
Obi 7 Model Scaling
Forum: Obi Cloth
Last Post: alkis
19-06-2025, 02:37 PM
» Replies: 2
» Views: 258
Obi Softbody instability?
Forum: Obi Softbody
Last Post: Aroosh
18-06-2025, 06:35 PM
» Replies: 0
» Views: 138

 
  Rope used for Crane
Posted by: flamingo - 10-04-2019, 01:36 PM - Forum: Obi Rope - Replies (9)

Hello everyone Sonrisa
I am using Obi Rope for a crane simulation. However the rope doesn't react the way I want it to. I am using the lowest amount of particles which is 2. However we make it so we adjust the rope length, and every time I change the length, it adds particles and it looses the stiffness which makes the crane act weirdly because of the rope. Is there anyway I can make it so, it doesn't add more particles when I change the rope length via code? The attachment shows the way I have my ropes. and it's parameters.

Print this item

  Strange looking distance field
Posted by: bobby - 10-04-2019, 09:52 AM - Forum: Obi Cloth - Replies (3)

Hello Obi,

Sometimes when I generate distance fields, they look strange in the preview. Namely there are artefacts that are not close to the mesh. I checked in blender that the mesh does not have holes. Have you seen this before?

pic:

.png   Screen Shot 2019-04-10 at 4.50.05 PM.png (Size: 16.82 KB / Downloads: 19)

Print this item

  Obi Cloth + mesh collider tunneling with distance fields
Posted by: bobby - 10-04-2019, 08:13 AM - Forum: Obi Cloth - Replies (2)

Hello Obi,

I've been trying very hard to remove tunnelling effects on mesh collider with mediocre results.

The tunnelling is happening consistently for sharp objects or at sharp points of objects.

Things I've tried:

- increase cloth particle count. The cloth is a plane of about 3000 particles.
- reduce gravity
- use distance field. decreased max error
- increase obi solver distance iterations = 24, collision iterations = 17
- increase obi collider thickness

Here is a picture of the tunnelling on a chair mesh:

[attachment=328]

Any help would be greatly appreciated!


Here's a gif:

[Image: giphy.gif]

Print this item

Triste Character Cloth with Final IK (with GIFs)
Posted by: VrTech - 10-04-2019, 03:00 AM - Forum: Obi Cloth - Replies (8)

This is how it looks without obiCloth
The cloth weight is transferred from the rigged character as I followed from the TrenchCoat Example.

*Final IK + Grounder has been used

[Image: giphy.gif]

Once I attached the ObiCloth this happens.

[Image: giphy.gif]

This is how I set up based on your tutorial webpage

Obi Solver on the Character Root
Obi Cloth on the Skinned Mesh Object

*Player Object is a root

[Image: JnxT8mX.jpg]

[Image: xzJ9dEm.jpg]

Setting on the Animator on the root (Player) 

What I used
- Obi Slover
- Final IK FBBIK
- Grounder

[Image: 3oWDD0j.jpg]

This is the Script Execution Order

[Image: UI52Gne.jpg]

Please Help! I try to solve this problem for a week but I can't.
Thank you in advance!

Print this item

  Shading of Obi Cloth Proxy
Posted by: backerly - 09-04-2019, 02:04 PM - Forum: Obi Cloth - Replies (2)

Hello.
I did a simple test using Obi Cloth Proxy.
I chose a plane for source object and a sphere for target object.

Result

Deformation worked great as I had expected. But the shading of the deformed sphere was somewhat awkward (not smooth enough). It seems that something is wrong with normals.
Is there any way to fix this?

Thanks!

Print this item

  Make softbody really bouncy.
Posted by: hecali_aj - 09-04-2019, 01:11 PM - Forum: Obi Softbody - Replies (1)

Is there a way to make a softbody really bouncy? I'm trying to make a ball bounce on a softbody and I want the ball to not lose velocity when it hits the rigidbody.

Print this item

  What defines overall attributes of softbodies
Posted by: aphixe - 09-04-2019, 09:25 AM - Forum: Obi Softbody - Replies (1)

I am not an expert at all in physics. but what defines the attributes, of a softbodie. I know normally outside softbodies, we use rigidbodies to define, mass/weight, etc. what makes the softbodies over all attributes. like how soft something is, can you inflate things like a tire, can you make things more bouncy. only thing that changed most of the charactistics for me was the friction of an object, but that just made it slide or not slide on surface. maybe I need to reread the documents. but some things don't make sense yet.

Print this item

  How to attach a rope to softbody
Posted by: apapaxionga - 08-04-2019, 11:45 PM - Forum: Obi Softbody - Replies (7)

How to attach a rope to softbody and how to make the rope can interact with softbody ?

Print this item

Gran sonrisa Per Particle Coloration
Posted by: romainD - 08-04-2019, 03:25 PM - Forum: Obi Rope - Replies (2)

Hi guy's,

I'm a AR/VR developer for industrial applications.
We bought ObiRope 4.0.

i would like to highlight a touched particle with a Controller.
I see in patchNote 3.3, exactly what I want in thread :  Per Particle Color & Thickness.
http://blog.virtualmethodstudio.com/2018...whats-new/

Is there an example of per particle scripting coloration ? 

Thanks.

BTW : Really nice package !

Print this item

Exclamación RegenerateRestPositions strange code
Posted by: Teolog - 08-04-2019, 12:02 PM - Forum: Obi Rope - Replies (3)

Here original code from ObiRope
public override void RegenerateRestPositions(){

            var distanceBatch = DistanceConstraints.GetFirstBatch();
            if (distanceBatch.ConstraintCount > 0)
            {
                // Iterate trough all distance constraints in order:
                int particle = -1;
                int lastParticle = -1;
                float accumulatedDistance = 0;
                for (int i = 0; i < distanceBatch.ConstraintCount; ++i)
                {
                    if (i == 0)
                    {
                        lastParticle = particle = distanceBatch.springIndices[i * 2];
                        restPositions[particle] = new Vector4(0, 0, 0, 1);
                    }
                    accumulatedDistance += Mathf.Min(interParticleDistance, principalRadii[particle][0],principalRadii[lastParticle][0]);
                    particle = distanceBatch.springIndices[i * 2 + 1];
                    restPositions[particle] = Vector3.right * accumulatedDistance;
                    restPositions[particle][3] = 1; // activate rest position
                }
            }

            PushDataToSolver(ParticleData.REST_POSITIONS);
        }
First: this code generate (distanceBatch.ConstraintCount-1) float[3] arrays while Mathf.Min function, this makes unity garbage collector crazy.
Second: lastParticle  newer updated in cycle, this result in accumulatedDistance sum of distances from rope start to current point, not from previous to current point.
So finally accumulatedDistance  contains not total rope length but (distanceBatch.ConstraintCount-1)*ropeLength/2.
Are you sure that is right, because this is strange.
This is my implementation
public override void RegenerateRestPositions(){
            ObiDistanceConstraintBatch distanceBatch = DistanceConstraints.GetFirstBatch();
            if (distanceBatch.ConstraintCount > 0)
            {
                Vector3 right=Vector3.right;
                // Iterate trough all distance constraints in order:
                int lastParticle = distanceBatch.springIndices[0];
                float accumulatedDistance = 0;
                restPositions[0] = new Vector4(0, 0, 0, 1);
                for (int i = 0; i < distanceBatch.ConstraintCount; ++i)
                {
                    int particle = distanceBatch.springIndices[i * 2 + 1];
                    accumulatedDistance += Mathf.Min(interParticleDistance, Math.Min(principalRadii[particle][0],principalRadii[lastParticle][0]));
                    var ditanceoffset = right * accumulatedDistance;
                    restPositions[particle] =new Vector4(ditanceoffset.x,ditanceoffset.y,ditanceoffset.z,1);
                    lastParticle = particle;
                }
                PushDataToSolver(ParticleData.REST_POSITIONS);
            }
        }

Print this item