Hi, My sprite root object rotates in Y position when i move my character right or left? This wasn't happening, i added a new animation and now it does?
The sprite cannot be on the root object of a 2D character - place it onto a child object and assign it as the "Sprite child" in your character's Inspector. Then make sure your animation does not control the rotation of the sprite, as this will override AC.
Hi, i explained that wrong. Please watch video, taking not of inspector info. These only happened when i added a new animation with character holding a long object:
AC keeps the sprite child facing the camera by directly manipulating the "y" rotation each frame. As you control the rotation in your animation, it's preventing this correction from occuring. Remove the "y" rotation curve from your animation.
Animation mirroring involves overriding the scale. You will have to make sure you don't affect the x-scale in the same way. When animating the transform of your sprites, take care to only ever animate the properties you need to.
All Sprite childs have a sprite renderer, but not all have a sprite in that renderer as this sprite child is sometimes just a root for holding different sprites animations, pease see previous video, I leave enough time to point out the inspector window
Comments
It may have something to do with the scaling of either the sprite or the gameobject it is attached too. i get this when one of them are not 1,1,1.
I can never remeber which one does it tho. sprite or parent.
it was due to the scale of the sprite.
But when translating from one place to another via object ->translate.
Not using this method.
1) Your Sprite child does not have a Sprite Renderer component attached to it.
or:
2) Your Sprite child's Sprite Renderer has no Sprite assigned.
Are either of these the case?
else if (antiGlideMode)
with the following:
else if (antiGlideMode && _spriteRenderer != null && _spriteRenderer.sprite != null)
Then let me know if scaling works as it should if Only move when sprite changes? is checked.