- Home /
rigidbody2D.AddTorque() works differently on iOS, in editor and in web player
Hi All,
I'm still facing very odd things in Unity's 2D physics. Today I discovered that rigidbody2D.AddTorque() adds much more torque in web player than in the unity editor or on iOS devices. Steps to reproduce: 1. Create blank project 2. Create gameobject with cube mesh and box collider 2D. Scale it up horizontally to make a kind of floor. 3. Create another cube with box collider 2D and Rigidbody 2D. 4. Create sphere with circle collider 2D and RigidBody 2D. 5. Attach a new script to sphere gameobject. 6. In that script put rigidbody2D.AddTorque(200f); in the Start() function. 7. See how different is the behaviour of the sphere in unity editor and in web player.
Here's the video from the editor: http://madfatcat.com/00/editorAndIOS.mov
Here's the video of the same project in the web player: http://madfatcat.com/00/webPlayer.mov
Can someone advice me how to fix this weird bug? I have Unity Basic 4.5.1f3 for Mac. I'll appreciate if someone will let me know if he can reproduce this on another mac/pc.
Answer by screenname_taken · Aug 04, 2014 at 03:53 PM
Are you using the keyboard on the desktop and a virtual joystick on the mobile device?
I think it's just because the keyboard is binary while the joystick/accelerometer is not. So it's always giving full force when pressed, while the joystick can give less. You can try putting a speed variable and hand-tweak it depending on the platform with an if statement, but the first thing you should try is to simply normalize the inputs to -1/1.
Thanks for your answer. However, as you can see, I don't use controls at all. I just add the torque to the rigidbody 2D once, when the game starts. $$anonymous$$aybe you can try to reproduce my steps described above?