Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Official Animation Status Update (Q4 2022)

Discussion in 'Animation' started by UnityChinny, Dec 21, 2022.

  1. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    63
    Hello everyone,

    No news is good news?
    Things have been a bit quiet I know, but that is not a reflection of our progress. In fact, the team is very much heads down and making steady headway on a number of fronts. Now, we used to refer to the new system simply as DOTS animation, but it will be so much more than that, especially as we know how important it is that it works with GameObjects and monobehavior. This does mean some extra development, and naturally poses some challenges, but it will also mean that the new system will be able to reach a much wider audience out of the gate. There will be big benefits to coding or using the new system in a familiar fashion, while knowing any specific limitations or extra performance requirements, can likely be addressed with ECS.

    Stable Entities 1.0
    I mentioned before that the new animation system is being built using Entities. If you have not seen it already, check out this forum post which goes into great detail on this and other related subjects.
    It is still experimental, which has meant the animation team has been helping put it through its paces. However, as Entities is the backbone upon which we are developing, we must wait until a stable Entities 1.0 is out and production ready.

    Unite 2022
    With COVID limiting so many events, it was wonderful to finally get back to a sense of normality last month. Thanks to everyone who participated, and to everyone I managed to interact with - it was a pleasure to get to know you!
    At Unite, I heard feedback from many of you on two important subjects.
    1. Stop shipping half-finished or competing features, especially if there is already something existing.
    2. As best as Unity can, tell everyone when something is realistically going to be ready (or not) so projects can be planned accordingly.

    So when is the new animation system coming?
    At least another year.
    Sorry I know it is not what you wanted to hear, but given what I have just mentioned, it is the best we can estimate and give you at this time.

    Now onto something we have shipped...

    Navigation in 2022.2

    I thought it might be of interest to some of you to mention AI navigation. The new navigation package is out for 2022.2. You can read more about it here.

    Thanks for all the feedback (in all forms) including via the roadmap page - it is much appreciated.

    Chinny
    Senior Product Manager - Characters and Animation

    Links and stuff
    Roadmap page https://unity.com/roadmap/unity-platform/3d-characters-and-animation
    ECS https://unity.com/ecs
    Experimental Entities 1.0 https://forum.unity.com/threads/experimental-entities-1-0-is-available.1341065
    AI Navigation https://forum.unity.com/threads/theres-a-new-navigation-package-in-town.1371633
    Unite https://unity.com/events/unite
     
  2. Christmark

    Christmark

    Joined:
    Dec 28, 2022
    Posts:
    1
    Amazing information. I really enjoyed reading this thread and discussion
     
  3. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,097
    Man, can you talk with the other departments in your mess of a company and decide on the state of entities? You say it's supported for production here (and heavily imply that it's ready and out): https://blog.unity.com/technology/2022-2-tech-stream-available

    Elsewhere you call it a pre-release (but supported for production) which is a confusing mess on its own: https://forum.unity.com/threads/dots-development-status-and-next-milestones-november-2022.1366989

    And in this thread you call it experimental.

    It can't be both experimental and supported for production. The thread you linked is old and outdated btw.

    Make up your minds.
     
    Last edited: Dec 29, 2022
    Unifikation likes this.
  4. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,224
    As far as I can tell, there's been no public preview of what you're making, and no information other than "it'll do all the things".

    I'll reiterate what I've said before - the animation stuff Unity has made behind closed doors with no public interaction has all had huge problems. Being heads down and making steady headway is really bad if you're making Animator 2.0.

    Are there any plans to tell us anything, so we can tell you if there's spots where you're making mistakes? Or are you just going to boldly march of blindly off a cliff?

    Is it even worth it, then?

    My understanding was that Playables is a pretty thin layer over some pretty jobified code already. Are you actually giving us more value spending at least one year on making idk what, rather than making Playables play a little bit better with DOTS and calling it a day?

    Then you could spend much more of your effort on the quality of life improvements for GameObject animation that will benefit other people than like the 12 or so that are using DOTS.
     
  5. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    63
    Hi AcidArrow, that's a fair point and good call out. Usually packages in a Tech Stream are not production ready so we have used terms like Pre-Release and Experimental to reinforce that there are likely still issues. The latest ECS in the 2022.2 Tech Stream is far further ahead than normal given its incubation time, so I slipped back to using an these old terms as we are building an experimental animation system on top of ECS 1.0 - apologies for the confusion.
     
    AcidArrow likes this.
  6. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    63
    Hi Baste,
    Thanks for the comments, others might be thinking the same thing.

    We are not doing this in a vacuum - feedback is crucial to our development decisions. We had a number of customers giving feedback on the various DOTS animation packages (last public one being 0.9.0-preview.6) and a bit like Playables it did not always work well with other built-in systems, which was a major sticking point for the customers we worked with. As I mentioned here, we have got a lot of feedback that there needs to be a bridge to GameObjects and monobehavior so teams can work where they have invested and are most comfortable, yet still leverage the huge benefits of ECS at the same time if desired.

    However it is not ready for public preview yet, but we will absolutely be looking to incorporate feedback once it is. I don’t think anyone has said “it will do all the things”, but it will address the architectural limitations of Mecanim and be an extensible foundation for many years to come. Simply patching some areas is not sustainable.

    It has been a big investment for us, and we are really looking forward to all your feedback once we do get it out there. Unfortunately the reality is that the timing is still a little way away.

    Chinny
     
    rdjadu, saskenergy, NotaNaN and 2 others like this.
  7. Kreshi

    Kreshi

    Joined:
    Jan 12, 2015
    Posts:
    435
    Hello @ChinnyBJ

    I actually like Mecanim, I like the layer-system and blend-system.
    Overall I focus a lot on workflows and getting things done + for the stuff I do, I never had a performance-bottleneck regarding the Animator.
    Saying that, there is something missing in Mecanims default system which is triggering events!
    So I know there is the possibility to trigger events using the animationclip itself, but this scales very bad since you can't just swap animations like that without having to configure all events one more time.

    I don't know if this has been mentioned before, but my suggestion solving this issue would be to add the animationclips events-functionality to the animation you configure in the AnimatorController as well as to the transitions connecting those.
    I think having such a functionality out-of-the-box could improve peoples workflows a lot :).
     
    xodennisxo likes this.
  8. AnaWilliam850

    AnaWilliam850

    Joined:
    Dec 23, 2022
    Posts:
    36
    I also think that no news is a good news
     
    ThynkTekStudio likes this.
  9. DatCong

    DatCong

    Joined:
    Nov 5, 2020
    Posts:
    78
    animation will come with dots in 2022.3 LTS and u said there is a year to release new animation, so what is animation solution for 2022.3 ?
     
  10. Onigiri

    Onigiri

    Joined:
    Aug 10, 2014
    Posts:
    415
    only mecanim until first versions of DOTS anim will out in 2024
     
    DatCong likes this.
  11. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,074
    I think after stable Entities 1.0 release, official should try the best to release a public super alpha experimental package even it's not completely working and feature rich like only can support dots and not game object. At least release super alpha experimental package for people try out first. I afraid if waiting 1 more year and official release something that is not unity user really wanted then official just waste 1 more year of time.


    Do u mean this new animation will support both dots and game object and it will have some kind of unified tooling to support both dots workflow and game object workflow?
     
  12. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    63
    Thanks for the feedback.
    Yes the plan is to allow anyone to continue using game objects, and it will use DOTS/ECS under-the-hood wherever possible
     
    ModLunar and sqallpl like this.
  13. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    63
    Whoops, I missed your post, sorry about that.
    Thanks for the breakdown, it is a appreciated.
     
    Kreshi likes this.
  14. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,074
    I see but how about dots user? I guess it will convert the whole thing to full dots for dots user?
     
  15. UnityChinny

    UnityChinny

    Unity Technologies

    Joined:
    Feb 17, 2021
    Posts:
    63
    DOTS/ECS users will be good to go, no conversion necessary.
     
    rdjadu and optimise like this.
  16. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,111
    What new animation in the next version will look like?

    I hope it be animation with graph node system
     
  17. Onworlds

    Onworlds

    Joined:
    Feb 19, 2015
    Posts:
    7
    There are significant performance issues with Mecanim and Playables, particularly in cases such as professional use and VR.
    We want a very fast animation system at a low level.
    If additional development is planned to make it more "user-friendly", please focus on releasing it as soon as possible and prioritize optimization.
    Without a basic animation system, DOTS cannot be considered a complete system.
     
  18. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,074
    Btw I guess official currently already have solid dots animation package compatible with entities 1.0? Just currently it's still very barebone like public 0.9.0-preview.6 and missing a lot of graphical tooling and game object compatibility. If yes then I think it's ok to schedule a new public release first after stable entities 1.0 is released this year for feedback or for early adopter to use it in production if it's enough for certain projects. I really would like to see a new public release at this year that I believe it's already over 2 years dun have any public release after 0.9.0-preview.6. The main reason why I keep stressing this is because there's always have something must-have but official will miss out. To minimize this issue as much as possible, I believe continuously release new version to for early adopter to give feedback is the solution to battle test this new animation system as much as possible
     
    Last edited: Jan 25, 2023
    Endlesser likes this.
  19. echu33

    echu33

    Joined:
    Oct 30, 2020
    Posts:
    59
    Hello @ChinnyBJ,
    While the new animation system need another year (and I can wait).

    Is it possible to update package like Playable Graph Visualizer for the sake of current built-in animation system? Using Playable AP to write our own animation system is a solid option and working nicely(Even I can write tools like this in a few weekends) but does require significient effort to figure it out by our own.

    And it's a shame that this package is one of the half-finish package on official github repo.

    I believe a better documentation and update package like playable graph visualizer can help developer built their own animation tool in Unity more easily.
     
  20. SolarianZ

    SolarianZ

    Joined:
    Jun 13, 2017
    Posts:
    215
    strider4, Unifikation and echu33 like this.
  21. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,111
  22. LeFx_Tom

    LeFx_Tom

    Joined:
    Jan 18, 2013
    Posts:
    88
    It's - honestly - really disappointing to hear. My main issue lies with the fact, that by the time those systems will hit production stability, we'll have had about 3-4 years without any kind of meaningful update to basic animation systems in Unity.
    Even systems like timeline, which technically would not even need the whole backend overhaul to become more mature and polished, get left behind. I really don't get how your internal team structure is supposed to work - how few people are there working on those core technologies, that it is seemingly impossible to fix glaring front-end/ux issues with things like timeline and animator, because some other team is still figuring out, how to completely overhaul most of the basic backend technology, which will then be the perquisite for an animation core backend team to build new anim-tech on top.

    Why can't there be another, small team, that could very well work on a few UX/front end improvements, that might become obsolete in 2-3 years, when the new system hits (whenever that actually might be) - but that would still make life better for the people actually using your engine for those 2-3 years in between.

    I'm talking about basic things like being able to copy/paste timeline-structures/directors/associated gameobjects between scenes, copying keyframes, improved events/signals and better documented/shown workflow for custom playables etc.
    Heck, half of that would probably be able to transition to another, new animation backend without much work, because it's basically more of a UX/workflow topic than real animation work.

    So far, we've been offered promises about whatever future technology there might be, without reliable time-frames - the only reliable thing at the moment is, that there will be another post in the future, telling us, why things had to be postponed another year for another really, really good reason - but this time, feedback has been heard for sure and all will be well, when the new system hits.

    Sorry for the attitude - it's just really, really frustrating, because it has been an ongoing issue with so many things of Unitys development for the recent years...

    But to end on a positive note:
    @ChinnyBJ Thanks a lot for actually trying to keep us updated, as much as you can/are allowed to.
    It would probably help a whole lot more, if we could actually see, how far your time might actually be already - it might even help to set a better outlook when we can really tell, that the new systems will be cool and all. But I understand, that it's not your fault/decision to make, so I appreciate that you try to be as transparent, as you can be!
     
    UnityChinny, Onworlds and SolarianZ like this.
  23. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,111
    I just found out that NVidia omniverse also have a great graph scripting tools for animation. This could be a great reference for same system in unity

     
    thelebaron, ThynkTekStudio and Kreshi like this.
  24. bobadi

    bobadi

    Joined:
    Jan 3, 2019
    Posts:
    613
    mecanim is way more advanced than this.

    also any animation system that is limited to flowchart-style of transitions, will be limited.
     
    VietTho likes this.
  25. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,111
    - In graph node system you can make sub UI for special node to serve your specific need
    - Mecanim may be more advance in animation related things, but other ability is very lacking and need to switch to C# code to fine grain control in other aspect
     
  26. ThynkTekStudio

    ThynkTekStudio

    Joined:
    Sep 4, 2021
    Posts:
    58
    so GDC is over without any mentioning of a DOTS Animation System, either that or i've missed something
     
  27. Shushustorm

    Shushustorm

    Joined:
    Jan 6, 2014
    Posts:
    1,084
    Meanwhile, in most cases, I just need simple animations and quite a number of those with only a few requiring a full blown state machine, and I'm still struggling with the decision whether or not to invest time using the Animation component, which is much more light weight as well as completely straight forward and efficient to use (no unnecessary asset creation or assignment thereof with a completely viable, simple list of animations), yet has been marked legacy for quite a while (4y? 5? [EDIT: 5.2 docs state "legacy" already and it's from 2015, so it's at least about 8 years that it's marked legacy, with no valid, dependable alternative]).
    It'd be great if its legacy status was reconsidered. So that you can depend on this feature simply being an essential part of Unity. Not a package, either. Simply a part of Unity, just like AudioSource. It's just as essential. Maybe it's feasible to maintain? Considering the complexity of other systems you're working on, it seems like a very small undertaking with huge impact on workflow efficiency. More complex isn't always better. Needlessly complex is certainly bad. I think it makes sense having a system that's not just able to play thousands of animations efficiently, but also one that keeps dev usage time low. And for that, Animation worked perfectly. I'm even actively thinking about writing animations by code rather than using keyframes just to sort this out, which isn't optimal either, of course.
     
    Last edited: Apr 19, 2023
  28. tsukimi

    tsukimi

    Joined:
    Dec 10, 2014
    Posts:
    57

    You can play AnimationClip with just one method call:
    AnimationPlayableUtilities.PlayClip()
    . Below is a simple component that uses the foundation of Animator, but is more handy as Animation. (no new assets need to be created for playing!)
    Code (CSharp):
    1. public class SimpleAnimation : MonoBehaviour
    2. {
    3.     [SerializeField] private Animator animator;
    4.     [SerializeField] private AnimationClip clip;
    5.  
    6.     private PlayableGraph playableGraph;
    7.  
    8.     private void OnEnable()
    9.     {
    10.         // play
    11.         AnimationPlayableUtilities.PlayClip(animator, clip, out playableGraph);
    12.     }
    13.  
    14.     private void OnDisable()
    15.     {
    16.         // stop
    17.         if (playableGraph.IsValid()) {
    18.             playableGraph.Destroy();
    19.             playableGraph = default;
    20.         }
    21.     }
    22. }
    Though it will be appreciate that Unity make it default component.
     
    Shushustorm likes this.
  29. Shushustorm

    Shushustorm

    Joined:
    Jan 6, 2014
    Posts:
    1,084
    Thanks for the suggestion of Playables! Last time I checked, it still made the impression it'll be a short term experiment, which is going to be deprecated soon (as Unity does often times), but it seems it's included now rather than a package (I migh be wrong) and it seems it's out of any experimental stages. Might be a replacement after all, if the performance is comparable with Animation (which I'm still not sure about).
     
  30. SolarianZ

    SolarianZ

    Joined:
    Jun 13, 2017
    Posts:
    215
    The stable version of the Playable API has been available since Unity 2017, and its animation-related interfaces have not undergone any major changes in recent years. Therefore, Playable is not an API that will be abandoned soon, although it does not seem to have any new features. There are some bugs in the animation Playable, but it is sufficient for selecting one or two AnimationClips to play among a large number of them. Additionally, Playable has good performance.

    Here's the official example code: https://github.com/Unity-Technologies/SimpleAnimation
     
    Shushustorm likes this.
  31. Shushustorm

    Shushustorm

    Joined:
    Jan 6, 2014
    Posts:
    1,084
    Thanks for the extra context! Usually, even a few years after "stable" release, things can start getting shaky, but 5 years with no major overhaul seems like good news! Sounds all great so far! I'll keep that in mind!
     
  32. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,097
    Nah, SimpleAnimation is buggy and still is very slow. The blog post where they admit it is deleted now, but you can read about it here:

    https://forum.unity.com/threads/legacy-vs-mecanim-performance.522456/#post-3429620

    (or I guess you could hunt down an older non-deleted version in archive.org)

    I'll add the relevant bit here as well:

    So Simple Animation is a deprecated and abandoned pile of S***, that is really slow and has all the issues the animator has, it just has a simpler front end. That's it.
     
    Shushustorm and Unifikation like this.
  33. SolarianZ

    SolarianZ

    Joined:
    Jun 13, 2017
    Posts:
    215
    @AcidArrow SimpleAnimation is buggy and slow, but it is just a sample of how to use the animaiton Playable APIs, so it can't represent the whole Playable system.
    The Animation Playable itself does have many bugs, but it is efficient and stable enough to use it to select a few animations from a large number and play and blend them simply. Just decide what technology to use based on our needs rather than how good the technology is.
     
    Shushustorm likes this.
  34. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,097
    It's not efficient. That is the point. It's still "the animator", Playables just allows you to bypass the horrible controller / state machine. There are gains to be had by ditching the controller / state machine, but for playing simple animation, it still has a ton of overhead.

    And I don't know about you, but my needs most of the time are very simple animations with a handful of keyframes and every time I test playables / animator it is waaaay too slow for that if you want to be using it in any "significant" numbers (like... more than 20...).

    I'm trying to use the technology that fits my needs, but Unity keeps insisting it's legacy and I shouldn't use it, while branding their newer stuff as efficient when they aren't (but people keep repeating they are, because Unity said so).
     
    Shushustorm likes this.
  35. tsukimi

    tsukimi

    Joined:
    Dec 10, 2014
    Posts:
    57
    Maybe you can use DoTween or some tween asset, if animator/playable doesn't match your needs.
     
    Shushustorm likes this.
  36. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,097
    Yes, we made our own tweening library and are using that currently, in efforts to stay as far away as possible of any Unity related animation solution when possible.

    This does not really negate the need for Unity as a software to have a way to play a few keyframes really fast.
     
    Shushustorm and tsukimi like this.
  37. Shushustorm

    Shushustorm

    Joined:
    Jan 6, 2014
    Posts:
    1,084
    Most of the time, my use case exactly.
    20? Is that a joke? ... Well, I guess there goes the alternative to legacy Animation..
    Well, 3rd party always leads to being very dependant.
    Well, I guess I might as well just reconsider what I already considered:
    If only Animation was there to stay, an officially supported and a lightweigt, integrated solution. I find it baffling they keep working on things like HDRP and DOTS, while we can't even have simple nice things like Animation.
     
  38. SolarianZ

    SolarianZ

    Joined:
    Jun 13, 2017
    Posts:
    215
    @AcidArrow You just quoted my text out of context, I'm not say that Playable is always efficient.
    upload_2023-4-30_13-23-14.png

    Animator is designed for more complex character animations. If you only need to play some simple keyframe animations, it will undoubtedly be cumbersome and slow.
     
  39. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,097
    Then I do not understand what you think is efficient.
    You said this. For simple cases this is simply not true. That is my whole point.

    If you mean it's not super terrible for one specific use case, which is complex character animations, then say that.
     
  40. Shushustorm

    Shushustorm

    Joined:
    Jan 6, 2014
    Posts:
    1,084
    And just if it hasn't been said already:
    If you consider Animation "still there" and everyone can use it, please keep in mind:
    "Legacy" does mean it could be removed any minute. I don't want to spend countless hours reworking all scenes and all GameObjects within that use Animation if it gets thrown out of the window any day.
    The wording is quite important here and given that you have been naming Animation "legacy" for at least about 8 years makes things even more obscure. Either get rid of it or officially support it (the later of which I very much hope for). Either way, then one would know what and what not to use.
     
  41. bobadi

    bobadi

    Joined:
    Jan 3, 2019
    Posts:
    613
    this has me bugging for long time

    the .anim size has changed around 2020.
    is there a reason for this?
    haven't registered anything being changed in mecanim to cause this

    the same .anims in U5.6 and U2022
    animsize.jpg

    if there is thousand animation files in a project that's a considerable size increase
    and I guess that's not good for performance either
     
    Shushustorm likes this.
  42. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,097
    You can open both files in a text editor and see what's different.
     
    Shushustorm likes this.
  43. bobadi

    bobadi

    Joined:
    Jan 3, 2019
    Posts:
    613
    the difference is that the old version file is unreadable signs (scrambled)
    and the new version file is readable words (curve values, tangents etc)

    if that is the reason I'm not sure it has any use / was worth it
     
  44. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,224
    Sounds like the difference isn't your Unity version, but version control settings. The "scambled" version is just the binary bytes, while the non-scrambled is human-readable yaml.

    The setting to change that is the Asset Serialization Mode. This defaults to "force text" these days, but I think it used to default to "mixed" or "force binary" back in the days.

    This has no bearing on the space the asset takes in builds, as they will always be stored with the binary format in builds. For most asset types, the text format is best as it can often automatically merge, but for animation files in particular, there's a lot of easily compressible data. You can consider setting your project to "mixed" and then reimporting all assets if space or import times in a problem on your 2022 project.
     
    Shushustorm, Thaina and AcidArrow like this.
  45. bobadi

    bobadi

    Joined:
    Jan 3, 2019
    Posts:
    613
    thanks. set to force binary. it is smaller but there's still a bit of difference

    hm, okay. I did a re-import and then the file size is the same.
    oh good. this won't bother me anymore.
     
    Last edited: May 1, 2023
  46. alex_facepunch

    alex_facepunch

    Joined:
    Dec 4, 2013
    Posts:
    5
    Kind of feel like I've found a treasure map with these anim update threads :) Very promising to hear of the plans for the future, I was kind of expecting the current mechanim system was just going to continue this way forever.

    In a huge oversimplification, anything that moves us to a system more like ue5/source2 would be a dream. The ability to input conditions into the anim/skeleton that can be then built up to create a final output anim would be amazing. Also, things like:
    • Overlays can be applied at any part of the resulting anims construction
    • Curve weights in the animator
    • Per bone masking/ blending ( not just a section of the body like current humanoid masks)
    • Transition curves between states
    • More robust ( and sensible) additive animation system
    • More complex ik / fbik rig
    • Blending ragdoll & animation ( being able to set final end poses)
    • Procedural modifiers - A tool to set offsets per bone or defining curves to create movement between stances & anims
     
  47. bobadi

    bobadi

    Joined:
    Jan 3, 2019
    Posts:
    613
    I don't see why would you go for a complicated high level closed animation system, when all you need is access to animation (stream/curves etc) and you can easily do all this (bone masking, weights, blendings, overlays etc)

    which is what AnimationHumanStream was to be, but feels like abandoned and should have been doing this for all anims, not just the anim playing, performantly and with any point (normtime) access and transition to

    okay, we would need blend trees, but the foundation needs to be one that has animation curves access on the lowest level and with no restriction on when (mecanim can do that, but is like an exploit, nothing to support it)

    I might be completely wrong though, since unity can do all already, can do motion matching, active ragdoll (mixing animation with physics), blend-tree structures, accessing/sampling curves, retargeting, so some fine-tuning, re-shuffling can potentially bring along an animation system that is robust and flexible at the same time
     
    Last edited: May 5, 2023
  48. DreamingImLatios

    DreamingImLatios

    Joined:
    Jun 3, 2017
    Posts:
    4,008
    This has been my argument for a long while, and eventually I ended up implementing exactly this myself for ECS. Raw control over when, and how animations are sampled and applied. My solution doesn't use curves, but a different kind of compression, but still accomplishes the same goals.

    Once you have something like this, anyone can build any higher-level solution on top of this. However, if a higher-level solution achieves the goals of a particular user, that user will likely not see the value of this lower-level control API. Unfortunately, Unity has fallen into this trap numerous times as of late and have focused heavily on high-level out-of-the-box workflows in much of their recent solutions, with extensibility being very much an afterthought. I would be shocked if this new animation solution being worked on has low-level feature parity and performance parity with my solution.
     
    NotaNaN, OndrejP, JesOb and 2 others like this.
  49. Mister2023

    Mister2023

    Joined:
    May 10, 2023
    Posts:
    2
    You can open both files in a text editortosee whatthe differences are.
     
  50. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    641
    I don't envy you guys, there are a LOT of things that can go wrong, and it must be a real pain trying to juggle so many tertiary systems that all combine between all the avatars, riggings, animation layers... the head spins thinking about just the existing headaches associated with the fully realized animation system. One can only imagine the pitfalls of wrangling all the new bells and whistles to be better than the prior system.

    I won't talk your guys' ears off with suggestions, but I've always wanted to list a few things that always bothered me with my workflow over the years:

    This is my current animation setup for the moves in my game (it's gross, I know):
    upload_2023-5-15_5-52-27.png
    This would be so much more streamlined if I could have just a handful of these nodes set up with global timings and transitions, but if I was able to swap the animations for others in the project through scripting. So instead of having 50+ animations: Dragon punch, monkey bash, twirl smash, etc, etc. If I just had Attack A, Attack B, Attack C, and at runtime could swap out the animations associated with those nodes to cut out the bloat.

    upload_2023-5-15_5-50-18.png
    This part of Mechanim always confused the heck out of me, maybe you guys could make it more clear what it does or come up with a better solution for whatever it is.

    A big bug that always got me, was is if you had a looping animation on an additive layer, and used the T pose in frame 0 (which you have to do so the additive layer behaves properly, don't get me started on how many days it took me to find documentation on this), there was no way to get around that T pose popping in for a single frame and looking horrendous as the animation restarts at frame 0.

    Maybe the above issues are already able to be fixed with a proper workflow and I just don't know what I'm doing. It's weird the pockets of information that are out there and workflows that you may or may not be privy to.

    Anyhow! Hope you guys are able to pull this off without too much trouble, and not just so us whiney users have a few more toys to occupy ourselves with when we're not screaming at everyone. On the bright side, Mechanim was actually pretty damned good aside from a few nagging issues that i'm sure you guys have heard all about, so at least you have great reference to draw from.

    Been farting around in the general forum contributing to the same toxicity that's already in this thread the past week and feeling a bit guilty about it now that I'm reminded that there are actual people working at Unity having to deal with all our crap on top of the most mind melting, unrewarding technical issues imaginable.

    Figured I'd chime in with some random well wishes and say that this is one hell of a task you guys are up against, and that it's appreciated. We can only imagine the kind of hell these tools are likely going to be, there are few things as frustrating as trying to manage all these darned finicky animation setups.

    Looking forward to seeing your guys' progress! Even if it takes a bit amidst all the craziness.
     
    Last edited: May 15, 2023