Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
SOLVED - Rotating Obi Collider smears my rubber ball
#1
Hi! 

I'm using a Volume blueprint (Surface blueprint works the same) on the ball and an Obi Collider on the pole. The pole is rotated via transform.Rotate. When the pole hits the ball it moves through it and smears it like a jelly. Can you help me, please, to achieve the effect from this Obi video https://youtu.be/-qaQETsXeWA?t=49 ? I want the poles to push the ball without getting into it.
Reply
#2
(24-08-2020, 04:15 PM)the-lander Wrote: Hi! 

I'm using a Volume blueprint (Surface blueprint works the same) on the ball and an Obi Collider on the pole. The pole is rotated via transform.Rotate. When the pole hits the ball it moves through it and smears it like a jelly. Can you help me, please, to achieve the effect from this Obi video https://youtu.be/-qaQETsXeWA?t=49 ? I want the poles to push the ball without getting into it.

This is just standard collision response behavior, there's nothing special to be done for it to happen (except adding a ObiCollider component to the sphere, that is). Can you share a video of the results you're describing? It could just be tunneling, but I can't be sure without taking a look.
Reply
#3
I'm sorry. Didn't see the video wasn't attached. Here's the link: https://youtu.be/J7PyR_ePCi4
Reply
#4
(24-08-2020, 07:09 PM)the-lander Wrote: I'm sorry. Didn't see the video wasn't attached. Here's the link: https://youtu.be/J7PyR_ePCi4

This is just my guess, but your problem probably stems from a combination of thin "propeller" arms, improper simulation of the propeller, and too high friction with the floor: the softbody is being slowed down by friction. Since the propeller is not a rotating rigidbody but merely a rotating transform, it completely ignores the friction force (the propeller is not also slowed down due to the jamming softbody, because it is not simulated at all) and continues pushing. This causes tunneling to kick in.

Things I'd try:

- Reduce friction between the softbody and the floor.
- Make the propeller a rigidbody driven by a motorized joint, so that it is also part of the simulation. This would allow friction to slow down both the softbody and the propeller.
Reply
#5
(25-08-2020, 08:08 AM)the-lander Wrote: Thank you for the answer, but it didn't help. The Softbody ball seems immovable: https://youtu.be/dWLejv8lvbs I can move it freely and it will move the petals.
Here are my settings for each separate propeller petal: https://prnt.sc/u5ojlp  It's enough to move a usual sphere with a Rigidbody component, but doesn't work on my softbody ball.
Here's how my Softbody ball looks like: https://prnt.sc/u5olkl
And here's the Solver: https://prnt.sc/u5om7s

Just make sure the motor joint applies enough force to move the mass of the softbody ball, so make sure its mass is comparable to that of the ball if you want sane force values to work. A default unity rigidbody has a mass of 1 kg. The mass of your softbody entirely depends on the mass values you applied when generating the blueprint, it might be many times heavier than a simple rigidbody.

Remember that force = mass x acceleration. So to move a heavy object, you need to apply a large force.
Reply
#6
Take for instance the BallPool sample scene. I've added a single motorized cube at the center. Each ball has a mass of 91 kg (each particle has a mass of 1 kg, and there's 91 particles in the softbody).

So I gave the cube a mass of 100, which is slightly heavier than a single softbody. I could also reduce the mass of the softbody particles to make them lighter, of course. Thing is masses must be comparable, or you will have to use an absurdly large force to get a heavy softbody to be affected by a comparatively light propeller.

Now I set up the motor to a target velocity of 50, using a force of 1000. That works quite well, and allows the propeller to jam if too many softbodies oppose its movement. Cranking up the force to 80000 makes it push any amount of softbodies effortlessly, without losing momentum:



Btw, don't add a rigidbody to each individual propeller petal if you intend the entire propeller to act as a whole: a single rigidbody at the root of all petals is enough, and will allow them to move in unison instead of independently.
Reply
#7
Guess who was the problem all this time? Me) 
I had a rigid body attached to an object who was a child the player ball. And it was kinetic. I was adding force to the player thus jamming one rigid body into another.

Thank you for your support )

Here's my feedback: man, you clearly lack a facepalm smilie face in the icons on this forum so I'm using this  Astuto
Reply