Forum rules - please read before posting.

Animation window - in between frames... sprites/frames - frame blending?!!?

Hi,

I'm making a game in 60fps. However, most of my animations has 20fps.

I'm animating my character idle using frames cycles (as in Super Mario, when he looks around (20 frames), scratch is head (20 frames), etc), but unfortunately, those cycles aren't in the same x position, So I add the transformation property, and put a keyframe in the beginning of the new cycle of frames, to math the position of the previous cycle of frames.

When I view the animation that is when I change form the last frame from the previous cycle of frames to the first frame of the next cycle of frames, the position is matched, but when I run the animation, there is a kind of glitch, the frame seems to slide, so there must be in between frames, or frame interpolation. How can I get to those frames? How can avoid that interpolation? Is it possible? I want the change to be immediate, not in a curve..

Thanks, and I hope you understand what I mean :)

Comments

  • edited May 2020

    I solved it, but know I have a different problem. No matter what I do, when I put the rotation positio in the Y position to 180º, whch flips my sprite to left, dispite the animation is correct, in game, it always change it back to the same postion as the sprite. wihch is right, what am I doing wrong?

  • Welcome to the community, @FilipeGarcia.

    when I run the animation, there is a kind of glitch, the frame seems to slide, so there must be in between frames

    For the benefit of others who may face this problem, this will be down to the properties of the Transition in the Animator Controller.

    when I put the rotation positio in the Y position to 180º, whch flips my sprite to left, dispite the animation is correct, in game, it always change it back to the same postion as the sprite.

    I'm not too clear - are you animating the rotation or the position, and is this the "sprite child" you're animating?

    AC will update the sprite child's rotation value itself at runtime, as well as its scale value if you're making use of the frame-flipping feature.

    If you can share more details (with screenshots, ideally) of what it is you're animating I can give more specific advice, but to get around this you have a couple of options:

    1. Unset the sprite from the character's Sprite child field - though you'll also have to uncheck Turn root object in 3D?, and frame-flipping won't work.
    2. Create an "in between" GameObject between your character's root object, and their sprite, and then assign this as the "Sprite child" instead. AC will then take control of that instead, leaving you free to animate the sprite however you wish.
  • chris, you already reply me on youtube.Thanks again :) by the way, in a game oprimized for 1080p, how many pixels should the character have, in height? So it won't be too much pixelated, if we zoom with tge camera? Again thanks...

  • It really depends on how much you want to zoom in by.

    If the game is 1080p, and the largest the character appears is the screen's height, then for best results they too should be 1080 pixels high.

    Unity will apply texture filtering, however, to reduce pixelisation - so you could probably get away with something less. I'd say make the sprites as large as you can, and then reduce them - if necessary - in the sprite's Inspector afterwards.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.