Search Forums

(Advanced Search)

Latest Threads
How to dynamically change...
Forum: Obi Rope
Last Post: josemendez
4 hours ago
» Replies: 5
» Views: 132
Pipeline that bends
Forum: Obi Softbody
Last Post: josemendez
04-07-2025, 09:52 AM
» Replies: 13
» Views: 817
How to implement/sync Obi...
Forum: Obi Rope
Last Post: quent_1982
01-07-2025, 01:48 PM
» Replies: 2
» Views: 195
Collisions don't work con...
Forum: Obi Rope
Last Post: chenji
27-06-2025, 03:05 AM
» Replies: 3
» Views: 258
Force Zone apply differen...
Forum: Obi Rope
Last Post: chenji
26-06-2025, 11:41 AM
» Replies: 11
» Views: 762
Can I blend in and out of...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 04:42 PM
» Replies: 3
» Views: 244
Using a rigidbody/collide...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 09:29 AM
» Replies: 1
» Views: 148
Solver is too performance...
Forum: Obi Rope
Last Post: quent_1982
20-06-2025, 08:09 AM
» Replies: 40
» Views: 4,259
Obi 7 Model Scaling
Forum: Obi Cloth
Last Post: alkis
19-06-2025, 02:37 PM
» Replies: 2
» Views: 259
Obi Softbody instability?
Forum: Obi Softbody
Last Post: Aroosh
18-06-2025, 06:35 PM
» Replies: 0
» Views: 138

 
  I contact with softbody but it is treated as contact with the rope
Posted by: spikebor - 14-05-2024, 12:20 PM - Forum: Obi Rope - Replies (2)

Hi, pls take a look at this video



package: https://drive.google.com/file/d/1WNSuRz9...sp=sharing
In this you will find the scene: Assets/Spike/Scenes/Cut the Rope.unity
In the scene you will have the rope cutter object Rope Cutter with script RopeCutOnCollide.cs
and the masterSolver object with script ObiContactDebug.cs

First part of the video, everything is fine, the rope cutter can cut rope at exact element.
But when it hit the softbody ball, it also treated as hit the rope.

Print this item

  Need the positions to drive VFX graph
Posted by: spikebor - 13-05-2024, 06:42 PM - Forum: Obi Fluid - Replies (4)



Hi, I'm very close to achieve greatness  Gran sonrisa
The target: I want just the positions that the ObiParticleRenderer script is getting to render those spheres.
If I go to the solver and get the positions, the result is all the positions of particle in the solver, including non-active particles.
Which explains the bad effect in the video, we have many particles that just lying around.

Unity 2022.3.16f1 URP14, VFX graphs + samples installed.
Script and scene in this package: https://drive.google.com/file/d/1mmDuFSi...sp=sharing
Scene: Assets/Spike/Scenes/FireBreath VFX and Fluid.unity
Script: ObiVFXRenderer.cs

The script will set positions buffer to VFX graph through GraphicsBuffer, since there is no computation here, so no ComputeShader is needed.
All it need is correct positions that are same as the ObiParticleRenderer is using to render the spheres.
If this is doable, then I can have fireBreath effect that can collide with environment and damage character using Obi collisions.
The fire effect should match the particle 100%, so I can't use advection.

Print this item

  Changing solver gravity vector has no effect on particles
Posted by: T-1000 - 13-05-2024, 06:21 PM - Forum: Obi Fluid - Replies (2)

I have a scene in Unity that uses Obi Fluid. The flow of the fluid can be controlled by rotating the Obi solver's gravity vector in response to WSAD (or the gyroscope input when running on a mobile device, which I haven't tested in the new version but which worked in the old). Note that changing the gravity vector is more convenient programmatically than rotating scene objects because it means I can more easily use a generic script. It also seems to be more stable than rotating geometry.

This all works fine when using `Obi Fluid v6.0.1 in Unity 2021.3.31`, but no longer works using `Obi Fluid 6.5.4 in Unity 2022.3.28`.

In the old version, I set the gravity vector in the `void Update()` method using




