How to create eyes idle movement?

Hello. I’m trying to create randomized eyes movement for character’s idle stance, but I have one limitatation - character’s eyes aren’t spheres - it looks more like lenses with anime eyes texture.
So I decided to use that way:

  • create material with u/v parameters
  • create dynamic material instance
  • set scalar parameter value for u/v values in character’s BP

and now I’ve got a problem. What to do next? I can set eyes position, but I can’t randomize it and make it smooth, because I can’t pass value to timeline (as I know). For now I just created this:


Any ideas?

Hi, you need to open the timeline (double click on it) to create a float curve and set the timeline to loop. Then you can use the curve value to drive your animation.

Yes, I know about this way and for now I’m using it. But in that case I can’t randomize movement.

It depends on the effect you want, here is an example :

Basically I have a curve that goes from 0 to 1 over 5 sec. This value is randomized but since it happens each frame there is the interp node to smooth it out. The values on the random node could be min 0.9 and max 1.1 for example, it would deviate the timeline curve by 10 %.
There are also these nodes “perlin noise 1d” and “pulsating value” that you can play with.

Playing with theses nodes, values and the curve shape you can have many random behaviors.

Thank you! It works, but if I want to un-smooth it to make more realistic eyes movement what should I do? Should I just delete finterp node?

Ok I didn’t see what you were trying to randomize at first. Realistic movement would be more something like that then :

My curve goes from 0 to 1, 1 means eyelids opened. It closes then opens immediatly (I’ve set the keys on smooth, but you can try linear as well)

Then use the random delay like you did :

You can also randomize a bit the timeline play rate :

Wait a sec. I’m trying to randomize pupils movement, not the blinking. For eye’s blinking I’m using this:


Ok you did exactly what I did with the curve then :smile:
So my first attempt was the good one, you can play with the interp speed, change will be more direct, less smooth with a higher speed.
You don’t even need curve and can use a target variable :

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.