Search Forums

(Advanced Search)

Latest Threads
Stretching verts uniforml...
Forum: Obi Softbody
Last Post: Aroosh
Yesterday, 05:32 AM
» Replies: 0
» Views: 64
Scripting rod forces
Forum: Obi Rope
Last Post: chenji
11-09-2025, 01:15 PM
» Replies: 25
» Views: 2,717
Burst error causing crash...
Forum: Obi Rope
Last Post: josemendez
10-09-2025, 07:03 AM
» Replies: 1
» Views: 180
Controlling speed of emit...
Forum: Obi Fluid
Last Post: josemendez
06-09-2025, 06:29 AM
» Replies: 1
» Views: 426
Looks nice on editor but ...
Forum: Obi Fluid
Last Post: josemendez
04-09-2025, 07:20 AM
» Replies: 3
» Views: 680
How to Shorten or Scale t...
Forum: Obi Rope
Last Post: josemendez
02-09-2025, 09:53 AM
» Replies: 5
» Views: 768
The Limitation of Using O...
Forum: Obi Rope
Last Post: josemendez
01-09-2025, 10:30 PM
» Replies: 1
» Views: 513
Bug Where a Straight Segm...
Forum: Obi Rope
Last Post: josemendez
01-09-2025, 08:46 PM
» Replies: 1
» Views: 487
Having an issue with obi ...
Forum: Obi Rope
Last Post: Ben_bionic
29-08-2025, 04:23 PM
» Replies: 4
» Views: 978
Non-uniform particle dist...
Forum: Obi Rope
Last Post: chenji
29-08-2025, 09:05 AM
» Replies: 4
» Views: 828

 
  how to solve the problem of pathing through?
Posted by: sc-gumbo - 17-08-2021, 01:49 AM - Forum: Obi Rope - Replies (1)

Hello, 

This is my first post. I'am very beginner of using Unity and Obi rope. 
Now I'm trying to simulate the winding hard rope to the coil, which is rotating and slightly moving to right. End of rope is fixed to the edge of the coil. I create rope with Obi rope and set Obi Rope Cursor to extract/retract the rope.

But when coil starts rotating, rope pass through the coil and it does not wind around the coil. I set Rigidbody to the coil and it has enough mass. I have set Obi Collider both on coil and rope. 
I tried to solve this with changing iteration in Obi solver, but it didn't help. 

I read the following thread. On this thread, there is a youtube movie and it is similar to what I'd like to realize. 

http://obi.virtualmethodstudio.com/forum...ad-55.html

I'd appreciate any advice!

Thank you

Print this item

  Surface Based Collision - Stutter/Jitter issue
Posted by: Elmundo - 16-08-2021, 01:19 PM - Forum: Obi Rope - Replies (4)

Hi,

I have tried to mimic obi rope videos below to test behaviour of Surface Based Collision enabled ropes.

It has stutter/jitter issues. I am sharing the test video and also the test unity project itself.

Test Video link:
https://drive.google.com/file/d/182J5P_P...sp=sharing

Test Project link:
https://drive.google.com/file/d/1lnPNylN...sp=sharing

Reference Obi Rope SBC videos:
https://www.youtube.com/watch?v=6qP7FX23_x4
https://www.youtube.com/watch?v=9LXeIem4gvM&t=3s

Have a nice day!

Print this item

  Detect if a rope has collision with another rope?
Posted by: coming123 - 16-08-2021, 12:08 PM - Forum: Obi Rope - Replies (1)

In obi rope, ropes can collide with each other properly. But is there a way to detect that collision? For example, if a rope is not colliding with any other rope, I will make its color green; otherwise, its color will be red.

Print this item

  Unclear on the limitations of Filo
Posted by: scarlet - 14-08-2021, 04:43 AM - Forum: Obi Rope - Replies (2)

So in the docs it says that Filo cannot be used for free cable simulation. And then I've seen you post that the requirement is that you have to have objects connected to both ends of the rope. It seems to me then that you could have just two free (dynamic) rigid bodies with a cable linking them, is that possible? It seems like maybe not because in all of your examples, there's at least one static object. Is this a requirement or was that just happen stance? 

You also linked a paper in one of these threads that demonstrated a bow made from cables where it appeared as though the bow was a dynamic object. Would it be possible to make something like this possible with Filo? 

Thanks so much for any illumination!

Print this item

  Articulation Body Tension ?
Posted by: trungleau17 - 13-08-2021, 12:26 PM - Forum: Obi Rope - Replies (1)

Hi all,
I'm currently looking for a solution to use the Obi Rope pulling an articulation body's object 
I tried with a RigidBody and it went well, however, the articulation object didn't react to the rope
Thank you for all your help

Print this item

  Can I scale the fluid down to 5mm?
Posted by: dennik - 12-08-2021, 10:53 PM - Forum: Obi Fluid - Replies (1)

For the app I'm developing I need to scale the simulation down to 5mm maybe even less than that, as I have some liquid coming out of a narrow tube. Is this possible, or is obi fluid not supposed to scale that low?

Print this item

  Particle Collision API indexing wrong?
Posted by: TheMunk - 12-08-2021, 01:48 PM - Forum: Obi Rope - Replies (5)

Using the example I added gizoms to debug some weird behavior I was seeing;
[Image: DIES4.png?trs=2f6602c6f954098069b38316a7...d4c41f5ae6]
Code;

Code:
public class ZeroGravityZone : MonoBehaviour
{
    [SerializeField]
    private ObiSolver solver;
    public float antiGravityScale = 2;

