Search Forums

(Advanced Search)

Latest Threads
Cloth has stretchy behavi...
Forum: Obi Cloth
Last Post: Andreia Mendes
24-07-2025, 03:15 PM
» Replies: 16
» Views: 275
Rope ignoring colliders o...
Forum: Obi Rope
Last Post: josemendez
24-07-2025, 07:03 AM
» Replies: 1
» Views: 54
Ladder made by Ropes (Rat...
Forum: Obi Rope
Last Post: josemendez
23-07-2025, 01:43 PM
» Replies: 5
» Views: 188
can you remove particles ...
Forum: Obi Softbody
Last Post: josemendez
22-07-2025, 02:19 PM
» Replies: 1
» Views: 144
ObiRope Mesh Renderer
Forum: Obi Rope
Last Post: quent_1982
08-07-2025, 11:27 AM
» Replies: 4
» Views: 500
How to dynamically change...
Forum: Obi Rope
Last Post: quent_1982
08-07-2025, 06:34 AM
» Replies: 6
» Views: 693
Pipeline that bends
Forum: Obi Softbody
Last Post: josemendez
04-07-2025, 09:52 AM
» Replies: 13
» Views: 1,467
How to implement/sync Obi...
Forum: Obi Rope
Last Post: quent_1982
01-07-2025, 01:48 PM
» Replies: 2
» Views: 413
Collisions don't work con...
Forum: Obi Rope
Last Post: chenji
27-06-2025, 03:05 AM
» Replies: 3
» Views: 484
Force Zone apply differen...
Forum: Obi Rope
Last Post: chenji
26-06-2025, 11:41 AM
» Replies: 11
» Views: 1,331

 
Triste Obi Softbody weird bug [SOLVED]
Posted by: tufis16 - 17-09-2022, 12:02 AM - Forum: Obi Softbody - Replies (2)

i already added Mathematics, Collections, Jobs and Burst package.


Simple question, i only imported obi softbody why this is happening ? i'm so sad because i love obi products but everytime have bugs like this Triste
[Image: dgx0bnv.jpg]

Print this item

  Runtime Instantiate
Posted by: Rexima - 15-09-2022, 08:39 AM - Forum: Obi Rope - Replies (3)

I used some time ago an older version from ObiRope and i have some questions.
Do i really need to instantiate a rope with an solver as parent? (if not, Is there a callback/event where i know i can unparent the rope from the solver?)
Whats the best way to carry an Particle Attachment? In the earlier version there was an script called "ObiParticleHandle" which gave me the opportunity to carry the attachment.
The attachment is an rigidbody object.

I also noticed, that my rope is acting like a snake, how can i make it to behave like a cable which is more sticky?

Print this item

  Warning on FluidColorizer
Posted by: Fearinhell - 14-09-2022, 07:49 PM - Forum: Obi Fluid - No Replies

I am getting this warning when I brought ObiFluid into my game

Assets\Obi\Samples\Fluid\SampleResources\Scripts\FluidColorizer.cs(11,21): warning CS0108: 'FluidColorizer.collider' hides inherited member 'Component.collider'. Use the new keyword if hiding was intended.

I have noticed that my obi fluid is always black even when setting any color.  Any ideas?  Thanks.

Print this item

Pregunta Collision between two actors
Posted by: KaanOzcelik - 14-09-2022, 04:44 PM - Forum: Obi Cloth - Replies (1)

How can I get two actors to collide with each other? They do not seem to collide even though they are inside the same solver. I have tried enabling surface collision for both actors but it is very inefficient performance wise, and it doesn't work anyways. What should I do?

Print this item

Pregunta '2D' Meshes for Softbodies
Posted by: woffles - 13-09-2022, 12:01 AM - Forum: Obi Softbody - Replies (9)

Hello there,

I've been working quite a lot with softbodies recently, trying to figure out the basis of the engine and how everything works and functions. One of the things I seemingly can't wrap my head around is the prospect of using Obi for 2D.

I'm aware that this is possible, due to this (http://obi.virtualmethodstudio.com/forum...-2668.html) thread here, and I've also been able to replicate things shown, by utilizing the in-built Unity quad primitive, which worked just fine. 

However, in the above mentioned thread, I saw that a flat circular mesh was used, which yielded results identical to that of what I achieved with the quad. I've since tried to replicate such a 'mesh' in blender, making a flat plane and exporting to Unity. However, particles don't seem to generate properly (and the mesh is only visible on one side within the Unity editor) and the softbody collapses and deforms at runtime, even after skinning.

How would I make such a flat mesh that is usable in Obi?

Thank you.

regards,
-woffles


UPDATE: 
I was messing around with the solver settings, and found that it could work just fine when setting solver mode to 3D (which resulted in the quad being deformed and not working properly instead). However, when in 2D, the mesh still fails to work. Still not sure why, but I will keep investigating.

Print this item

Pregunta Realistic Snake Physics with Obi Rope
Posted by: woffles - 10-09-2022, 02:09 AM - Forum: Obi Rope - Replies (3)

Hey all,

I'm aware that it's possible to create some snake-like movement with Obi Rope, through the YouTube channel as well as the demo scene. I was wondering whether it'd be possible to get it even closer to something like this - https://www.youtube.com/watch?v=EUHFG2CnBJ8, done almost 4 years ago, and this - https://www.youtube.com/watch?v=D9lunzyn5yo, around 10 months ago, since the one provided was rather finnicky when climbing or utilizing snake body physics in general.

thank you, and have a nice day :)

