- Home /
Quirky unasked for Rotation with Ridigidbodies
I am having a small problem, I have a ball circling aroundthe outside of a tube, both are rigid bodies. In the code you will see that it should roll forward, and when I press left and right it should rotate around the tube with its y axis pointing away from the center of the tube, while still rotating forward. Unfortunatly while separately it will do that together it will spiral out of controle in different directions. Also, Once I press left or right, after it does the designated rotation the thing will start rotating itself around the z axis which screws up its orientation when I need it to roll. I assume its because the two rigid bodies are overlapping, but I do need them to touch so other than freezing rotation is there a way to stop the unwanted rotation?
var rot;
var tube : Transform;
function FixedUpdate () {
rot = Input.GetAxis("Horizontal") * -10;
if(rot != null && tube != null){
Debug.Log("working");
transform.RotateAround(tube.position, Vector3.forward, rot);
}
rigidbody.AddForce((tube.position - transform.position) * 5 * Time.smoothDeltaTime);
//rigidbody.AddTorque (Vector3.right * 20);
}
function OnCollisionEnter(collision : Collision){
if(collision.transform.tag == "tube"){
tube = collision.transform;
}
}
Heya, I don't entirely follow your code.
however, it's possible you need to learn about the Physics LAYERS system
generally that's the solution in games when you have two things you "don't want them to touch:
http://docs.unity3d.com/Documentation/Components/LayerBasedCollision.html
(the classic example is when a cannonball leaves a cannon, of course you don't want the cannonball to interact with the cannon as it is leaving.)
So this could help you - ion any event it's basically essential to use the Layers system for any work in Unity. Cheers!
Your answer
Follow this Question
Related Questions
Rotate Object inside room according to wall 0 Answers
Rigidbody Inside Rigidbody 2 Answers
How to anchor object on ground? 1 Answer
Get angle from impact 2 Answers
Rigidbody goes wonky after collision 0 Answers