Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  Rope twitching at 30 fps
#1
Perhaps I'm doing something wrong but every time the FPS is below 60 the rope starts twitching.

Below is the example.

I've added some post processing to the camera to lower the fps.

Reply
#2
(17-03-2018, 11:47 AM)Harpoon Wrote: Perhaps I'm doing something wrong but every time the FPS is below 60 the rope starts twitching.

Below is the example.

I've added some post processing to the camera to lower the fps.

Hi!

We cannot reproduce this behavior, even at < 10 fps.
What is your solver update mode, and what are your fixed timestep / max fixed timestep settings in ProjectSettings->Time?
Reply
#3
Hi.

Here are some more info:

First of all, I'm using Unity 2017.3.0

Solver is using fixed update, and my fixed time values are default: 0.02 and 0.333333

Decreasing fixed time steps exxagerates the issue - as well as increasing solver substeps.

Also, my setup looks like that: I have a rope with a pin constraint linked to the pipe at one end, two handlers in the middle, which are children of that pipe and a third handler which is a child of a device that itself is attached to the pipe. The pipe is a rigidbody with a hinge joint.

I've also tested your sample scenes and was able to reproduce the jittering on only two of them: Chains and Electrical Wires - all the others worked fine.
Reply
#4
(17-03-2018, 04:09 PM)Harpoon Wrote: Hi.

Here are some more info:

First of all, I'm using Unity 2017.3.0

Solver is using fixed update, and my fixed time values are default: 0.02 and 0.333333

Decreasing fixed time steps exxagerates the issue - as well as increasing solver substeps.

Also, my setup looks like that: I have a rope with a pin constraint linked to the pipe at one end, two handlers in the middle, which are children of that pipe and a third handler which is a child of a device that itself is attached to the pipe. The pipe is a rigidbody with a hinge joint.

I've also tested your sample scenes and was able to reproduce the jittering on only two of them: Chains and Electrical Wires - all the others worked fine.

Hi!

We´ve been able to reproduce the problem, and we are investigating the cause. For the time being, reducing distance constraint stiffness slightly seems to prevent it for us. Will get you back with more info asap.
Reply
#5
I think I just found the cause. Go to ObiParticleHandle.cs, and find lines 119-120:

Code:
Vector4[] vel = new Vector4[]{-actor.Solver.parameters.gravity * Time.fixedDeltaTime};
float[] invMass = new float[]{HANDLED_PARTICLE_MASS};

replace them with:

Code:
Vector4[] vel = new Vector4[]{Vector3.zero};
float[] invMass = new float[]{0};

let me know if this works for you.
Reply
#6
(19-03-2018, 05:52 PM)josemendez Wrote: I think I just found the cause. Go to ObiParticleHandle.cs, and find lines 119-120:

Code:
Vector4[] vel = new Vector4[]{-actor.Solver.parameters.gravity * Time.fixedDeltaTime};
float[] invMass = new float[]{HANDLED_PARTICLE_MASS};

replace them with:

Code:
Vector4[] vel = new Vector4[]{Vector3.zero};
float[] invMass = new float[]{0};

let me know if this works for you.

Hi.

This solved the problem. Everything works perfectly now.
Thanks! Sonrisa
Reply