Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice
  3. Dismiss Notice

【Eyes Animator】- Your cool solution for eyes movement animation!

Discussion in 'Assets and Asset Store' started by FimpossibleCreations, Feb 28, 2019.

  1. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Eyes Animator is component which will animate eye spheres to behave like real
    or to behave more cartoon like, it's up to you!
    Eye movement is a small detail thing, but when it suddenly appear in your project, you can feel that it was truly missing. Component have intuitive settings which you can use to design your custom movement for eyes.

    > Link To Asset Store <



    Main features:
    ● Includes interactive demo scenes
    ● Simulating eyes' point of interest lag for more realism, which effect you can adjust using simple slider
    ● Random eyes movement simulation, with different presets:
    From calm through nervous to psychical cues - movement of eyes when someone is lying / trying to remember sound etc.
    ● Eyelids blinking animation support
    ● Implementation to cooperate with Look Animator
    ● Quickly setup component with custom inspector
    ● Easily set clamp ranges with inspector visualization
     
    AVOlight likes this.
  2. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Updated to version 1.0.2:
    Added icon on the right inside hierarchy to easily find objects with attached EyesAnimator
    Added component menu so you will find Eyes Animator components also under "Add Component" > "FImpossible Games" > "Eyes Animator" and the same for rest of my packages
    Added 'Additional Eyelids Motion' for FEyesAnimatorBlinking component, so you can controll eyelids to open them a little when character is looking up and closing a bit when looking down - it gives more natural effect and more range for clamping
    Added 'LagStiffness' variable for some more controll over lag effect




     
    Graham-B and AVOlight like this.
  3. AVOlight

    AVOlight

    Joined:
    Apr 15, 2014
    Posts:
    427
    Awesome assets!
    Building characters with your assets is much fun :)

    any plans for a creature face creator? with procedural animations like eating, licking a target, sniffing, ...
     
  4. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Thank you :)

    Right now there isn't plans for face creator, but maybe something in future, stuff like SPORE would be great to create.
     
    AVOlight likes this.
  5. AVOlight

    AVOlight

    Joined:
    Apr 15, 2014
    Posts:
    427
    :) indeed, looking forward to whatever you release next
     
  6. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    Hi,

    This is a great asset!

    The eyeanimator component works really well but I have a small problem when trying to use the EyeAnimatorBlinking component. I can't get access to the parameters because the GUI in the inspector window seems corrupted. Please see the 2 attached picture to see the problem.

    Any help would be greatly appreciated!

    Thank you.
     

    Attached Files:

  7. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Updated to version 1.0.5, Just inspector window stuff:
    - Some fixes for inspector window
    - "Eyelids" list now will be automatically filled with objects from "Upper Eyelids" and "Lower Eyelids" lists
    - Added button "Focus On Close Rotations" to help adjusting eyelids close rotations
     
  8. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    I haven't had the chance to try it but thanks for the update.
     
  9. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Updated to version 1.0.6 : Link To Asset Store
    - Fixes for inspector window
    - Now 'Auto Find' will not only try to find head bone but also eye bones and eyelids
    - Variable 'RootFixer' is removed because new rotation fixing algorithm is working universally
     
  10. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    Wow another great update! the update "auto find" feature will be really useful.

    Thanks!
     
  11. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
    Hello,

    I got both LookAnimator and EyeAnimator, is there anything specific I need to do to use the integration or I just have to add both of the components? Also how can we setup blinking using blendshapes instead of bones? We arent using face bones. Also for some reason I cant get the right eye tracking they are always rotated to the side by a large margin and I tried messing with the correction values but if I get it right at one side if I approach the NPC from the other the eyes are rotated even far to the side. Im using a character from CC3 but also have custom ones that I will try later.

    On the other side LookAnimatorWEyes is working properly if I disable LookAnimator and EyeAnimator.
     
    Last edited: Mar 13, 2020
  12. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    There is file "Look Animator Implementation.txt" in Eyes Animator directory, with link to google drive with package, unity asset store not allows to put .unitypackage files which needs other packages unfortunately.
    There will be example scene of this implementation and new component, you add Look Animator to object and new eyes animator from package to object. New eyes animator component will sync target etc. with look animator.

    About eye issue, there probably are strange source bone rotations going on and manual correction will be needed.
    Please write on my mail and we can find way to fix it in clean way.

    Lately I was doing implementation for blinking with blendshapes, we can talk more about it in mail, but I will put blendshapes feature on task list for new version then.
     
  13. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
    Okay I will contact you, please let me know about the blendshapes I have a deadline by the end of the month... And if it cant be done until then I will have to write my own.
     
  14. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Version with blendshapes support is submitted for review right now ;)
     
    _slash_ and skinwalker like this.
  15. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
  16. tmeder

    tmeder

    Joined:
    Feb 5, 2019
    Posts:
    2
    Where is the blinking in V2? I bought this only because of blinking. Otherwise it is totally useless!
     
  17. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Sorry, there was some issue with gui for additional modules (present unity 2019)
    Blinking is now built inside one component, this parameters are under tab "Additional Modules"
    (open directory .../Eyes Animator/Packages for converter of old blinking component to Eyes Animator V2)
    I will send you patch package for fixing gui issue.
     
  18. tmeder

    tmeder

    Joined:
    Feb 5, 2019
    Posts:
    2
    Thank you! And it seems you already uploaded a new version including the fix.
     
  19. WarieLym

    WarieLym

    Joined:
    Mar 30, 2018
    Posts:
    10
    This asset is lovely, it adds a fantastic effect. Thank you so much for sharing your work!
    I am unfortunately a bit stuck, I have eyelash objects that also use blendshapes separate from my eyelid/Head object. Is there a way to make multiple meshes with blendshapes work with blinking?
     
  20. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    As I understand you already use "Blinking Mode: Blendshapes" but you need more blendshapes to be animated simultaneously.
    I checked it and it would need some time to make component support multiple blend shapes, there are many small aspects like "Additional lid motion", separated lists of data for every mesh etc. which are making it hard to simply add more blend shaped meshes.

    As walkaround you can use this small script I prepared, you have to setup one main eyes animator then add more but set in them only blendshapes (after game start they will be disabled and update only blinking) And put them inside "Multi Blends Syncer" script in attacehement (inside also update for one script of eyes animator)
    As far as I tested it work, if you have more info PM or mail ;)

    upload_2020-10-24_12-35-26.png
     

    Attached Files:

  21. DavidJares

    DavidJares

    Joined:
    Dec 18, 2016
    Posts:
    50
    Hello , I also have the corrupted GUI-Windows as already mentioned in look-animator and also in eyes-animator. I am using Unity 2020.1.9f1. Is there anything I can do for a quick fix ? The tool itself works just awesome.
    Thank you so much.
    Best regards, David.
    upload_2020-11-12_19-26-28.png
     
  22. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Thank you for reporting this but can you describe when it is happening?
    I checked error line from log and it's like impossible for null error to occur o_O
    First error from console log might be helpful.
     
  23. ml785

    ml785

    Joined:
    Dec 20, 2018
    Posts:
    119
    Hi! I see there is a way to Blink with Blendshapes. Do you have a way to Look Left & Look Right via Blendshapes?
     
  24. Oblord

    Oblord

    Joined:
    May 7, 2015
    Posts:
    4
    Any guide for integration with UMA? The eyes look weird when I apply the look animator.
     
  25. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Sorry for so late reply!
    No, it would require custom coding implementation, here I prepared some code which gets x and y values for look rotation angles with the random movement offsets giving -1 to 1 values (like -1 is looking left 1 is looking right)
    and you can use this values to drive blend shapes with custom code:

    Code (CSharp):
    1. using FIMSpace.FEyes;
    2. using UnityEngine;
    3.  
    4. public class CustomLook : MonoBehaviour
    5. {
    6.     public FEyesAnimator EyesAnim; // Reference to eyes animator to access computed look at data
    7.     private Vector3 lookDir;
    8.  
    9.     // public just for debug - see values to drive blendshapes with
    10.     public float lookLeftRight; // -1 to 1
    11.     public float lookUpDown; // -1 to 1
    12.  
    13.     void Update()
    14.     {
    15.         // Move world look rotation to local rotation
    16.         Quaternion localLookRot = Quaternion.Inverse(EyesAnim.BaseTransform.rotation) * Quaternion.Euler(EyesAnim.DeltaVectorClamped);
    17.  
    18.         // Define look vector
    19.         lookDir = localLookRot * Vector3.forward;
    20.  
    21.         lookLeftRight = lookDir.x;
    22.         lookUpDown = lookDir.y;
    23.  
    24.         // then blendShape_LookLeftRight.Amount = lookLeftRight; ...
    25.     }
    26.  
    27.     private void OnDrawGizmos()
    28.     {
    29.         if (EyesAnim == null) return;
    30.         if (EyesAnim.HeadReference == null) return;
    31.  
    32.         // Just for some debug
    33.         Gizmos.matrix = EyesAnim.BaseTransform.localToWorldMatrix;
    34.  
    35.         Vector3 headPos = EyesAnim.BaseTransform.InverseTransformPoint(EyesAnim.HeadReference.position);
    36.         headPos.y += 0.25f;
    37.  
    38.         Gizmos.DrawRay(headPos, Vector3.right * lookDir.x * 0.2f);
    39.         Gizmos.DrawRay(headPos, Vector3.up * lookDir.y * 0.2f);
    40.  
    41.         Gizmos.matrix = Matrix4x4.identity;
    42.     }
    43. }
    44.  

    You will need to update and import the package to get the "EyesAnim.DeltaVectorClamped" variable.


    Is there a chance for small repro scene?
    Something like: enter playmode -> see the issue
    You can contact me via e-mail with it.
     
    ml785 likes this.
  26. ml785

    ml785

    Joined:
    Dec 20, 2018
    Posts:
    119

    Ahh thank you so much!!
     
  27. Oblord

    Oblord

    Joined:
    May 7, 2015
    Posts:
    4
    No worries, I figured it out. The auto find was adding more objects for eyes than needed. With only the eye globe it is looking good now. Thanks!
     
  28. trueh

    trueh

    Joined:
    Nov 14, 2013
    Posts:
    74
    Hello.

    Nice asset indeed. Just a suggestion when using the blinking module. It seems that the blinking frequency is constant. Would it be possible to have a minimum and maximum blinking frequency? I mean, making the eyes blink randomly with a frequency between x and y seconds.

    Regards.
     
  29. cmo

    cmo

    Joined:
    Aug 10, 2012
    Posts:
    14
    Hi! I'm loving this package but have one issue...

    We're using it on non-humanoid creature eyes (see screenshot), which are often set on the sides of the heads. That means the Clamp Angle that works well for one eye will not work for the other on Move / Follow / Random Movement motions -- so for example on the lizard in the screenshot, if the left eye looks 60 degrees to the left, the right eye will be rolling inside of the skull, which looks bad.

    Currently the only way to "solve" this is to put a separate eye animator on each eye, but then the eyes won't follow each other on the Random Movement setting.Would it be possible to add a toggle feature to allow separate Clamp Angle settings per eye when they're sharing an eye animator?
     

    Attached Files:

  30. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    Ok I prepared quick update which gives individual clamping possibility ;)
    It's ready to download and to import on the asset store. (Individual Clamping toggle in the Clamping Settings)
    Please let me know if it works properly with your models. (I noticed there may be troubles with eye random movement in some cases since the rotations are interpreted differently if clamp ranges are different)
     
  31. cmo

    cmo

    Joined:
    Aug 10, 2012
    Posts:
    14
    That's amazing (and amazingly fast), thank you!
     
  32. Graham-B

    Graham-B

    Joined:
    Feb 27, 2013
    Posts:
    331
    This is great, but i can't find anything about this in your documentation. Would you be abler to explain or show more in detail about the eyelid bones required to accomplish this effect?

    I also noticed the same section has blendshapes mode, is this for also another option for looking up and down? If so, care to explain the requirements?

    Thanks!
     
  33. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    550
    You can achieve this if your model has additional eyelid bones or blendshapes for it. (try entering on some fields in the inspector view for tooltips)
    The demo scene with challenger head is showing additional eyelids bones approach (the model had such bones built in).
    Additional eyelid motion Blendshapes option probably will be removed, since it turned out it can be done using just extra blendshape in eyes setup, with assigned smaller value shape blendshape ranges.
    You also can make blendshapes, which are automatically applying such effect on max look ranges, then you don't even need to bother about this feature.
     
  34. Macahrio

    Macahrio

    Joined:
    Aug 17, 2013
    Posts:
    3
    I'm using blend shapes to blink and it looks excellent. I found the BlendInEyesAnimation() and BlendOutEyesAnimation() functions, which help me to control the animation in some moments. Still, my character needs to sleep and wake up and the blend shapes of the eyelids are activated instantly with this function. A function to blend the closing and other for the opening of the eyes would be handy.