| Latest Threads |
(7.0.3) Updating skin con...
Forum: Obi Cloth
Last Post: CptnFabulous
20-01-2026, 11:35 AM
» Replies: 2
» Views: 118
|
Extending rope by pulling...
Forum: Obi Rope
Last Post: trentthebaker
09-01-2026, 03:58 PM
» Replies: 0
» Views: 236
|
Managing dynamic constrai...
Forum: General
Last Post: josemendez
09-01-2026, 09:54 AM
» Replies: 1
» Views: 361
|
Emit rope like silly stri...
Forum: Obi Rope
Last Post: josemendez
09-01-2026, 09:17 AM
» Replies: 8
» Views: 944
|
Non-uniform particle dist...
Forum: Obi Rope
Last Post: chenji
09-01-2026, 02:56 AM
» Replies: 11
» Views: 4,199
|
Setting velocity to 0
Forum: Obi Cloth
Last Post: Qriva0
22-12-2025, 11:26 AM
» Replies: 7
» Views: 1,247
|
Cloth backside collision ...
Forum: Obi Cloth
Last Post: Qriva0
19-12-2025, 10:07 AM
» Replies: 7
» Views: 2,242
|
Following Seas - Made wit...
Forum: Made with Obi
Last Post: josemendez
19-12-2025, 09:56 AM
» Replies: 1
» Views: 410
|
Obi 8: what's coming up
Forum: Announcements
Last Post: josemendez
12-12-2025, 08:41 AM
» Replies: 8
» Views: 2,124
|
Correct way to update mes...
Forum: Obi Fluid
Last Post: Voxelboy
10-12-2025, 12:48 AM
» Replies: 2
» Views: 679
|
|
|
| Using Obi Cloth With Blend Shapes |
|
Posted by: JoeParente34 - 24-01-2018, 11:30 PM - Forum: Obi Cloth
- Replies (2)
|
 |
Hi, I'm running into an issue with Obi cloth, that I can't seem to figure out. The cloth simulation is working great on any given mesh, until one of the blend shapes is activated. Then it seems like the cloth simulation is turned off. For example, I have the cloth simulation on some hair. There's a blend shape associated with the hair model to make it shorter, once this is turned on the cloth simulation stops. Is it not possible to have both working on a model at the same time? Am I doing something wrong settings wise?
Hope to hear from you soon, Thanks!
|
|
|
| Performance issues |
|
Posted by: khalvr - 24-01-2018, 04:00 PM - Forum: Obi Rope
- Replies (12)
|
 |