Code:
if (Input.GetKey(KeyCode.W))
{
    obiSolver.parameters.gravity = Quaternion.Euler(0, 0, zRotationRate * Time.deltaTime) * obiSolver.parameters.gravity;
}

obiSolver.PushSolverParameters();


(and three others for the other keys), and it works fine (I write the gravity vector to a textbox afterward) - the particles move in response to the changing direction of gravity.

However, in the new version this doesn't actually change the parameter at all. Weirdly, after some trial and error, I found I have to use a temporary `Vector3` variable and then set the parameter.





Code:
if (Input.GetKey(KeyCode.W))
{
    TempGravityVector = Quaternion.Euler(0, 0, zRotationRate * Time.deltaTime) * TempGravityVector;
}

obiSolver.parameters.gravity = TempGravityVector;
obiSolver.PushSolverParameters();


After setting `TempGravityVector = obiSolver.parameters.gravity;` in the `Start()` method, obviously). That does set the gravity parameter. However, it has no effect on the particles at all. The gravity vector does change but the particles don't seem to know it, and I'm flummoxed as to why. Anyone have any ideas?

PS I haven't tried other combinations of versions of Obi and Unity as that would seem to me to be a nightmare.

Print this item

  When I use ObiBone with my blender model, all bones are clustered together.
Posted by: lu_dens - 13-05-2024, 04:26 PM - Forum: Obi Rope - Replies (3)

When I use ObiBone with my blender model, all bones are clustered together. How can I fix it?
All parameters are same as sample's(CharacterTentacles).
When I use Mixamo's models, everything looks normal.
Is there any specific requirement for obiBone in terms of model setup?

Print this item

  Usando ejemplo del RollingFriction
Posted by: d38u993r - 13-05-2024, 02:53 AM - Forum: Obi Fluid - Replies (1)

estoy usando el ejemplo de RollingFriction y lo que hice es usar mi modelo de un grano de elote el cual lo tuve que escalar 100 en el Scale Factor. luego tengo el modelo de un Vaso el cual tiene un MeshCollider y la opcion de Convex activado



Pero cuando le ejecuto el programa los granos salen por debajo del vaso


también cuando termina de emitir los granos estos quedan flotando no se quedan juntos como en el el ejemplo de RollingFriction que todas las piedras quedan juntas.




Aquí se ve como quedan flotando los granos dentro del vaso aunque afuera si estan juntas, según yo deberían de quedar en el vaso también juntas como si se tratara del ejemplo de Granular (no use granular porque ese solo dibuja circulos ) y el RollingFriction se parece al granular pero usa un Modelo3D





   




que estare haciendo mal, porque yo solo modifique el modelo de Rock por mi modelo 3D de una Grano?

Print this item

Exclamación Problems deleting obi colliders with pin constraints
Posted by: btduser - 12-05-2024, 07:29 AM - Forum: Obi Rope - Replies (7)

Hello, I'm trying to do something seemingly trivial - to cleanly delete an object with an ObiCollider and not have my pin constraints blow up - but apparently it's complicated.

I'm creating these pins via scripting, following examples from the documentation. The pinning works fine until I destroy a collider in my scene. When that happens, my console starts getting spammed with the following:

Code:
System.IndexOutOfRangeException: Index 15 is out of range of '15' Length.

This Exception was thrown from a job compiled with Burst, which has limited exception support.

[redacted rest due to forum anti-spam]


After a lot of excruciatingly painful debugging, I finally have an idea of why this is happening, but no idea how to proceed.

From what I have gathered, the issue is due to the fact that when I destroy (or disable) a collider, this changes the number of items in `ObiColliderWorld.instance.colliderHandles`, but the collider handle indexes in the pin constraints don't ever get updated. This also happens if I disable the object. Presumably because in either case, `ObiColliderBase.RemoveCollider` is invoked, which modifies the collider handle list.

