Latest Threads |
Cloth has stretchy behavi...
Forum: Obi Cloth
Last Post: Andreia Mendes
24-07-2025, 03:15 PM
» Replies: 16
» Views: 464
|
Rope ignoring colliders o...
Forum: Obi Rope
Last Post: josemendez
24-07-2025, 07:03 AM
» Replies: 1
» Views: 101
|
Ladder made by Ropes (Rat...
Forum: Obi Rope
Last Post: josemendez
23-07-2025, 01:43 PM
» Replies: 5
» Views: 252
|
can you remove particles ...
Forum: Obi Softbody
Last Post: josemendez
22-07-2025, 02:19 PM
» Replies: 1
» Views: 154
|
ObiRope Mesh Renderer
Forum: Obi Rope
Last Post: quent_1982
08-07-2025, 11:27 AM
» Replies: 4
» Views: 514
|
How to dynamically change...
Forum: Obi Rope
Last Post: quent_1982
08-07-2025, 06:34 AM
» Replies: 6
» Views: 718
|
Pipeline that bends
Forum: Obi Softbody
Last Post: josemendez
04-07-2025, 09:52 AM
» Replies: 13
» Views: 1,505
|
How to implement/sync Obi...
Forum: Obi Rope
Last Post: quent_1982
01-07-2025, 01:48 PM
» Replies: 2
» Views: 423
|
Collisions don't work con...
Forum: Obi Rope
Last Post: chenji
27-06-2025, 03:05 AM
» Replies: 3
» Views: 487
|
Force Zone apply differen...
Forum: Obi Rope
Last Post: chenji
26-06-2025, 11:41 AM
» Replies: 11
» Views: 1,378
|
|
|
Attaching to Rope, Jitter. |
Posted by: idmah - 07-12-2022, 06:39 PM - Forum: Obi Rope
- Replies (6)
|
 |
I've been looking at several solutions to connecting something / object to a rope.
I ended up using this:
Code: pathSmoother = ropeComp.GetComponent<ObiPathSmoother>();
ObiPathFrame section = pathSmoother.GetSectionAt(ropePosition);
m_Character.transform.position = pathSmoother.transform.TransformPoint(section.position);
to move the character to the rope position. But my rope is attached to a boat and I'm getting a lot of jitter, moving forward and back on the rope, think it's because of stretching.
I also Tried LateUpdate, FixedUpdate. But still pops / jitters ups and down the rope.
Would Pin Constraint be more stable?
I couldn't find any code examples.
Maybe because I don't understand how to read the doc correctly - Hahaha!
any ideas welcome Thanks!
|
|
|
How to make dynamic particle attachment tighter? |
Posted by: azazdeaz - 07-12-2022, 02:24 PM - Forum: Obi Rope
- Replies (3)
|
 |
I have a moving robot attached to a tether. The tether should constrain the movement of the robot. The physics are working pretty well, but visually, the tether always separates far from the robot.
Video: https://gfycat.com/singleaccomplishedangelfish
I tried things like changing the pin-constrain, mass of the rope/rod, but nothing seem to have a serious effect.
Please let me know if you have any suggestions that i should try. The goal is to simulate a pretty rigid tether that doesn't stretch much.
Thanks in advance!
|
|
|
Synchronizing softbody, doesn't render |
Posted by: Milionario - 06-12-2022, 02:41 PM - Forum: Obi Softbody
- Replies (5)
|
 |
So I tried using the same script I had for synchronizing ropes, but instead of using a ObiRope component, I replaced it with ObiActor for a more general approach since it's just synchronizing particles. The ropes work fine but the softbody doesn't, the positions are received correctly, I am drawing debug lines to visualize them:
![[Image: r91h9FW.png]](https://i.imgur.com/r91h9FW.png)
You can see the softbody shape, its there.
This script works just fine for ropes, there isn't any rope specific code there.
This is how I am setting the solver positions
Code: var wantedHostTimeStamp = Host.Now - HostTimespan.FromSeconds(ReceiveDelay);
var states = GetStatesAroundHostTimeStamp(wantedHostTimeStamp);
if (states.HasStates)
{
var interpolationFactor = GetInterpolationFactorBetweenStates(wantedHostTimeStamp, states.Item1, states.Item2);
for (int i = 0; i < actor.activeParticleCount; i++)
{
var globalPosition = actor.solver.transform.TransformPoint(Vector3.Lerp(states.Item1.Positions[i], states.Item2.Positions[i], interpolationFactor));
Debug.DrawLine(Vector3.zero, globalPosition);
actor.solver.positions[actor.solverIndices[i]] = Vector3.Lerp(states.Item1.Positions[i], states.Item2.Positions[i], interpolationFactor);
actor.solver.invMasses[actor.solverIndices[i]] = 0;
}
}
This is where I actually set the particles positions in the solver:
Code: actor.solver.positions[actor.solverIndices[i]] = Vector3.Lerp(states.Item1.Positions[i], states.Item2.Positions[i], interpolationFactor);
actor.solver.invMasses[actor.solverIndices[i]] = 0;
Gettings lots of these:
}
So it looks like its trying to set invalid values for the softbody transform on Softbody script line 281
It works just fine for the ropes and its the same component that i am using to synchronize them, what can I do to track this problem down?
|
|
|
|