In Unity2D, can I have a fixed-angle sprite with a non-fixed-angle CircleCollider2D?
I would like to move my character using the circle physics (without fixed-angle), but display him always as if he wasn't rotated (as if he had fixed-angle).
I thought I could just let the collider rotate, and then rotate-back the sprite in the LateUpdate
, however since the collider's center isn't 0,0
, it "rotates sideway" and doesn't end up in the "original" position.
My knowledge on matrices and quaterions is null, and trigonometry is only slightly above zero, so I'm a bit at a loss... how can I achieve the desired effect?
In order to prevent a X/Y problem, I want to do that since with box colliders sometimes the characters got stuck: if a platform had even just 1 pixel step, the character couldn't walk over it. Also, slopes were a big problem. Changing the collider to a Circle was the obvious consequence; I also tried to detect and add a small vertical speed but it didn't work very well and was becoming a mess.