Search Forums

(Advanced Search)

Latest Threads
Ladder made by Ropes (Rat...
Forum: Obi Rope
Last Post: jaripam
Yesterday, 01:26 PM
» Replies: 2
» Views: 39
can you remove particles ...
Forum: Obi Softbody
Last Post: aardworm
09-07-2025, 07:09 AM
» Replies: 0
» Views: 124
ObiRope Mesh Renderer
Forum: Obi Rope
Last Post: quent_1982
08-07-2025, 11:27 AM
» Replies: 4
» Views: 443
How to dynamically change...
Forum: Obi Rope
Last Post: quent_1982
08-07-2025, 06:34 AM
» Replies: 6
» Views: 612
Pipeline that bends
Forum: Obi Softbody
Last Post: josemendez
04-07-2025, 09:52 AM
» Replies: 13
» Views: 1,343
How to implement/sync Obi...
Forum: Obi Rope
Last Post: quent_1982
01-07-2025, 01:48 PM
» Replies: 2
» Views: 391
Collisions don't work con...
Forum: Obi Rope
Last Post: chenji
27-06-2025, 03:05 AM
» Replies: 3
» Views: 464
Force Zone apply differen...
Forum: Obi Rope
Last Post: chenji
26-06-2025, 11:41 AM
» Replies: 11
» Views: 1,283
Can I blend in and out of...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 04:42 PM
» Replies: 3
» Views: 456
Using a rigidbody/collide...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 09:29 AM
» Replies: 1
» Views: 261

 
Información Inflate deflate cloth Balloon
Posted by: Fenikkel - 12-04-2022, 02:39 PM - Forum: Obi Cloth - Replies (1)

Hi, we are trying to make a simulation in Unity similar to this video.

So, what we need is:

  • Inflate and deflate the balloons
  • Different meshes than spheres
  • Collisions between the cloth meshes
  • Compress the cloth meshes with the container (or some sort of colliders)
We didn't bought the Obi Cloth yet. It is posible? We only have this video as a clue.
There is some kind of demo to test if this can work?

Thanks.

Print this item

  How to match softbody to the non zero position and rotation skinned mesh model
Posted by: debbie - 12-04-2022, 06:27 AM - Forum: Obi Softbody - Replies (1)

I have difficulty in matching the softbody to the skinned mesh model when the mesh's position and rotation is not in zero. Here is my situation:

I created a softbody blueprint with the skeleton. 
   

Back to the scene, the skeleton is matching the model, but the mesh is rotated 90 degrees.
   

When i move the leg joint, only the skeleton and mesh will move accordingly, the softbody remains the same.
   

As the "_body_summer" object rotation is -90, so i rotated 270 when doing the blueprint.
   

Back to the scene, now both skeleton and softbody match with the model. However, when i move the leg joint, the softbody still no response.
   

The upper case is only having the rotation issue, but i had another model that the mesh is in different position and the softbody will shifted. But in the blueprint inspector, i can't adjust the mesh position. Therefore, is that i have to change the mesh position to zero?

Print this item

  Disable rope inside animation event callback
Posted by: jacob - 10-04-2022, 01:21 PM - Forum: Obi Rope - Replies (2)

Hi, I am trying to disable rope at runtime inside both animation event callback and statemachinebehavior, but when "ObiRope.ropeBlueprint = null" is executed, DestroyImmediate will be called inside BurstColliderWorld.cs, which is not allowed by unity, it will throw an error as follows:

Destroying GameObjects immediately is not permitted during physics trigger/contact, animation event callbacks or OnValidate. You must use Destroy instead.
UnityEngine.Object: DestroyImmediate (UnityEngine.Object)
Obi.BurstColliderWorld: DecreaseReferenceCount () (at Assets/Obi/Scripts/Common/Backends/Burst/Collisions/BurstColliderWorld.cs:61)
Obi.BurstSolverImpl: Destroy () (at Assets/Obi/Scripts/Common/Backends/Burst/Solver/BurstSolverImpl.cs:186)
Obi.BurstBackend: DestroySolver (Obi.ISolverImpl) (at Assets/Obi/Scripts/Common/Backends/Burst/BurstBackend.cs:21)
Obi.ObiSolver:Teardown () (at Assets/Obi/Scripts/Common/Solver/ObiSolver.cs:873)
Obi.ObiSolver:RemoveActor (Obi.ObiActor) (at Assets/Obi/Scripts/Common/Solver/ObiSolver.cs:1165)
Obi.ObiActor:RemoveFromSolver () (at Assets/Obi/Scripts/Common/Actors/ObiActor.cs:362)
Obi.ObiActor:OnDisable () (at Assets/Obi/Scripts/Common/Actors/ObiActor.cs:328)


I tested to change DestroyImmediate to Destroy, currently everything works fine, but I'm fully aware of it is always recommended to use Destroy over DestroyImmediate, so I'm wondering you are intentionally use DestroyImmediate to prevent some unwanted behaviors, if so, should I keep using DestroyImmediate? And what are the workarounds for this problem? (except move my code to coroutine, it has to be synchronized at exact time in order to achieve my expected behavior)

Print this item

Pregunta Should ObiAmbientForceZone take into account isVisible and simulateWhenInvisible?
Posted by: niuage - 08-04-2022, 10:06 PM - Forum: Obi Rope - Replies (1)

I was just wondering if ObiAmbientForceZone couldnt be improved to not do any computation for the solvers that have been marked as "dont simulate when not visible"?

Solver_OnStepBegin could exit early for instance.

I could certainly make the changes myself, but just wanted to see if that made sense.

Print this item

  Does ObiStitcher has scriptable API ?
Posted by: SimonFu - 07-04-2022, 04:40 PM - Forum: Obi Softbody - Replies (1)

Recently, I tried Obistitcher, which perfectly matches my need.
However, I found that ObiStitcher can only support point-wise stitching, which is rather inconvenient.
So I want to ask whether ObiStitcher has some batch-process methods or API, or something like `group` in Obi Blueprint.
Hope to hear your reply soon~

Print this item

  Obi dragger in VR
Posted by: Darvy96 - 07-04-2022, 08:03 AM - Forum: Obi Cloth - Replies (1)

Hi, 

I'm developing a game with Obi Cloth for VR and i have a doubt. Is it possible to grab the clothes so that the user can bring them closer and further away from himself? in other words, can it move in Unity's z-axis?

Thanks.

Print this item

Pregunta How to create a tinsel?
Posted by: niuage - 06-04-2022, 02:03 PM - Forum: Obi Rope - Replies (2)

Hi,

I'm probably missing something obvious, but just reading the doc, I can't figure out how to make something similar to a tinsel.

Right now I have a rope attached to 2 points, so far so good, but how can I attach objects to the rope such as they follow it without influencing it, or very little?

Thanks for any pointers.


[Image: JePHV2g.png]

Print this item

  Rope created at runtime is longer than the distance between the two connection points
Posted by: NailEngine - 05-04-2022, 10:38 PM - Forum: Obi Rope - Replies (4)

[Image: img.png]

Code:
            const string STAND_PARTICLE_GROUP = "PointOnStand";
            const string TARGET_PARTICLE_GROUP = "PointOnTarget";

            int standFilter = Obi.ObiUtils.MakeFilter(Obi.ObiUtils.CollideWithEverything, 0);
            int targetFilter = Obi.ObiUtils.MakeFilter(Obi.ObiUtils.CollideWithNothing, 0);

            var localHit = pointOnStand.transform.InverseTransformPoint(pointOnTarget.position);

            var blueprint = ScriptableObject.CreateInstance<Obi.ObiRopeBlueprint>();
            blueprint.resolution = 0.5f;

            blueprint.path.Clear();
            blueprint.path.AddControlPoint(Vector3.zero, -localHit.normalized, localHit.normalized, Vector3.up, 0.1f, 0.1f, thickness, standFilter, UnityEngine.Color.white, STAND_PARTICLE_GROUP);
            blueprint.path.AddControlPoint(localHit, -localHit.normalized, localHit.normalized, Vector3.up, 0.1f, 0.1f, thickness, targetFilter, UnityEngine.Color.white, TARGET_PARTICLE_GROUP);
            blueprint.path.FlushEvents();

            var generate = blueprint.Generate();
            while (generate.MoveNext()) ;

            var ropeGameObject = new GameObject("Rope",
                typeof(Obi.ObiRope),
                typeof(Obi.ObiPathSmoother),
                typeof(Obi.ObiRopeChainRenderer));

            ropeGameObject.transform.SetParent(solver.transform);

            var ropeChainRenderer = ropeGameObject.GetComponent<Obi.ObiRopeChainRenderer>();
            ropeChainRenderer.linkPrefabs.Add(chainPrefab);
            ropeChainRenderer.sectionTwist = 90;
            ropeChainRenderer.linkScale = Vector3.one;

            var rope = ropeGameObject.GetComponent<Obi.ObiRope>();
            rope.ropeBlueprint = blueprint;

            if (!standEntity.ObiStandColliders.TryGetValue(pointOnStand, out var standObiColliderGO))
            {
                standObiColliderGO = GameObjectPool.For(m_StandObiColliderPrefab).Rent();
                standObiColliderGO.transform.SetParent(pointOnStand.parent);
                standObiColliderGO.transform.localScale = Vector3.one * 0.005f;
                standEntity.ObiStandColliders[pointOnStand] = standObiColliderGO;
            }

            standObiColliderGO.transform.position = pointOnStand.position;
            standObiColliderGO.transform.rotation = pointOnStand.rotation;
            standObiColliderGO.transform.localScale = pointOnStand.localScale;

            var standObiCollider = standObiColliderGO.GetComponent<Obi.ObiColliderBase>();

            var pinConstraints = rope.GetConstraintsByType(Oni.ConstraintType.Pin) as Obi.ObiConstraints<Obi.ObiPinConstraintsBatch>;
            pinConstraints.Clear();
            var batch = new Obi.ObiPinConstraintsBatch();
            batch.AddConstraint(rope.solverIndices[0], standObiCollider, Vector3.zero, Quaternion.identity, 0, 0, float.PositiveInfinity);
            batch.AddConstraint(
                rope.solverIndices[blueprint.activeParticleCount - 1],
                target.GetComponent<Obi.ObiColliderBase>(),
                target.InverseTransformPoint(pointOnTarget.position),
                Quaternion.identity,
                0,
                0,
                float.PositiveInfinity);
            batch.activeConstraintCount = 2;
            pinConstraints.AddBatch(batch);
            rope.SetConstraintsDirty(Oni.ConstraintType.Pin);

I'm basically trying to create a chain between these two objects at runtime. The length of the chain should be the distance between those two red X's which mark "mount points" to create the chain between. The circle object isn't "hanging" down because I currently have the rigidbody set to kinematic.

Any ideas?

Print this item

Pregunta Rope won't hang straight
Posted by: goldfire - 05-04-2022, 07:01 PM - Forum: Obi Rope - Replies (5)

I can't seem to get this rope with an object at the end to hang straight. I've been tinkering with all of the settings for quite a while and nothing seems to help, but I assume I'm missing something obvious.

Here's what the rope looks like after entering play mode:

[Image: 8w4lvjW.png]

Here's the rope settings:

[Image: qaOHj22.png]

Here's the solver settings:

[Image: IyfrbNo.png]

PS: The last update to Obi Rope has been fantastic for productivity with enabling support for enter play mode settings. Thanks for the hard work on that, it is much appreciated!

Print this item

  Freeze softbody in certain axis
Posted by: jaysama - 04-04-2022, 11:00 AM - Forum: Obi Softbody - Replies (3)

Hi Obi devs,

I want to have my softbody to fall to the ground with a fixed position, yet it moved a bit on X and Z axis.
Is there a way to freeze a softbody position in certain axis (X and Z) like in Unity's rigidbody setting?

Also how can I make all the softbodies to not interact with each other?
I figured out that I can use 1 solver for 1 softbody, but it'll bloat my scene with solvers, so is there any other way?

Thanks in advance!

Print this item