Print this item

  (Solved) UserData Indices - 4 is not enough, I want 16
Posted by: nanimo(null) - 09-09-2022, 07:32 PM - Forum: Obi Fluid - Replies (2)

I would like more than 4 channels of UserData.

My Slime Player Character quickly filled up the 4 userdata with:
Motivation: Solid surfaces write 1, Air 0, values dilute to 0, such that only particles near the surface can move, with some moving in desired direction, and some "pushing back" against the surface
Bigness: Each square cell of fluid writes a factor of it's Mass to the particle at the center, which then dilutes outwards. Bigger slime sticks more, smaller slime drops slide off stuff.
Stranded: Particles "Inside" write 1, otherwise sharply dilute to 0. Particles on edge of big-enough slimes hover around 0.7 value, Particles on edge that is a "thin strand of slime" drop to 0.1, and are killed, so that thin strands do not awkwardly hold together large Blobs of Slime, or wrap around edges of objects and prevent Slime Splitting
Teams: An Orange/Blue "Team Signal" writes 0 or 1 to nearest particles, and particles near 0 or 1 Teamness accept input from either "Player 1" or "Player 2", with values around 0.5 being an idle grey that get no input

Workaround?
I can imagine an awful Workaround to the 4-channel limit, by creating one set of intangible "Zombie" Fluid per extra 4 Channels I want. It would copy Position and Velocity, and dilute fluid, and any of my calls to GetUserData(particleIndex, dataIndex) would would send dataIndex 0-3 to "real" Slime, and dataIndices 4-15 to any of the "Zombie" slimes. My need for more UserData has not reached the point to attempt such a disgusting (and probably grossly computationally wasteful) solution.

If Implemented
More UserData would allow me to allocate 2-3 channels to "Team", allowing 4-8 individually-controlled regions of Slime, instead of 2. I could add 1 for Temperature, 1 for Digestion/Energy, a few for Harmful Chemicals. I would especially like to allocate 2 channels to "Applied Forces on x/y axis" such that I can use diffusion to get more "Equal and Opposite Forces", ie applying additional braking where I notice "500 Force magnitude on a particle last frame"


From: Multiple user data and more flexible diffuse