This either spams burst errors or causes the rope to jump to completely unrelated obi colliders. Even just disabling and re-enabling an obi collider will steal ropes from other objects - e.g. if I have 10 colliders in my scene, with a pin on collider A at index 9, disabling collider B at index 5 rearranges the list so that A is now at index 8 and index 9 is invalid, which will spam errors until I re-enable B, which causes B to get assigned index 9 again, and now the pin is pointing to B instead of A.

I have no idea how to proceed. I've tried deleting the collider at different steps of the process (using the actor callbacks) in case it was timing-related, but the issue persists. Explicitly calling `rope.SetConstraintsDirty(Oni.ConstraintType.Pin);` after destroying my object doesn't seem to fix anything either.

I don't know what I'm doing wrong - it seems like the issue is a fundamental one, that removing any collider in the scene has the potential to break completely unrelated pin constraints. The only solution I can think of is to modify my pins any time any obi collider is destroyed, but I don't see how that's feasible, since there's no way to make pins immediately aware of the change.

I'm using obi 6.5.4 with burst backend (burst 1.8.14), and the problem persists with oni backend as well (ropes just jump to wrong colliders instead of throwing exceptions). I'm basically at my wit's end here - any help is appreciated.

Print this item

  Softbody for head Model sinks into ground
Posted by: djones2 - 10-05-2024, 11:16 PM - Forum: Obi Softbody - Replies (1)

I made a softbody for a head model, the softbody setup is the same as the Full body volumetric simulation sample scene, when i enter playmode the softbody just sinks into the ground, is it the solver or softbody that is the problem, i binded the skin before i entered playmode. I attached screenshots of the settings, A video showing the effect can be found at https://drive.google.com/file/d/11gGaQRC...sp=sharing



Attached Files Thumbnail(s)
       
Print this item

Pregunta Changing the rope's position
Posted by: Crystalius - 08-05-2024, 05:33 PM - Forum: Obi Rope - Replies (3)

Hello. I've been struggling with moving the rope where I want to. My goal at the moment is to disable the solver along with the rope when I don't need them for performance reasons, but when I re-enable them the position is kept old, which is understandable of course. What would be the simplest way to move the rope after I enable it? I've read your discussion about that in another thread from 2020 but I couldn't recreate their script in Unity's visual scripting. 

I can easily get the positions with ObiRope GetParticlePosition. But how would I set them? If it was the same as getting them and iterating through all the particles I probably wouldn't be writing here.

I would very much appreciate your support here

Print this item

  Can ObiBone work with Softbody?
Posted by: spikebor - 08-05-2024, 03:36 PM - Forum: Obi Softbody - No Replies

Hi, I have this dummy.

[Image: 35A5URH.png]

I want to have the bag part to use softbody, and other rigid part to use ObiBone.
So far, after the setup and bind skin, I notice only the softbody takes effect, even though I had painted the influence for the rigid part black.
I think using both in a setup will be neat, the ObiBone can simulate the part is black, not just ignored completely.
So that's like a wishlist for new feature.

For now, I'll use a fullbody softbody setup and attach the rigid part to bone.
The downside of this setup versus ObiBone is obi bone is much more alive, if you collide with the environment the bone will bend.
The fullbody softbody can bend ofcourse, but the rigid part of it which attached to character bone will stay rigid.

If there is any better ideas please tell me, thanks.

Print this item

  OBI7 Surface Texture Rendering (Lava) discussion
Posted by: spikebor - 07-05-2024, 03:40 PM - Forum: Obi Fluid - Replies (16)

Hi, I'm unable to edit the Foam shader, but I have a suggestion, try this if you're interested.

Using 1 Alpha + Life time info as threshold (0-1) will result in dissolve effect
If you can change the foam shader into this, we can have 5x-10x bigger foam, more coverage and dissolve effect over time with lesser foam count.
I've pack a texture that have parabol for main alpha ® + foam alpha circle (G) + foam alpha directional (B) as dissolve step.
The texture is made in Substance Designer, is free to pack into the final Obi package if you want.
https://drive.google.com/file/d/1aLCCs3I...sp=sharing

If you can pass the foam movement direction as UV, can use the B channel, else can use G channel.

Print this item