| Latest Threads |
issues setting up FBVS / ...
Forum: Obi Softbody
Last Post: corabelfunk
25-08-2026, 06:37 PM
» Replies: 4
» Views: 162
|
Obi Bones With Stretch Bo...
Forum: Obi Rope
Last Post: josemendez
24-08-2026, 07:54 PM
» Replies: 6
» Views: 264
|
Correct way to update mes...
Forum: Obi Fluid
Last Post: Remasuri3
23-08-2026, 09:43 PM
» Replies: 5
» Views: 2,121
|
ECS Physics/Graphics Supp...
Forum: General
Last Post: josemendez
22-08-2026, 10:26 AM
» Replies: 23
» Views: 6,302
|
Fluid tunnels through Obi...
Forum: Obi Fluid
Last Post: isenberg
20-08-2026, 02:20 AM
» Replies: 8
» Views: 555
|
Web Build error
Forum: Obi Softbody
Last Post: josemendez
19-08-2026, 06:01 PM
» Replies: 1
» Views: 218
|
GetInstanceID obsolete, c...
Forum: General
Last Post: josemendez
04-08-2026, 08:48 AM
» Replies: 3
» Views: 682
|
Wade - A Fly Fishing simu...
Forum: Made with Obi
Last Post: wangqing
03-08-2026, 02:53 PM
» Replies: 2
» Views: 971
|
How to make crane wire be...
Forum: Obi Rope
Last Post: wangqing
03-08-2026, 02:46 PM
» Replies: 5
» Views: 3,542
|
Non-uniform particle dist...
Forum: Obi Rope
Last Post: wangqing
03-08-2026, 04:48 AM
» Replies: 12
» Views: 8,653
|
|
|
| Collision versus Trigger |
|
Posted by: Belisica - 28-06-2019, 11:04 AM - Forum: Obi Fluid
- Replies (1)
|
 |
Hi.
I am experimenting with Obi Fluid in 2D, great fun! Trying to make fluid particles stream down a staircase of several static colliders. When they come down they should be teleported back up again. I have seen demos of using collision callback functions for this. I get callbacks for each frame for each particle colliding with every collider. To check for the proper collider in every callback must be a performance issue?
Can the Obi OnCollision event be active only for certain colliders? For example the ones that are triggers?
What is the best setup in a case like this?
|
|
|
| [Resolved] (Android/Unity) The Obi Fluid Renderer kill the performance. |
|
Posted by: Suryavarman - 28-06-2019, 08:48 AM - Forum: Obi Fluid
- Replies (7)
|
 |
Hi,
I have 250 3D particles. I use the default Obi Fluid Renderer (Color Material : FluidColorBlend, Fluid Material : CleaFluid).
With the Obi fluid Renderer activated i have 5~8 FPS
Without the Obi Fluid Renderer i have 50 FPS good enough for me.
The hardwer is a SM-T390 :
Processor : 8cores @ 1.4Ghz Exynos 787
GPU : Mali-T830
RAM : 3GB
Have you any idea to have water look&feel with 30~50FPS ?
|
|
|
| ClearTasks / GetPointCloudAnisotropy |
|
Posted by: yoke_sune - 25-06-2019, 07:57 AM - Forum: Obi Cloth
- Replies (24)
|
 |
Hi,
We've been experiencing a bug with Obi for the past few weeks. It is really hard to reproduce, but sometimes it happens out of the blue. It mostly happens in scenes where we have two solvers. Sometimes at startup, sometimes when we're instantiating a GameObject with an ObiCloth.
The stack trace indicates the issues is with GetPointCloudAnisotropy, but this method is only used in the SoftBody script, which we're not using. I even tried to comment the line in Oni.cs but it is still trying to call it. Here is the stack trace:
0x00007FFE554D0805 (libOni) ClearTasks
0x00007FFE554D6FF5 (libOni) ClearTasks
0x00007FFE55504399 (libOni) GetPointCloudAnisotropy
0x00007FFE5550A28A (libOni) GetPointCloudAnisotropy
0x00007FFE5550A579 (libOni) GetPointCloudAnisotropy
0x00007FFE5552D470 (libOni) GetPointCloudAnisotropy
0x00007FFE876D7E94 (KERNEL32) BaseThreadInitThunk
0x00007FFE887CA251 (ntdll) RtlUserThreadStart
Do you have any indications of what this could be caused by? Our timestep is 0.04 and the max allowed timestep is also 0.04, which works fine for our simulations.
We're running Unity 2019.1.7 and we're using HDRP, but that shouldn't affect Obi(?).
Best,
Sune
|
|
|
| Tearing Cloth manually with ParticleInActor.indexInActor... |
|
Posted by: jabza - 23-06-2019, 09:02 PM - Forum: Obi Cloth
- Replies (1)
|
 |
Hey,
I am seeing some issues trying to manually 'Tear()' a ObiTearableCloth, upon detecting a collision via the ObiSolver OnCollision event.
I'm using the following method:
Code: private void HandleSailCollision(object sender, Obi.ObiSolver.ObiCollisionEventArgs e) {
foreach(Oni.Contact contact in e.contacts) {
if(contact.distance < 0.01) {
Collider collider = ObiColliderBase.idToCollider[contact.other] as Collider;
ObiSolver.ParticleInActor pa = sail.Solver.particleToActor[contact.particle];
if(collider.tag == "Projectile" && pa.actor == sail) {
(sail as ObiTearableCloth).Tear(pa.indexInActor);
break;
}
}
}
}
This works, and Tear() is called with a valid particle index (I've also confirmed this is the index I'd expect, based on the collision - center of the Mesh), however the Tare() call fails. 
I can confirm the Logic flows through the following code, and that the particle to be Torn has invMass > 0. It is the following 'Oni' call - TearDeformableMeshAtVertex, that appears to be rejecting my Tear request (both calls to it return false). I'm not really sure on the inner workings of this, perhaps it is to do with 'updatedHalfEdges'?
Code: if (invMasses[splitIndex] == 0 ||
!Oni.TearDeformableMeshAtVertex(deformableMesh,splitIndex,ref v1,ref normal,updatedHalfEdges,ref numUpdatedHalfEdges))
{
// Try to split the other particle:
int aux = splitIndex;
splitIndex = intactIndex;
intactIndex = aux;
v1 = transform.worldToLocalMatrix.MultiplyPoint3x4(solver.positions[particleIndices[splitIndex]]);
v2 = transform.worldToLocalMatrix.MultiplyPoint3x4(solver.positions[particleIndices[intactIndex]]);
normal = (v2-v1).normalized;
if (invMasses[splitIndex] == 0 ||
!Oni.TearDeformableMeshAtVertex(deformableMesh,splitIndex,ref v1,ref normal,updatedHalfEdges,ref numUpdatedHalfEdges))
return;
}
For context I am using a local space solver with world space ObiColliders.
My ObiTareableCloth has the following settings:
![[Image: 888IDhw.png]](https://i.imgur.com/888IDhw.png)
(I've set tearRate to 0, to ensure no 'miss-firings' and so Tears only happen when I explicitly call it)
Thanks again for the support, much appreacited!
|
|
|
|