(18-11-2021, 09:44 AM)josemendez Wrote: FYI, the reason why there's only 4 user data channels is because 4 is the length of the SIMD registers used to perform vector operations. This means operating with pairs of user data with 4 components is very efficient. In addition to this we know the data for particle n is at n*4 in the data arrays, making memory access efficient too. Using a variable size for the amount of user data channels would make both accessing the data and operating with it considerably less efficient.

Is there some Compile-Time #pragma technique, locked at runtime, that would maintain performance for 99% of users who stick to 4 channels of UserData?


Type of UserData changing from ObiNativeListVector4 to Vector8, Vector12, Vector16 sounds hairy already. I don't know how it would be implemented.
Adding a 1-4 int picker to ObiFluidEmitterBlueprint is probably totally insufficient, it has to be project-wide, for all fluids, right?

short text message to appease the scripts



Attached Files Thumbnail(s)
                   
Print this item

  Poor performance when enabled surface collision
Posted by: snowtv - 08-09-2022, 07:39 PM - Forum: Obi Cloth - Replies (6)

Hello,

I have a testing scene with one ObiCloth object in it. I need surface collision for the project to make sure that no unexpected object penetrating through this cloth object, however when I turn on surface collisions, the performance become significantly worse, <10 fps. When surface collision is turned off, I can get over 60fps.

Is there a way to improve it?

Another behavior that I'm noticing is that after turning on surface collision the cloth object start to "drifting off" the surface it is placed on.

Print this item

Pregunta Particles instability at boundary of particles with inverse mass = 0
Posted by: TheRitcher - 07-09-2022, 05:10 PM - Forum: Obi Softbody - Replies (2)

Hello,
one way I use to take control of particles (in this case to pull the around) is to set the inverse mass to 0. This method works very well, the "locked" particles are stable and do what I tell them to do but in the specific case of a softbody (not observable on ObiRope), the particles around those whose inverse mass I've set to 0, are very unstable: their position but mostly their orientation keeps changing wildly and make the softbody look broken at the "grabbed" boundary (meaning the boundary of the set of particles that now have inverse mass = 0).
I am calling actor.UpdateParticleProperties() whenever the inverse mass of particles is set (or set back to its original value), additionally I tried to call actor.SetConstraintsDirty(Oni.ConstraintType.ShapeMatching) but it made no difference.
Important to say that I am using the vertex method in the blueprint and I have 1 bone per particle so I think the problem might also be related to the skinner (and I've tried to bind the mesh with different parameters).
Any ideas?
Thanks all!

Print this item

  Fluid Counter
Posted by: 0hsyn1 - 05-09-2022, 01:04 PM - Forum: Obi Fluid - Replies (6)

Hi Sonrisa

i am trying to find out the number of particles of water passing through a collider. 

Emitter produces 400 particulate water. Even if the collider touches all of them, the count remains around 200. 

http://obi.virtualmethodstudio.com/manua...sions.html   I looked here but I don't understand Triste 

https://imgur.com/a/if0G3bu

PHP Code:
   ObiSolver solver;
     [SerializeFieldint counter 0;

     void Awake()
     {
         solver GetComponent<ObiSolver>();
     }

     void OnEnable()
     {
         solver.OnCollision += Solver_OnCollision;
     }

     void OnDisable()
     {
         solver.OnCollision -= Solver_OnCollision;
     }

     void Solver_OnCollision(object senderObi.ObiSolver.ObiCollisionEventArgs e)
     {
         var world ObiColliderWorld.GetInstance();

         // just iterate over all contacts in the current frame:
         foreach (Oni.Contact contact in e.contacts)
         {
             // if this one is an actual collision:
             if (contact.distance 0.01)
             {
                 ObiColliderBase col world.colliderHandles[contact.bodyB].owner;
                 if (col != null && col.gameObject.layer == 7)
                 {
                     // do something with the collider.
                     counter=solver.contactCount;

                 }
             }
         }

     

Print this item