Search Unity

  1. Looking for a job or to hire someone for a project? Check out the re-opened job forums.
    Dismiss Notice
  2. Unity 2020 LTS & Unity 2021.1 have been released.
    Dismiss Notice
  3. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

"Loop Pose" is misnamed and should be "Make seamless", and a proper looping should be added

Discussion in 'Animation' started by blah, Mar 22, 2016.

  1. blah

    blah

    Joined:
    Mar 21, 2016
    Posts:
    23
    "Loop Pose" currently seems to operate the following way:
    1. The last frame of the animation is merged with the first to something in-between
    2. The animation is played with one fewer frame with the "merged" frame being the looping point

    This is useful when:
    - You use motion capture and you told the person to attempt to make a walk and return to the starting pose as exactly as possible (where "Loop Pose" will then merge the results making it seamless)

    This is really useless/silly when:
    - you are a modeller making a 3d animation, especially a low FPS one where you don't want extensive detail control anyway. In let's say blender you'd then usually not repeat the first frame of the animation again manually because it's a waste of time/space and if you modify things at the very beginning/end you now need to keep two frames in sync which is annoying.

    Therefore, an actually useful loop for manually done 3d animations should fully show the last frame, then transition to the first fully show that one, and then resume in the animation. Also, the name "Loop Pose" clearly suggests that behavior, while actually it's more of a "Make seamless [by merging last and first frame]" which isn't the same as looping over with fully showing all frames including the last one.

    I mean if the last animation frame wasn't important, I would have omitted it in the first place and not added it just so unity can strangely merge it with the first again.

    Other engines I have seen do this better by actually looping over the last frame, so Unity should add this functionality as well.
     
    Last edited: Mar 22, 2016
    Stardog and twda like this.
  2. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,785
    You should consider adjusting your animation workflow to fit the tools - instead of complaining about the tools that don't fit your workflow.
    The animation segment can be adjusted in Unity - instead of making the cycle 0-10 frames you can set the cycle to be only 0-9 frames, with loop frame on. Alternately you can set the cycle to 0-11 frames instead of 0-10, with loop frame off.
    This doesn't cover the functionality you want?

    The loop pose feature doesn't require a duplicated key at the beginning and end of the animation cycle - so...
    this really doesn't make sense.

    As an animator - loop pose works as it's intended to - and agrees with the common workflow of creating animation cycles for real-time characters. The name of the function isn't important if you understand how to use it correctly.
     
    sunseeker1988 and eses like this.
  3. blah

    blah

    Joined:
    Mar 21, 2016
    Posts:
    23
    Thanks for clearing it up, so that means unity just ignores the last selected frame in looping mode then and doesn't actually expect it to be similar - so I just need to select one more in loop mode?

    Still seems somewhat unintuitive and a bit silly, but if it's just that I guess it's not an actual problem and more of a nitpick..
     
  4. ell1e

    ell1e

    Joined:
    Apr 4, 2021
    Posts:
    6
    Extending one frame would be amazing if it actually worked. Sadly, either I'm an idiot, or it just doesn't:

    For me, the workaround of extending by one frame simply doesn't work for me with separate actions (no baked export in blender as a continuous timeline, but rather direct use of actions from the blender actions editor) because Unity will not allow extending to one frame past the end in that case, since there is no more frame to extend to. (At least I think that is the reason.) However, "Loop Pose" as described above will simply throw way the last frame which does not display many animations correctly. The only other workaround I can think of is to butcher the model and insert a trash frame at the end of each animation, which seems like quite an oof "solution" to me. Either I am missing something, or this is quite a problem. I do wonder why nobody else running into this, are y'all just inserting garbage frames at the end? Genuinely curious.

    Is there any work around to this that does not involve kinda damaging the assets? Or alternatively, an engine fix would really be appreciated. And my apologies if there is just a hidden check box that keeps the last frame easily, if anyone knows what to check to magically make this go away that would be amazing. Sadly, the frame extending does not appear to work, for reasons I just explained above.
     
    Last edited: Apr 4, 2021
unityunity