Obi Official Forum

Full Version: Magnitude other Rigidbody
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi guys.
I can't find a setting for the rope to act on a physical object.

The task is as follows.

It is necessary for the rope to reduce the speed of movement of the directed physical object. So that when it is fully stretched. stopped the object completely.

Rope does not interact with the speed of the physical object at all. And so rope fully pulled, it just goes through it.

Moving the object itself through the rigid body in a fixed update.

Where to dig, please help.


Hi!

First of all make sure the object is a rigidbody, and that it's being translated due to its own velocity (that you can modify by applying forces, impulses, accelerations, etc). If the object is moved by directly setting its transform position, there's nothing Obi (or other objects) can do to stop it, as you're forcing it to be in a certain position no matter what.

Once you're sure that's ok, you want to look into mass. The mass ratio between objects determines how they react to a collision: the heavier object will displace the lighter object.

In Obi you can set mass on a per-control point basis, using the path editor. See:
http://obi.virtualmethodstudio.com/tutor...setup.html

Quote:Moving the object itself through the rigid body in a fixed update.

This bit makes no sense whatsoever. What do you mean by moving the object trough a rigidbody? The object either is a rigidbody or it isn't, not sure what you mean by that. Maybe you mean you’re using rigidbody.MovePosition()? In that case, see above: you can’t set the position directly if you want the rope to be able to react to it.
(28-04-2021, 03:04 PM)josemendez Wrote: [ -> ]Hi!

First of all make sure the object is a rigidbody, and that it's being translated due to its own velocity (that you can modify by applying forces, impulses, accelerations, etc). If the object is moved by directly setting its transform position, there's nothing Obi (or other objects) can do to stop it, as you're forcing it to be in a certain position no matter what.

Once you're sure that's ok, you want to look into mass. The mass ratio between objects determines how they react to a collision: the heavier object will displace the lighter object.

In Obi you can set mass on a per-control point basis, using the path editor. See:
http://obi.virtualmethodstudio.com/tutor...setup.html


This bit makes no sense whatsoever. What do you mean by moving the object trough a rigidbody? The object either is a rigidbody or it isn't, not sure what you mean by that. Maybe you mean you’re using rigidbody.MovePosition()? In that case, see above: you can’t set the position directly if you want the rope to be able to react to it.
An object moving on a rope has a rigidbody.

The rope simply does not slow down the object in any way, as if it is moving through the position

Judging by the description, only Dynamic attachments can interact with another body. But even with the setting of dynamic points, the ball flying on the rope does not change its speed in any way during collision.
(29-04-2021, 05:25 AM)xkalibrx Wrote: [ -> ]An object moving on a rope has a rigidbody.

The rope simply does not slow down the object in any way, as if it is moving through the position

Your rigidbody is kinematic for particles. Kinematic rigidbodies have infinite mass, so particles won't be able to affect their velocity.

Just disable the "kinematic for particles" checkbox in your ObiRigidbody component.

(29-04-2021, 05:25 AM)xkalibrx Wrote: [ -> ]Judging by the description, only Dynamic attachments can interact with another body. But even with the setting of dynamic points, the ball flying on the rope does not change its speed in any way during collision.

Obi supports full two-way coupling with rigidbodies both for attachments and collisions. See the "rigidbodies" section in the collisions page of the manual: http://obi.virtualmethodstudio.com/tutor...sions.html

Quote:Rigidbodies

When you add an ObiCollider component to an object, it will look for the first Rigidbody component up its hierarchy and attach an ObiRigidbody component to it. This allows for full two-way coupled interaction between Obi particles and rigidbodies. If you delete this component, Obi will recreate it automatically the next time you hit "Play".

ObiRigidbody only has one parameter: "Kinematic for particles". Enabling this shields the rigidbody from any forces applied by particles, so it will behave as if no Obi particles were present in the scene. The particles will still "feel" the rigidbody and collide with it, though.
(29-04-2021, 07:33 AM)josemendez Wrote: [ -> ]Your rigidbody is kinematic for particles. Kinematic rigidbodies have infinite mass, so particles won't be able to affect their velocity.

Just disable the "kinematic for particles" checkbox in your ObiRigidbody component.


Obi supports full two-way coupling with rigidbodies both for attachments and collisions. See the "rigidbodies" section in the collisions page of the manual: http://obi.virtualmethodstudio.com/tutor...sions.html

It was so close ...

Thank you so much!!!!
(29-04-2021, 07:45 AM)xkalibrx Wrote: [ -> ]It was so close ...

Thank you so much!!!!

You're welcome! Sonrisa