- Home /
Rotating Platform Collision Issue
Hello, I'm making a game where the player have to rotate a platform (formed by two separated meshes) with the mouse to catch falling balls and make them go through it (like a rotating labyrinth).
The problem comes when you try to rotate it too fast, balls ignore collisions with the solid part and goes through it. I have read a lot of similar posts, but nothing worked for me. This is the code that i have right now:
void OnMouseDrag(){
Vector3 mouse_pos = Input.mousePosition;
Vector3 player_pos = Camera.main.WorldToScreenPoint(transform.position);
mouse_pos.x = mouse_pos.x - player_pos.x;
mouse_pos.y = mouse_pos.y - player_pos.y;
puntoFinal = Mathf.Atan2 (mouse_pos.y, mouse_pos.x) * Mathf.Rad2Deg;
if (puntoFinal + puntoInicial != anguloRotacion && puntoFinal != puntoInicial) {
anguloRotacion = puntoFinal - puntoInicial;
}
Quaternion newRotation = Quaternion.Euler (new Vector3(0, 0, anguloActual + anguloRotacion));
Quaternion angle = Quaternion.Lerp(Quaternion.Euler(transform.eulerAngles.x, transform.eulerAngles.y, transform.eulerAngles.z), newRotation, 5 * Time.deltaTime);
rigidbody.MoveRotation(angle);
}
Thanks in advance for your help.
Answer by AlwaysSunny · Jun 01, 2015 at 10:51 PM
I don't understand the whole question. Screenshots, diagrams, videos, etc really help.
I got the gist though, I guess. There are dozens of factors involved in tuning the physics simulation for your game. Some problems are so complex they practically warrant ditching physics altogether, OR, they involve scripted kinematics, and/or changing your expectations.
Ensure you are following all the best practices associated with the physics system by thoroughly researching every aspect. If all else fails, proactively disallow situations which break the physics system.
Unfortunately, short of doing it for you, even our physics gurus aren't going to be able to help with an individual's specific problem - unless you narrow it down for us - because there are so many aspects to consider.