| Latest Threads |
Managing dynamic constrai...
Forum: General
Last Post: Qriva0
23-12-2025, 10:40 AM
» Replies: 0
» Views: 156
|
Setting velocity to 0
Forum: Obi Cloth
Last Post: Qriva0
22-12-2025, 11:26 AM
» Replies: 7
» Views: 840
|
Non-uniform particle dist...
Forum: Obi Rope
Last Post: josemendez
22-12-2025, 09:23 AM
» Replies: 10
» Views: 3,309
|
Cloth backside collision ...
Forum: Obi Cloth
Last Post: Qriva0
19-12-2025, 10:07 AM
» Replies: 7
» Views: 1,086
|
Following Seas - Made wit...
Forum: Made with Obi
Last Post: josemendez
19-12-2025, 09:56 AM
» Replies: 1
» Views: 252
|
Obi 8: what's coming up
Forum: Announcements
Last Post: josemendez
12-12-2025, 08:41 AM
» Replies: 8
» Views: 1,613
|
Correct way to update mes...
Forum: Obi Fluid
Last Post: Voxelboy
10-12-2025, 12:48 AM
» Replies: 2
» Views: 509
|
How to make crane wire be...
Forum: Obi Rope
Last Post: chenji
09-12-2025, 10:47 AM
» Replies: 4
» Views: 918
|
How to let Rod not strech...
Forum: Obi Rope
Last Post: chenji
08-12-2025, 03:15 AM
» Replies: 3
» Views: 709
|
Animating rod rest positi...
Forum: Obi Rope
Last Post: Kira0tori
03-12-2025, 10:10 AM
» Replies: 43
» Views: 67,217
|
|
|
| Invalid Skinmap in Cloth Renderer |
|
Posted by: jaripam - 24-10-2025, 01:26 PM - Forum: Obi Cloth
- Replies (10)
|
 |
Hey,
I get this error message:
Invalid skinmap in cloth renderer (Obi Tearable Cloth). Make sure the skinmap is not null and suitable for the mesh and cloth blueprint being used.
I cannot use the tearable cloth, this error also occurs in the TearableCloth demo scene.
Unity 6.2 URP
Obi Cloth 7.1 (latest version)
Thanks!
|
|
|
| Accuracy of Fixed Positions such as Start or End |
|
Posted by: twocomet - 21-10-2025, 09:18 PM - Forum: Obi Rope
- Replies (1)
|
 |
Hello,
I’m writing to ask about a solution for an issue I encountered while using the Obi Rope.
When I attach the rope’s start to another object, I clearly set the start point to the object’s local (0, 0, 0). However, if the object moves strongly, or if I turn the Obi Solver off and on again, the attachment point sometimes shifts away from the specified position.
Additionally, even when only the start is fixed, the update speed of the fixed position seems quite slow while the object is moving. I suspect this happens because it’s only updated in FixedUpdate, but I wonder if there’s any way to modify this behavior.
Also, when the Obi Solver is turned off and the fixed object moves slightly, I’d like the rope to reattach to the newly specified fixed position relative to the object when the solver is turned back on. Would I need to modify the Obi Particle Attachment directly to achieve this? I think there should be an internal option to choose the update method or specify fixed local position and rotation, and it should be guaranteed to work properly.
If there’s any external function or component that can update or refresh these position and offset values dynamically, please let me know.
For now, I’d be happy if the issues mentioned above could be resolved while using the system.
Thank you very much.
|
|
|
| Should actor massScale affect all aspects of simulation? |
|
Posted by: Qriva0 - 17-10-2025, 03:55 PM - Forum: Obi Rope
- Replies (14)
|
 |