    ObiSolver.ObiCollisionEventArgs collisionEvent;

    [AutoProperty, SerializeField, ReadOnly]
    private Collider antiGravityCollider;

    void OnEnable()
    {
        solver.OnCollision += Solver_OnCollision;
    }

    void OnDisable()
    {
        solver.OnCollision -= Solver_OnCollision;
    }

    private List<Vector3> collisionPositions = new List<Vector3>();

    void Solver_OnCollision(object sender, Obi.ObiSolver.ObiCollisionEventArgs e)
    {
        // calculate an acceleration that counteracts gravity:
        Vector4 antiGravityAccel = -(Vector4)solver.parameters.gravity * antiGravityScale * Time.deltaTime;

        var world = ObiColliderWorld.GetInstance();
        foreach (Oni.Contact contact in e.contacts)
        {
            // this one is an actual collision:
            if (contact.distance < 0.01)
            {
                ObiColliderBase col = world.colliderHandles[contact.bodyB].owner;

                // if this is the antigravity trigger;
                if (col != null && col.gameObject.GetComponent<Collider>() == antiGravityCollider)
                {
                    // get the index of the particle involved in the contact:
                    int particleIndex = solver.simplices[contact.bodyA];

                    // set the particle velocity:
                    solver.velocities[particleIndex] += antiGravityAccel;
                    Debug.DrawLine(solver.positions[particleIndex], contact.pointB, Color.green);
                    collisionPositions.Add(solver.positions[particleIndex]);
                }
            }
        }
    }
    private void OnDrawGizmos()
    {
        foreach (var position in collisionPositions)
        {
            Gizmos.DrawSphere(position, 0.1f);
        }
        collisionPositions.Clear();
    }
}

Why is the colission not correct? I made sure the solver and rope pos, rot, and scale are 0.

Print this item

  Fluid shader not working on unity 2019.4.13f1
Posted by: dennik - 12-08-2021, 03:42 AM - Forum: Obi Fluid - Replies (2)

Do I need to install a previous release to work with my unity version?
The package I installed from the store a few days ago, the fluid renderer is not showing anything on the camera view, only through the particle renderer in scene view.
I'm using URP.

Print this item

  Rope has too much slack
Posted by: greenisfun100 - 11-08-2021, 05:54 PM - Forum: Obi Rope - Replies (4)

I have been making a VR bridge construction game and have been using the Obi Rope package to do cables for my bridges. An ongoing problem I have had is that there always seems to be a little slack in the cables when I run the simulation. 

Here is a video for context.

https://drive.google.com/file/d/18ymaVwb...sp=sharing

You can see the road of the bridge turns red meaning it is holding a great deal of its own weight rather than the cables.

My goal is to have the cables be stiff when bearing weight and not let the rest of the bridge sag.

Here is an example from a game that I have taken a lot of inspiration from.

https://drive.google.com/file/d/12PGBjVr...sp=sharing

 I have tried several things such as manipulating the blueprints resolution, the number of solver steps on the obi solver (to the point of very low fps) and incorporating a slight reduction in the stretching compliance. The last one was the most successful but not quite what I want. Is there a better way to reduce or get rid of the slack in the cables? Thanks.

Print this item

  Softbody Surface blueprint seems to fail at generation
Posted by: Snail921 - 10-08-2021, 09:27 AM - Forum: Obi Softbody - Replies (2)

Hi,
When I try to generate and edit a softbody surface blueprint by following the procedure explained here, obi seems to fail to generate valid data for the softbody surface blueprint.
I feed my mesh to a newly created blueprint and  hit generate. Right after the generation, nothing happens but when I hit edit button, I get an error as bellow.

Quote:NullReferenceException: Object reference not set to an instance of an object
Obi.ObiActorBlueprintEditor.OnSceneGUI (UnityEditor.SceneView sceneView) (at Assets/Obi/Editor/Common/Blueprints/ObiActorBlueprintEditor.cs:314)
UnityEditor.SceneView.CallOnSceneGUI () (at <1798d6bccd2b44b2854be2fbcc2463b3>:0)
UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at <1798d6bccd2b44b2854be2fbcc2463b3>:0)
UnityEditor.SceneView.OnGUI () (at <1798d6bccd2b44b2854be2fbcc2463b3>:0)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at <1798d6bccd2b44b2854be2fbcc2463b3>:0)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at <1798d6bccd2b44b2854be2fbcc2463b3>:0)
UnityEditor.DockArea.OldOnGUI () (at <1798d6bccd2b44b2854be2fbcc2463b3>:0)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Single pixelsPerPoint, System.Exception& immediateException) (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
Rethrow as ImmediateModeException
UnityEngine.UIElements.UIR.RenderChain.Render () (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.UIRRepaintUpdater.Update () (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.Panel.UpdateForRepaint () (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <6aef74cd6e9c4a708ea4a51c97de39d4>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <9ff04fda545c4aacb8dab659ad40b2f4>:0)
UnityEditor.SceneManagement.EditorSceneManager:NewScene(NewSceneSetup)
Obi.ObiActorBlueprintEditor:EnterBlueprintEditMode() (at Assets/Obi/Editor/Common/Blueprints/ObiActorBlueprintEditor.cs:213)
UnityEditor.EditorApplication:Internal_CallDelayFunctions()
The mesh is a relatively simple mesh with 1138verts. which has been created for this experimental purpose and ported from blender.

The mesh's Read/Write setting has been checked on when it was imported to Unity.
Do you have any idea what is causing this issue?

Print this item