Search Unity

  1. Unity 2019.1 beta is now available.
    Dismiss Notice
  2. We're excited to be bringing you the newest Unity features, news, demos, and we've even got some special guests from some of the industry’s most storied franchises. Set a reminder to tune in on YouTube here
    Dismiss Notice
  3. Unity 2018.3 is now released.
    Dismiss Notice

Maybe a 2D Free Form Deformation system (FFD)?

Discussion in '2D Experimental Preview' started by giorgos_gs, Dec 24, 2018.

  1. giorgos_gs

    giorgos_gs

    Joined:
    Apr 23, 2014
    Posts:
    490
    A simple and powerfull 2D Free Form Deformation system (FFD) is lacking from Unity 2D.
    There is only one asset that does that called "Sprite Deformer Tool" but it not updated from 2016.

    This is really handy for animations in 2d.
    Maybe a new 2D Experimental Preview with FFD?
    Thanks
     
    Vacummus likes this.
  2. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    99
    It has been requested since the first 2D Experimental Preview came in. In my humble opinion, since the basic features (like sorting groups and others) are still not even there, plus the many many bugs the preview currently has, and considering the Anima2D acquisition happened in Dec 2016, my own expectation for additional advanced features like FFD (an many others, id love to see motors for example) are not gonna happen for a while (read: years). Let's just hope the team considers those features, while they work on their early versions of the system, so they become easy to add later). Atm there are other 3rd party tools available, packed with features that i cant imagine - if you required those - Unity2D will have anytime soon. I had this question myself - whether to wait with some 2D features in a WIP game - for Unity2D to catch up - or use 3rd party instead - quickly realized it's not feasible for me to wait for what i required, 'coz it wont come anytime soon. Best of luck to the 2D team tho, looking forward to what they come up with next, its always great to see new feature announcements here on the forums.
     
  3. giorgos_gs

    giorgos_gs

    Joined:
    Apr 23, 2014
    Posts:
    490
    So it seems nobody else is interested for a native Unity 2D FFD plugin or 2D FFD added in Animator 2D? This is weird.
     
  4. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    99
    There are people that are definitely interested in the feature. Me included. There are others, that do not even know what it is, or how essential it can be. Will not happen atm is what i think, it is too early, as i explained before. There are much more basic features missing still, and there are bugs in the existing features to fix. Obviously it seems reasonable to start with the more important/basic features, that most of people know and expect 2D animation package to have. If you look at the roadmap, you'll see that it will take some time they start considering/researching features like FFD. That's what i gather, anyway. FFD is like one of the "premium" features, that some of the 2D tools for Unity out there are still missing.

    Honestly, my opinion has 0 weight in this, and it would be great if someone from Unity 2D team would reply already, as no one afaik commented on the FFD requests yet. there have been plenty. Let's hope they reply here. Even a "negative" or "unconfirmed yet" would be welcome at this point. The post is in good location as to be noticed by now.
     
    Last edited: Dec 28, 2018
  5. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    99
    Here you go, i've created a "Feature Request" for you, me, and all those looking for the feature. Go vote on it ;)

    https://feedback.unity3d.com/suggestions/free-form-deformation-ffd-for-2d-animation

    Also here, i've found a Unity2D's team's reply to a FFD request:
    Also i just noticed ColossalPaul replied to your FFD request in another thread the other day, go check it out ;-)
     
    Last edited: Dec 28, 2018
  6. giorgos_gs

    giorgos_gs

    Joined:
    Apr 23, 2014
    Posts:
    490
    At least they are considering it...
     
  7. dre788

    dre788

    Joined:
    Feb 15, 2013
    Posts:
    38
    Well actually, there are several existing tools that offer FFD that works directly or indirectly with Unity. The first one to appear on the asset store was Puppet2d. It uses the native timeline to animate sprites with bone and FFD. The next and more recent tool is AnyPortait. It uses it own timeline to animate bones, FFD and even physics. This is the tool I am currently using. If spending money isn't your thing. You can use Dragon Bone Pro for free. They include a Unity compatibility script. There is also, Spine, Live2d and SpriteStudio which cost a lot of money but also works with Unity.

    Even with all that, nothing beats native support. So I am indeed waiting for Unity to offer this much needed feature but don't let the wait stop you from moving forward.
     
  8. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    99
    As i and many other people mentioned in the "Puppet2D" thread here on forums, that specific tool has some breaking bugs, for which i can not recommend it. I tried almost all available alternatives, and the only ones i could "recommend" are not integrated into the engine. Not cheap either. I'm very much looking forward to a stable in-engine 2D animation tool myself.

    EDIT: Thanks for the other suggestions, AnyPortrait - never heard of it, might check it out. In case of DragonBones - was it missing something, like good documentation (dont remember, but i've reviewed it shortly as alternative and something was off - i remember one of the bigger studios i worked for to use it though). Spine is great. If you have the money to spend, this might be the best choice. Minus the in-engine integration, sadly. I'll also mention one more, that has some fine features to offer: Creature2D (but there are some cave-eats with this one as well)

    Just my 2c

    PS: AnyPortrait looks very good, reminds me of basic Spine workflow, plus the Unity integration, wow! Do you by chance know - 1) how are the drawcalls, 2) how is the garbage collection and 3) how about the performance ("many" animations)? Can i for ex have all the characters and all the animated environment like foliage in 1 atlas (and get 1 draw call per all animations) or is this not possible with the tool? I'd post the question in AnyPortrait unity forums, but the dev has not created one, so maybe u can give a quick feedback here. Thanks
     
    Last edited: Jan 21, 2019
  9. dre788

    dre788

    Joined:
    Feb 15, 2013
    Posts:
    38
    Truth be told, I haven't used AnyPortait extensively to give you a total break down of it's strengths and weaknesses. But as far as I'm aware regarding drawcalls and GC, it uses 2d textures as the image base, so if you use Unity's built in atlas manager, you should get the same results. I imagine the more physics based animations you have running at once, the more impact on performance you will have. It should all come down to how you manage your project.

    With that said, you can actually head over to their website and download the demo to test it out for yourself. https://www.rainyrizzle.com/ap-demodownload-eng
    Also, you can contact them via email if you have some more in-depth questions. They usually respond in 24 hours and are super helpful.
    https://www.rainyrizzle.com/anyportrait-report-eng
     
    _watcher_ likes this.
  10. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    99
    EDIT: I misread what you asked, and assumed you are looking for my personal opinion on "2D Animation" - which is a 2D animation solution currently in-development by Unity 2D team.
    If not, then ignore what i wrote below, if you did mean that, then read on!

    ----
    [2D Animation]
    There is a feature called "2D Animation" that Unity 2D team is currently working on.

    It's in "Preview" (and if you notice, its under "Betas and Experimental Features"). That alone should give you an idea. Current bugs are being reported (sub-threads), new features constantly added (this means more bugs to detect, report, fix). So that means whenever something new comes in, people that use the tool are there to test the features and find/report bugs for bugfixes. Keeping that in mind, if you want to see what are the current bugs and participate in the above-mentioned process, go here:
    https://forum.unity.com/forums/2d-experimental-preview.104/
    and check the sub-threads.

    At this point its a given that some features get adjusted, which might translate in API changes, that might break your project, forcing you to readjust with them. This of course is something the team tries to avoid as much as they can, but there have been such cases, and you'll have to accept it when that happens, this stage of development gives you no securities in that regard.

    Read through some of the sub-forums, you'll see there are a lot of bugs, i myself am subscribed to some of the threads and read the updates sparingly. I hope you'll understand when i do not give you current buglist, as i am unaware of there being one, i see the threads themselves being used for bug reports, and the progress on bugreports done via Unity Editor itself - well you could get those from Issue Tracker if you look correctly (a quick search only shows 2 bugs which i'm sure is too low of a number - perhaps try to readjust your criteria):
    https://issuetracker.unity3d.com/product/unity/issues?utf8=✓&package=53&unity_version=&status=1&category=&view=hottest

    Id suggest that if you have time to use on testing 2D Experimental Preview, then become active on their forums, and play with the tool, you'll definitely find some bugs to report, and we'll all be grateful to you (me too, although i don't use it now, i chose a different solution, but i will use it once its in "Release Candidate" state).

    One more thing: if you want to see what is currently under development, planned for later development, or planned for research, you can do so in the roadmap
    https://unity3d.com/unity/roadmap
    (select 2D from the Tags)

    Hope this helped somehow, sorry i don't know exactly where you're coming from, so i was bit more generic.
     
    Last edited: Jan 30, 2019
  11. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    99
    AFAIK the vanilla 2D stuff is stable, but lacks features (if i remember correctly, the reason why we have the new ongoing 2D efforts - its because of people wanting more - things like FFD, soft body physics, then something something Unity showcased 4 years ago but later abandoned, then Ferr2D came and did it, then Unity came back with its now-inprogress-2D-tools, after which Ferr2D got abandoned .. the cycle of life x)). It seems to have all tipped over with Anima2D acquisition for Unity, the dev who worked on that plugin got hired by Unity at the turn of 2016/2017, it was a great plugin, i used it a bit, and the in-Unity integration was good, lack of features prompted me to move for something else (after the acquisition, the dev did not update the tool with more features).

    The tool @dre788 posted here looks very good. I haven't tested it myself, just watched the tutorials. It reminds me of Spine, which is one of the best (if not the best) 2D tool for Unity, albeit not integrated inside the Editor. I hope Unity can reach that level of ease-of-use, feature-rich 2D tooling one day). I'm simply vary there, its extremely young. Im considering to buy later this year if it goes well with them. Its a good thing animation work can be done at the end of a project dev cycle).
     
    Last edited: Jan 30, 2019
  12. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    99
    @Shorely im just starting with shaders, but do you know - they recently released Shader Graph (this is a Unity-built-in solution). It ties in pretty well with their new Scriptable Render Pipelines (LRP and HDRP). I'd agree tho, that manual knowledge of cg/hlsl is a must, and will further let one enhance the output (afaik its further possible to adjust the SRP output, well its possible to do much more, like rewrite the whole rendering pipeline layer by layer, since they exposed that functionality with SRP).
     
    Last edited: Jan 30, 2019
  13. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    99
    Oh i didn't know its a Unity Editor-based plugin, thought it was external 3rd party software in which you could visually create shaders. Now i see, it looks really good, i only used Substance designer/programmer, so i wouldn't know.

    Yeah, who knows, but at the same time they buy/integrate plugins constantly, like ProBuilder recently, i also wonder what the reasoning is when to merge, when not to. Perhaps its feature-specific and in case of visual shader node graph editor, they need to have it really closely tied with the whole "new render back-end the just introduced" and other core stuff and thus want to manage it themselves. For example Anima2D was a perfect fit, just hire the "one guy", make him join the 2D team and slap on top some of the other 2D features. It was really well integrated with the Engine already, to the point of me not being able to distinguish where the plugin starts, where it ends (the native Sprite Editor overhaul for example, really well done, as if done by Unity themselves. In case of ProBuilder its pretty self-contained plugin, and won't cause much unrest when Unity core changes, in case of shader programming and future management of 3rd party code, i could see the reasoning of why adopt / why not adopt certain plugins. There are certainly some plugins where i asked myself the same question, "why don't they just buy them out?"

    Oh and one thing i come back to constantly: Sometimes i'm glad they didn't buy out / integrate a great plugin. There is a certain increased pressure on the plugin maker to outperform the competition, and perhaps other reasons, which makes their dev cycles much shorter and more feature packed. I noticed this with Anima2D and some others - as soon as they got bought out - they kind of "died out" (and i'm not only talking Anima2D being phased out - i mean if you look at what was accomplished by the 2D team in certain amount of time, vs what Sergio alone created in specific amount of time [this is good comparison, because he is now part of the 2D team]). There might be different reasons, when Unity releases something, it must be "more bullet-proof" incurring longer dev cycle time, but that's also questionable, since the current 2D Beta really doesn't have to be bulletproof, we are there to test it and help bullet-proff it. And perhaps its like me myself becoming more complacent, working for a successful company, versus working as a freelancer and keeping up the daily pressure to perform to the max. In-fact, working on my own - this is the best motivation, to learn, create, celebrate the success (and failure for lessons learned). May all know what i mean by direct experience in their own life. Cheers! -)
     
    Last edited: Feb 2, 2019
    Shorely likes this.
  14. ColossalPaul

    ColossalPaul

    Unity Technologies

    Joined:
    May 1, 2013
    Posts:
    164
    Oh man, there's so much I want to say here but I don't want to sound like asking for forgiveness/sympathy. So I'll just address some desires here:

    This is a goal we are working towards: To be able to give you the latest bleeding edge code (as soon as I commit it and it passes tests). Or if you choose, to stay in stable channel. It does take time to get there though. We (not Team2D) are wrking on a set of systems to do that. The visible tip of it is Package Manager. It's a long complicated path. Otherwise, each team will start inventing (reinventing) different ways for releasing stuff and that's pure chaos.

    This is on the list, we will solve first the swapping, re-skinning workflow, then finally we'll get to this.

    Feel free to ask more questions about what/how/when we do stuff. I will answer what I can/know. Thanks. Appreciate the feedback.
     
  15. _watcher_

    _watcher_

    Joined:
    Nov 7, 2014
    Posts:
    99
    @ColossalPaul kudos, thanks for popping in! I'm all in for the beta approach where users test features and give feedback, resulting in better overall end-result, and possibly shorter dev cycle - the more people fiddle with it, the better it gets! Regarding the other features like FFD, as mentioned in #5, it was confirmed a while back (i looked for the posts), which is great, as it keeps the hopes alive in the minds of men, and worries off your shoulders as you don't have to constantly address it, while you develop current features. Unfortunately i don't have time to test for you, but its a Big Thank You to people that do, imma just hop in and out of the forums from time to time to check on the progress, its really something i get excited about, as currently i'm forced to use some external tools that are just good, but to imagine to do some of these things in Editor one day - what a dream! Godspeed & good luck!
     
    Last edited: Feb 2, 2019