Hi, obi actors (in my case rod) have got field with name massScale.
In mu understanding this is multiplier for particle mass and, indeed according to code it's used to with rotational mass and standard mass when blueprint is loaded.
However expected result was that it just influences weight of the actor, so when two actors collide, then the other one is heavier, but the result is that it affects a lot of things, for example compliances does not work in the same way, or collision with static colliders is alos different (but it could be side offect of compliance).
In theory that make sense because compliance is actually just added to weight.
Example from constraint:
Code: float3 dlambda = (omega.value.xyz - compliances * lambdas[i]) / (compliances + new float3(w1 + w2 + BurstMath.epsilon));
In any case, is that expected result? Should mass scale affect everything in this way? If yes, then what is affected except constraint? (I get completely different lambdas)
It seems it influences collision with static colliders too and also velocity applied to body, but shouldn't velocity be mass indepentent? (I add velocity with spring to controll rod movement)
|
|
|
| How to get collision impulse properly |
|
Posted by: Qriva0 - 09-10-2025, 01:34 PM - Forum: General
- Replies (3)
|
 |
I read collision normal impulse, it's said that unit is newtons x time x time, however I am unable to get timestep independent force.
I tried to divide that force by substep time squared or timestep squared, but the value I get is not similar - I would expect to get very similar force whatever the substep count is 4 or 8.
The goal is to detect if I push against something with force greater than X.
Also is tangent impulse never set? Or it's set only for particles or mesh colliders (I use SDF)?
|
|
|
| SDF interpolation |
|
Posted by: Qriva0 - 07-10-2025, 01:09 PM - Forum: General
- Replies (7)
|
 |
Hi, I wonder what would be a good way to modify distance field during runtime.
In my case there are several distance fields, we can treat them as animation keyframes to make this example simple -I want to interpolate between them over time and use it for collision.
The problem with ASDF is those trees have got different number of nodes and it's not trivial to generate new interpolated SDF. What would be good way to tackle this problem?
The best way would be to generate SDF for every update and just swap current nodes in distance field (note I use burst backend), I guess another option is to just sample both an interpolate result, but I would need to modify obi sagnificantly.
Furthermore main question is if such a collision is going to work properly when it comes to simulations itself, I did test with hard swapping colliders and without interpolation it jumps, because of depenetration, so I am not even sure if this would work for normal timesteps (50-60).
|
|
|
| Constrain two rods into each other |
|
Posted by: Qriva0 - 26-09-2025, 04:12 PM - Forum: Obi Rope
- Replies (3)
|
 |
I would like to constrain rod by another one and align them to each other.
The way how I want this to work could be compared to putting one rod into another one, like into pipe.
I managed to write some script that maps particles from first rod to target position on another second rod (based on displacement), but this method fails to create stable alignment.
That script uses end of simulation to run constraint for both rods on each other. Position is casted and delta is based on nearest particle weights, but I guess because I don't mix orientations it fails to keep shape properly or it's caused by the fact it runs after simulation, but I hope I am wrong. Current result is some kind of broke, because outside of constraint particles "break" into their prefered direction, it's more like teleportation of common part, than physical constraint.
My question is - what things I need to take into account to make it work (even if not perfect), and is it actually possible at all without modification of Obi itself?
I also tried to pin particles of inner rod by setting invMass to 0, it kind of works better, but the problem is that it's one sided and first rod does not influence second one.
I wish there was way to kind of "blend" shapes of both rods into each other and make forces to work properly.
|
|
|
| Error building Player: Shader error in 'FluidFoamCollisions' |
|
Posted by: chenji - 18-09-2025, 05:51 PM - Forum: Obi Rope
- Replies (2)
|
 |
I'm not sure how to reproduce in a demo project but my main project now often get this error when I "build and run" (target platform is Android, Obi Rope 7.1):
Error building Player: Shader error in 'FluidFoamCollisions': Buffer count exceeding hard limit. No known hw supports this shader. Consider combining separate buffers into one containing struct elements. at kernel SolveDiffuseContacts (on gles3)
Is there a way to eliminate this problem? I'm only using Obi Rope and this component looks is not related to Obi Rope so maybe I can just do some delete work to work around?
|
|
|
|