I'm using Unity 2022.3.32f1, a new empty 3D project (built-in render pipeline) and the Obi Fluid 7.0rc Unity Package. Everything seems to be set up and working correctly (Burst compiler etc.) but all of the fluids in the sample scenes are pink:
I've had a look through the components & project resources but can't see anything that's obviously wrong?
Does anyone have any idea as to what's causing this? Thanks.
I'm using Unity 2022.3.32f1 and a new empty 3D project (built-in render pipeline). I import Obi Fluid 6.5.4 using the project manager and get the following update warnings:
I have to choose 'yes' to stop this warning being shown repeatedly.
At this stage, Obi Fluid and the sample scenes seem to work ok, however Force Zones do not work (e.g. in the 'SimpleFluid' demo scene).
If I select a gameobject with an Obi Solver component, I can see the "The Burst backend depends on the following packages: " warning. I install the Mathematics, Collections and Jobs packages (using 'Add packages by git URL...' for com.unity.jobs) - Burst seems to already be in the package list:
Upon adding the Collections package, I get the following persistent error and I can't enter play mode anymore:
Code:
Assets/Obi/Scripts/Common/Backends/Burst/DataStructures/NativeMultilevelGrid.cs(74,46): error CS1061: 'UnsafeList<K>' does not contain a definition for 'length' and no accessible extension method 'length' accepting a first argument of type 'UnsafeList<K>' could be found (are you missing a using directive or an assembly reference?)
Are there updated installation instructions or what is the correct sequence for setting up the package properly? Thanks
Currently we wanted to make use of obi fluid in our VR application to came to a block when finding/realizing the following:
Does it support VR (Virtual Reality)?
Cloth, Rope and Softbodies support VR. For Obi Fluid, VR is only supported in the built-in pipeline, and it's necessary to use separate cameras for each eye since the renderer does not support single-pass stereo rendering.
Will there be support for this in an URP setup (not the built-in pipeline) with single pass/multiview? We want to simulate non transparent fluids.
Hi,
I've added pins on both ends of the rope. I want to know whether I've used the right implementation to move the rope end points. I've created configurable joints on the rope end point node and dragging it using rigidbody MovePosition. I can't use force here as I want the end point knob to move along with my finger. Though I've applied max limit on the knob distance how far player can drag, it still break physics sometimes when I drag fast. Is there any possibility to avoid happening ?
Also, sometimes I see weird behavior after completing cursor.ChangeLength. You can see one or two rope particles at random location still alive in the scene.
Hi,
I've attached pin at both end of the rope. I want to unpin it from one of the ends.
I've tried the below code but nothing seems to be working. Its always pinned even after running the below code.
I've attached reference screenshot of what I am trying to do.
Created 2 ropes and pinned them on the board. I want to unpin one end of the rope and pull the rope to the other knob using obiropecursor. (ChangeLength function).
Using ObiRopeCursor is the right approach here ?
Code:
var pinConstraints = rope.GetConstraintsByType(Oni.ConstraintType.Pin) as ObiConstraints<ObiPinConstraintsBatch>;
int batches = pinConstraints.batches.Count;
for (int j = 0; j < batches; j++)
{
int count = pinConstraints.batches[j].constraintCount;
Debug.Log("count : " + count);
for (int i = 0; i < count; i++)
{
pinConstraints.batches[j].RemoveConstraint(i);
pinConstraints.batches[j].RemoveFromSolver(null);
}
pinConstraints.RemoveBatch(pinConstraints.batches[j]);
}
pinConstraints.RemoveFromSolver();
To test if cursor changeLength is working I manually disabled one of the pinned gameobject and tried the below code. ChangeLength function is also not working as expected.
Its pulling the rope only to some extent. After that rope got stiff and straightened. Attached screenshot.
Is it possible to create a game similar to Twisted Tangled Game published by Rollic Games.
I've tried and successfully created a few levels with just 2 to 3 ropes constructed twisted using a spline tool and created rope at runtime by generating blueprints.
But the problem is Obi started to slow down when I introduced the 4th rope. Even with just 4 ropes twisted and collided, It totally stopped working even in high end devices. In that rollic game, it's not slowing down even with 40 to 50 ropes. We don't see any performance lag with either 5 or 50 ropes. How's that done ?
I tried the Ultimate rope tool, which lacks collision strength and a few other limitations too. Failed!
Then I tried creating my own rope using Dreamtek tuberenderer. Not even close to the Ultimate rope tool. Failed!.
Then tried Rope MiniKit, that's the worst of them all. No support for rope-rope collision.
So I wonder what's the possibility of at least coming close to that game ?
In my game player is creating softbodies in runtime. Now, when it happens game lags a little. I assume its happens because at the moment of softbody creation obi solver does not have needed amount of particles and it creates new ones. Can I somehow tell obi solver to create some amount of particles at the start of the game? Im already using object pool for softbodies but even though Im instantiating some amount of softbodies at the start and releasing them but solver does not create particles for them probably because Im creating and releasing softbodies too fast. My current solution is to instantiate softbodies at the start and after 1-2 frames release those softbodies. This way solver is creating needed particles and game does not lag on creation of new softbodies
Hi,
I have added obi collider to the table and rope. But when we pull the rope, its going inside the table. How to avoid the rope going inside the table or any other obi collider?