Search Unity

[RELEASED] Animation Preview Pro

Discussion in 'Assets and Asset Store' started by Rowlan, Jul 28, 2022.

  1. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Overview

    Animation Preview Pro for Unity allows you to get an idea about how a character looks like in your scene in different poses. You get an overview of all the animations available for a character or you could just mix a specific character with animations of another asset.


    Animation Preview vs Animation Preview Pro

    The very positive feedback Animation Preview had was an impact which I honestly didn't expect. Thank you so very much for your support! After the release you guys had comments and feedback which was really good. So I listend and implemented more features.

    The Pro version has these additional requested popular features:
    • Frame Step: navigate the animation clips frame by frame
    • Editor Window: the interaction is done via dialog instead of a monobehaviour
    • Auto Assignment: optionally the current selection is used if it has an animator; it's all about saving clicks, getting comfort in using the asset, being quick and saving time
    • Filter by name pattern
    Why Pro and not an Upgrade?

    Animation Preview is based on a Monobehaviour while Animation Preview Pro is based on a ScriptableObject and used in a dedicated EditorWindow. It would have made everything too complicated to maintain. And I couldn't just change the underlying behaviour, it would have broken existing projects. So a dedicated version was the obviously better choice.

    Examples





     
    Last edited: Aug 10, 2022
  2. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Where to go from here?

    Well, since Animation Preview was featured by Code Monkey in

    TOP 10 NEW Systems and Tools JULY 2022! | Unity Asset Store



    and given the very good sales numbers, Animation Preview Pro is something you guys are interested in. I'll focus on that :)
     
  3. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    I just tried the new filter / search feature in Animation Preview Pro. This will make my life easier. Really well done! Great asset! Thank you.
     
    Rowlan likes this.
  4. Dist0

    Dist0

    Joined:
    Oct 28, 2017
    Posts:
    18
    Hi Rowlan!
    If we bought the pro, we don't have the standard mono version included too ? (so better for now to buy the standard version no ?)

    Also you said in limitations :
    "Playing animations that contain eg blends and logic isn’t in the scope of Animation Preview."

    What do you mean by that?
    Does it support AnimationEvents ? (It would be the first use case for me here)
     
    Last edited: Jul 29, 2022
  5. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Hi Dist0, since you brought it up I just now added an option that you can get Animation Preview for free when you have Animation Preview Pro. Not sure how long I'll keep that. Personally I'd go Pro and stick with that.It's just so much more convenient. Unfortunately I can't backport that to the standard version, hence the decision to make a new asset of it.

    No, animation events aren't supported. That would be way too complicated and end up in doing what Unity does when you enter play mode. Animation Preview takes the animation as it is put into the Animator Controller from eg an fbx file and plays that a single selected animation of it.
     
  6. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    I made another video, I thought I'd combine it with Photo Session, an asset I just released:



    Here's the screenshot I took in 4K, directly from inside the editor:

    screenshot.jpg
     
  7. Dist0

    Dist0

    Joined:
    Oct 28, 2017
    Posts:
    18
    Ah Thanks! I've bought them all ;)


    Wait, why not using a simple SendMessage for that ?

    The deal is, generally we need to use AnimationEvents mostly for adding synchronized sound to animations (like footsteps sync with limbs, a crying sync with a facial anim,etc...).
    But that's a real pain after for testing the result:
    Need to add this animation on a empty animator, add the character on the map, enter the play mode (and wait for that), and only after seeing if the result is ok * NumberOfAnimations * NumberOfCharacters .... :confused:

    So AnimationPreview would be the Ideal solution for that, but only if it can just fire a method when a event key is reached....
    I've not tested, but something like that should do the trick: SendMessage("CallbackNameFromEventKey", TheValueFromEventKey);

    I really like your products generally, but without that it's a little useless for me (I wouldn't like to be rough, but the asset name not really match up on what I would like to do with an "Animation Preview PRO" sorry o_O)
    IE we need Animation preview (with their binded sounds) without having to make an implementation.
     
    Last edited: Jul 30, 2022
  8. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    This is not what I designed Animation Preview for. It's for previewing animations in the editor without having to enter play mode.

    Example: Malbers has 100+ animations in his assets. I'd like to see all of them quickly in order to make decisions, without having to waste time clicking around, setting things up.
     
  9. Dist0

    Dist0

    Joined:
    Oct 28, 2017
    Posts:
    18
    Yes of course, I wanna said, normally without a third party asset for helping us.
     
  10. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    @Rowlan Photo Session looks really cool and useful ! Do you know if it is compatible with Deckard renderer (bypassing the DOF of course). In my opinion it should but I your input would be valuable on this. Thanks!

    I am buying it now!
     
    Last edited: Jul 30, 2022
  11. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    I didn't test it with Deckard Renderer. It's tricky enough to get it right with all the render pipeline versions and subversions (HDRP is at 15 now!)

    But if it doesn't work the way you want it to, I have no problem confirming to Unity to give you a refund.
     
  12. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    @Rowlan Don't worry if it does not work with deckard. I will use it without it. Is that possible that Photo Session capture only in play mode? And not in scene view...
     
  13. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    You can capture in both play and edit mode
     
  14. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    I took a look at sending animation events. It's quite possible to do this with Unity means. However Unity is limited. It doesn't seem to be possible to play an unselected particle system gameobject. And what should happen when I send an event? Everyones assets must be prepared for that. It's something I can never get right to satisfy everyone.

    So here's a script that you can attach to your clip in the animator controller as state machine behaviour:

    Code (CSharp):
    1. /// <summary>
    2. /// Example about using a state machine event on an animator.
    3. ///
    4. /// Add this behaviour to the animation clip of your preference in your animator.
    5. /// </summary>
    6. public class AnimatorStateEventReceiver : StateMachineBehaviour
    7. {
    8.     override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    9.     {
    10.         PrintEvent("OnStateEnter", animator, stateInfo, layerIndex);
    11.     }
    12.     override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    13.     {
    14.         PrintEvent("OnStateExit", animator, stateInfo, layerIndex);
    15.     }
    16.     override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    17.     {
    18.         PrintEvent("OnStateUpdate", animator, stateInfo, layerIndex);
    19.     }
    20.     override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    21.     {
    22.         PrintEvent("OnStateMove", animator, stateInfo, layerIndex);
    23.     }
    24.     override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    25.     {
    26.         PrintEvent("OnStateIK", animator, stateInfo, layerIndex);
    27.     }
    28.  
    29.     public void PrintEvent(string eventName, Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    30.     {
    31.         AnimatorClipInfo[] animationClip = animator.GetCurrentAnimatorClipInfo(0);
    32.  
    33.         if (animationClip.Length == 0)
    34.             return;
    35.  
    36.         int frameCount = (int)(animationClip[0].clip.length * animationClip[0].clip.frameRate);
    37.         int currentFrameInClip = (int)(stateInfo.normalizedTime * (animationClip[0].clip.length * animationClip[0].clip.frameRate));
    38.  
    39.         currentFrameInClip = Mathf.Clamp(currentFrameInClip, 0, frameCount);
    40.  
    41.         Debug.Log("Animator State Event: " + eventName + ", frame " + currentFrameInClip + " / " + frameCount);
    42.  
    43.     }
    44. }
    This will invoke the logging event as an example, even in frame stepping mode. Basically you could check the current frame in the clip, compare it with a public frame number variable in that class and process as you please at your convenience by implementing your desired functionality there.
     
  15. Dist0

    Dist0

    Joined:
    Oct 28, 2017
    Posts:
    18
    oh that's really nice, but I think that you maybe missunderstood what I'm was talking about, just those little events like here : https://docs.unity3d.com/Manual/script-AnimationWindowEvent.html

    You enter a method name in Function field and after you need a Script with that function on your gameobject and magic happens... (The animation will send this event when looping)



    That's why for simplicity I think about a SendMessage with the Function name and value.... So we don't need to register to anything, it will only work if a script with the method is present (with the good signature off course...)
    https://docs.unity3d.com/ScriptReference/GameObject.SendMessage.html
     
  16. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Animation Preview comes with full source by the way. If it's just that, feel free to extend it. I'd be happy to make an API if necessary :)
     
  17. Artini

    Artini

    Joined:
    Jan 29, 2016
    Posts:
    181
    Hi,
    You are creating the best and very useful assets for me.
    I am glad you cover also Photo Session here.
    How to create the Volume for the Depth of Field effect in Photo Station.
    In the included documentation it is supposed to be a "Create" button for it,
    but I could not find it - see below.
    I am using URP with Unity 2021.3.6f1.
    Thanks in advance.
    Volume01c2.jpg
     
  18. Artini

    Artini

    Joined:
    Jan 29, 2016
    Posts:
    181
    Could you please explain, how to capture the screen with Animation Preview Pro in the Unity Editor
    without entering Play mode and using Photo Session.
    I have tried to press F12 or click the Capture Screenshot button, but with no result..
    Thanks in advance.
    .............
    Never mind.
    One need to be in Game view to get a screenshot from Photo Session.
     
    Last edited: Aug 1, 2022
  19. Artini

    Artini

    Joined:
    Jan 29, 2016
    Posts:
    181
    I see, that you use Scene Camera Theft to synchronize Scene and Game view.
    Where did you find it?
     
  20. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    That Great. Thanks!
     
    Rowlan likes this.
  21. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    I answered your question in the photo session thread, just so that others who have similar questions can find it as well:

    https://forum.unity.com/threads/rel...sion-screenshot-utility.1314864/#post-8329041
     
  22. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    It was written by Alex Lovett, here's from the header:

    Code (CSharp):
    1. /// <summary>
    2. /// Sync Scene camera with Play camera during Edit mode
    3. /// Code by Alex Lovett ( HeliosDoubleSix ) ( Shadowood.uk )
    4. /// Contact heliosdoublesix@gmail.com
    5. /// </summary>
    6.  
    I'll ask him if I'm allowed to share it here.
     
  23. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Thank you! I answered your question here:

    https://forum.unity.com/threads/rel...sion-screenshot-utility.1314864/#post-8329089
     
  24. Artini

    Artini

    Joined:
    Jan 29, 2016
    Posts:
    181
    Thank you very much.
    It will be awesome to have such script.
    All the best for you
     
  25. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Fyi, the Scene Camera Theft script can be found in Unity's The Courtyard, it's called CopySceneView there.
     
  26. Dist0

    Dist0

    Joined:
    Oct 28, 2017
    Posts:
    18
    Is there a way to make animation loop?
     
  27. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    If Loop Time is active on the animation, then it will loop.
     
  28. Artini

    Artini

    Joined:
    Jan 29, 2016
    Posts:
    181
    Thanks a lot.
     
  29. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
  30. Gatskop_Software

    Gatskop_Software

    Joined:
    Sep 21, 2014
    Posts:
    86
  31. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    That asset has a controller with logic assigned to the prefab. You need to create a new Animator Controller and drag in all the animations and replace the controller of the prefab with the new one.

    Check out the chapter "Detailed Example with Kubold Animations" in the documentation. It works the same with every other animation.

    In case you have more questions or need more details let me know.
     
  32. Gatskop_Software

    Gatskop_Software

    Joined:
    Sep 21, 2014
    Posts:
    86
    Yes thanks, you can't use the default animation controller you need to create new controller thanks
     
  33. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Yes. In case you need help with it, let me know. I have had that asset for quite some time :)
     
  34. Gatskop_Software

    Gatskop_Software

    Joined:
    Sep 21, 2014
    Posts:
    86
    I did come right thanks
     
    Rowlan likes this.
  35. Samhot128

    Samhot128

    Joined:
    Sep 2, 2017
    Posts:
    4
    Found an annoying bug when selecting animations it seems to move the model to position.(0,0,0) instead of applying the animation where the model is currently located. This is issue is really slowing down my workflow. Any way to prevent this from happening?
     
  36. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Thanks for reporting this. I tested and under certain conditions it seems to happen when you have "Apply Root Motion" enabled on the Animator. Can you confirm this?
     
  37. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    A Heist Gone Wrong :D

     
  38. FadelMS

    FadelMS

    Joined:
    Nov 20, 2020
    Posts:
    2
    Hi,
    I've purchased Animation Preview Pro and I'm trying to use it to preview Mixamo animations but it doesn't work. The animation freezes, while animations from other sources are OK. It seems I'm missing something.
    My question is: How to make Animation Preview Pro preview Mixamo animation?
    Thanks
     
  39. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Thank you very much for your support :) Do you have your own animator controller with layers and logic or are you using a new one and dragged the animations into that one? Animation Preview Pro doesn't support layers and runtime logic. I do have a version that supports layers, but it can't ever fully support what Unity does in play mode, so that's rather unofficial, experimental and unsupported. If you want to check out that version, just send me your invoice via mail or contact me on discord: "rowlan.inc"
     
  40. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Currently creating screenshots for the upcoming Realistic Deer of Malbers. Staging that scene was just a matter of seconds with Animation Preview Pro and taking screenshots directly from within the editor without entering play mode using Photo Session :D

    deer vs wolf.jpg
    The Realistic Deer asset is very awesome by the way, I was allowed to share screenshots before release :)

    Edit: Had to do another in Unity's Book of the Dead :D

    d.jpg
     
    Last edited: Aug 25, 2023
  41. bvonline

    bvonline

    Joined:
    Feb 27, 2021
    Posts:
    85
    Still getting this alert:

    for Assembly Definition File 'Assets/Rowlan/AnimationPreviewPro/Runtime/Rowlan.AnimationPreviewPro.Runtime.asmdef' will not be compiled, because it has no scripts associated with it.

    Unity 2021 (latest version)
     
  42. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    You can ignore the warning. It only shows up because I created an asmdef, but there are no scripts anymore. I'll remove the asmdef in an update. Unity should just ignore that and not raise a warning. Everything is fine.
     
    bvonline likes this.
  43. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    Animation Preview is in Unity's New Year sale available at -50%.

    nys.png

    It's the holidays and everyone should have fun :)

    So I set the upgrade price from Animation Preview to Animation Preview Pro to 10$ for the period of the sale. So if you want to get Animation Preview Pro cheaper, purchase Animation Preview at -50% and then upgrade to pro for 10$. It's circumstantial, but i wanted to have you guys get Pro cheaper as well for the sale, so "this is the way". Enjoy :)
     
  44. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    4,299
    I created a new showcase video:

     
    shyamarama likes this.