I'm using Obi Rope to simulate cords and wires in a VR truck service simulator. Since it was extremely unpractical and unstable to let Obi manage the rope length constraints, i decided to make all rigidbodies kinematicForParticles and use spring joints between the plugs (and dummy rigidbodies pinning the ropes together at all junctions) to keep them connected, just using ObiRope to simulate the aesthetics of the cords with pin constraints. The results are not 100% accurate, but it looks good enough for my purposes. Despite this, and despite rendering over 30 million triangles in the scene, ObiRope still stands for over 60% of the CPU load. This is despite the fact that i only use 2 solvers (one in each sub-scene), each with all constraints except pin, stitch, distance and collision disabled, and iteration counts set to 3 and below. There are maybe around 50 obi colliders in the scene. I also have a resolution of below 0.2 on all my ropes - in total, there are roughly 700 particles simulating. If i hang ropes on the wall (by attaching a fixed joint to one of the plug ends), obi will eventually even crash unity very suddenly and without warning. I have changed it so that the solvers run in LateUpdate, and reduced the advection radius to 0.05, but the performance is still utter crap. Am i doing something wrong, or does it simply not get better than this?
EDIT: Before Unity crashes, i get a huge wave of errors starting with:
Assertion failed: Assertion failed on expression: 'CompareApproximately(det, 1.0F, .005f)'
UnityEngine.Quaternion:FromToRotation(Vector3, Vector3)
Obi.CurveFrame:Transport(Vector3, Vector3, Single) (at Assets/Obi/Scripts/Actors/ObiRope.cs:61)
Obi.ObiRope:UpdateRopeMesh() (at Assets/Obi/Scripts/Actors/ObiRope.cs:962)
Obi.ObiRope:UpdateProceduralRopeMesh() (at Assets/Obi/Scripts/Actors/ObiRope.cs:892)
Obi.ObiRope:UpdateVisualRepresentation() (at Assets/Obi/Scripts/Actors/ObiRope.cs:590)
Obi.ObiRope:OnSolverFrameEnd() (at Assets/Obi/Scripts/Actors/ObiRope.cs:365)
Obi.ObiSolver:EndFrame(Single) (at Assets/Obi/Scripts/Solver/ObiSolver.cs:536)
Obi.ObiSolver:LateUpdate() (at Assets/Obi/Scripts/Solver/ObiSolver.cs:665)
Eventually i get this:
rigidbody.velocity assign attempt for 'Breakout Box' is not valid. Input velocity is { NaN, NaN, NaN }.
UnityEngine.Rigidbody et_velocity(Vector3)
Obi.ObiRigidbody:UpdateVelocities() (at Assets/Obi/Scripts/Collisions/ObiRigidbody.cs:68)
Obi.ObiColliderBase:UpdateRigidbody(Object, EventArgs) (at Assets/Obi/Scripts/Collisions/ObiColliderBase.cs:262)
Obi.ObiArbiter:WaitForAllSolvers() (at Assets/Obi/Scripts/Solver/ObiArbiter.cs:82)
Obi.ObiSolver:SimulateStep(Single) (at Assets/Obi/Scripts/Solver/ObiSolver.cs:499)
Obi.ObiSolver:LateUpdate() (at Assets/Obi/Scripts/Solver/ObiSolver.cs:659)
Assertion failed: Assertion failed on expression: 'fRoot >= Vector3f::epsilon'
UnityEngine.Quaternion:FromToRotation(Vector3, Vector3)
Obi.CurveFrame:Transport(Vector3, Vector3, Single) (at Assets/Obi/Scripts/Actors/ObiRope.cs:61)
Obi.ObiRope:UpdateRopeMesh() (at Assets/Obi/Scripts/Actors/ObiRope.cs:962)
Obi.ObiRope:UpdateProceduralRopeMesh() (at Assets/Obi/Scripts/Actors/ObiRope.cs:892)
Obi.ObiRope:UpdateVisualRepresentation() (at Assets/Obi/Scripts/Actors/ObiRope.cs:590)
Obi.ObiRope:OnSolverFrameEnd() (at Assets/Obi/Scripts/Actors/ObiRope.cs:365)
Obi.ObiSolver:EndFrame(Single) (at Assets/Obi/Scripts/Solver/ObiSolver.cs:536)
Obi.ObiSolver:LateUpdate() (at Assets/Obi/Scripts/Solver/ObiSolver.cs:665)
And also this:
Assertion failed: Invalid worldAABB. Object is too large or too far away from the origin.
The way i interpret it, a rounding error propagates in the quaternion calculations causing forces to be scaled high enough to instantly propel objects out of the scene. It's just a qualified guess, though, and i'm not sure why forces would be applied anyway since the objects are all kinematic as far as Obi is concerned. In this particular case, the crash only occurs when the cord is hanging against the wall, but i've had it before as well in various situations (Always the AABB error).
EDIT2: Some more of the errors:
Assertion failed: Converting invalid MinMaxAABB
UnityEngine.Mesh:SetTriangles(List`1, Int32, Boolean)
Obi.ObiRope:CommitMeshData() (at Assets/Obi/Scripts/Actors/ObiRope.cs:911)
Obi.ObiRope:UpdateRopeMesh() (at Assets/Obi/Scripts/Actors/ObiRope.cs:1037)
Obi.ObiRope:UpdateProceduralRopeMesh() (at Assets/Obi/Scripts/Actors/ObiRope.cs:892)
Obi.ObiRope:UpdateVisualRepresentation() (at Assets/Obi/Scripts/Actors/ObiRope.cs:590)
Obi.ObiRope:OnSolverFrameEnd() (at Assets/Obi/Scripts/Actors/ObiRope.cs:365)
Obi.ObiSolver:EndFrame(Single) (at Assets/Obi/Scripts/Solver/ObiSolver.cs:536)
Obi.ObiSolver:LateUpdate() (at Assets/Obi/Scripts/Solver/ObiSolver.cs:665)
Mesh '': abnormal mesh bounds - most likely it has some invalid vertices (+/-inifinity or NANs) due to errors exporting.
Mesh bounds min=(-1.#J, -1.#J, -1.#J), max=(-1.#J, -1.#J, -1.#J). Please make sure the mesh is exported without any errors.
Assertion failed: Invalid worldAABB. Object is too large or too far away from the origin.
It seems to be triggered primarily by collisions between ObiColliders with an attached ObiRigidbody.
|
|
|
| Earlier Versions of Obi Rope |
|
Posted by: binhong87 - 24-01-2018, 11:04 AM - Forum: Obi Rope
- Replies (2)
|
 |
Hello,
Can you provide a earlier version of Obi Rope?
I want to use it on Unity 5.4.x.
I have already purchased this plugin, with order #12369623925197
Thanks,
Bin
|
|
|
| Simulate a solid steel chain |
|
Posted by: zhuchun - 22-01-2018, 02:12 PM - Forum: Obi Rope
- Replies (3)
|
 |
Hi,
I'm new to Obi Rope and have finished the doc, But don't know how to simulate a solid steel chain without any elasticity.
Any help would be greatly appreciated!
Cheers,
Zhu Chun
|
|
|
| ObiClothDragger question |
|
Posted by: rendezvous - 21-01-2018, 05:55 AM - Forum: Obi Cloth
- Replies (2)
|
 |
Jose,
I was wondering if there's a way to modify the default behavior of picking/dragging a mesh and letting go. It seems that the stretched part of the mesh always snaps back to its initial form. Is there a way to make the mesh transformation remain the way you left it after picking & dragging?
|
|
|
| How to collide the cloth with the character? |
|
Posted by: panda_pajama - 20-01-2018, 06:46 PM - Forum: Obi Cloth
- Replies (3)
|
 |
I want to have a loose skirt hanging from the waist of a character, and I want the animation of the character, especially the legs, to move the skirt from the inside.
It is not necessary for this to work in real time, as I will export the resulting animation for later playback in real time.
So I tried Option 1, which is to put an Obi Cloth in the skirt mesh, which locks the triangles in the waist very well, but I can't seem to correctly remove the bone influences so the rest of the cloth can move completely independent of the bones.
Then I tried Option 2, which is to have a non skinned mesh of just the skirt, as a child of the character pelvis. I then pin the vertices in the waist, and this gives a relatively good result, before collisions.
So now to add collisions, I first tried approximating the shape of the legs with capsule colliders, but either they're too thin, and the cloth intersects with the leg mesh, or they're too fat and the cloth bulges incorrectly.
Then I tried instead of capsule colliders, create an editor script that creates a small sphere collider at the center of each triangle in the leg mesh (remember I don't need this in real time), with a script that relocates the collider each frame to the skinned position of each triangle, but for some reason the cloth seems to completely ignore the colliders.
For most accuracy, I also tried creating mesh colliders, one for each triangle (as a prism to ensure the resulting mesh is convex), and updating them to relocate the resulting mesh each frame. Again, the cloth seems to ignore the colliders.
What would be a good way to achieve my goal of having the cloth pushed by the legs in the inside?
|
|
|
| Cloth jumping on first frame |
|
Posted by: panda_pajama - 20-01-2018, 06:33 PM - Forum: Obi Cloth
- Replies (7)
|
 |
I have created a cloth attached to a character.
In the editor, the character appears in T-pose, and the cloth is attached to this character.
When I press play, the first frame of the character animation is not quite the same as the T-pose, and so the cloth jumps abruptly in the direction of the movement between T pose and the first frame of the animation.
This jump puts the cloth in a place I don't want to, and getting it out of there is very difficult.
How do I make sure the cloth doesn't jump in the first frame of animation?
|
|
|
|