Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question A Timeline animation blocks all other movement even though it plays only for a little bit

Discussion in 'Animation' started by Decimalis, Sep 13, 2022.

  1. Decimalis

    Decimalis

    Joined:
    Dec 1, 2018
    Posts:
    3
    What the title says. I'm making an animation using Timeline, but also accelerated by numerous unrelated scripts of mine.
    upload_2022-9-13_14-19-43.png

    Currently my "players" are standing on a moving platform like this. I have created a whole system that:
    a) Makes them play the walk animation whenever the GameObject moves (so no matter the origin of the movement, whether it's a script, animation or anything else).
    b) Moves them relatively to the platform whenever the platform itself starts moving (without childing the gameobjects to eachother, this felt... bad)
    c) Whenever they move left-right, their sprites get swapped to match the direction they lastly were moving onto.

    Now, once one of them is already moved along with the platform, I wanted him to move just a bit to the left so that he switches his looking direction (so what I want is this):
    upload_2022-9-13_14-27-19.png
    He moves **up** along with the platform no problem. But now, how do I turn him around? I tried with the best and fastest solution that should be working, a short in-timeline animation that would make him go that little bit to the left.

    (the selected animation would be that).
    upload_2022-9-13_14-28-59.png
    For the rest of the time, there is no animation playing.
    However, just this simple fact of a Timeline Animator existing on that object makes the animation block all external movement, even when there is no animation playing.
    upload_2022-9-13_14-30-33.png
    The other "player" goes up properly, since his position is not controlled. The position of the "player" in question should not be controlled either at this time, as no animation is playing, yet it is, making him forced to ignore the movement coming from the script handling the automatic transform relativitity to that platform - which is not what I want. upload_2022-9-13_14-32-14.png
    Pre-extrapolate and Post-extrapolate are already set to none, yet the position is hogged and locked by the animator always, not only during said animation.

    Any possible ideas on how to get around this with a brain, without having to manually animate the relativity to that platform (which can be happening automatically)?
     
  2. Decimalis

    Decimalis

    Joined:
    Dec 1, 2018
    Posts:
    3
    Thanks in advance for the time of anyone who decides to read through this! Really grateful for all ideas!