- Home /
Can I animate a sprite's draw position without affecting its world position?
I'm making a 2d game using Unity's new 2d update.
I have a wizard character, and I'd like to make her sprite look like it's hovering whenever she casts a spell. The casting animation is only a couple frames long, but I planned to add character to it by adding a Position Transform curve to the animation. Basically, i tried adding an animation curve to offset the sprite's y coordinate up and down by a few pixels to create the hovering effect.
There are two problems with this:
First, adding a position transform of any sort to any animation disables all other movement controls my character had, even when that animation isn't active. Is there something I can do to prevent this from happening?
Second, using the position transform causes the actual game object to move, rather than just changing where the sprite is drawn to the screen. My camera, which follows this character around, begins to "hover" too. I don't want to change where the entire game object is located within the world, I just want to change where it is drawn a little bit. I can foresee all sorts of collision hassles cropping up due to these sorts of purely cosmetic movements, and I'd rather not deal with them.
Am I approaching this the wrong way? It was really easy to produce the movement I wanted using the animation curve system, but it still seems like I'm missing something big.