Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

So I have Breathing animation that is tied to a blink so that the animation happens plays every 4 seconds. But when I talk, it can result in a stutter motion where I think it flits back and forth from my single frame Idle, to my blink. Is there a way to pause the blink while talking? Here is a demo of what I mean, hopefully it's clear enough.

Ohh, interesting setup! I think this is because i never anticipated anyone using the blink animation for anything long enough to persist either side of speech.

It's because if you have "blink while talking" disabled, then it will hide that blink sprite while your volume is above the threshold, even if it's still supposed to be blinking. 

If you don't mind the breathing happening during speech, an easy way around it would be to enable "blink whilst talking" and set that sprite to the same animation, and use the "sync" option in the spritesheet menu.

If you want to avoid that animation being played while talking completely, but still complete a "breath" that's already started, you can do it with a state:

  1. Place your breathing animation in a separate layer as the idle sprite. Motion parent to the original layer.
  2. Set the breathing animation to not loop, but then enable "restart animations on becoming visible".
  3. Set up a state to show the breathing layer. Set the timeout to be just a bit longer than the animation, and set the schedule to your desired blinking frequency. 
  4. Set the "trigger" mode on the state to be "while idle" and set your talking threshold there.
  5. Now the state will automatically trigger itself while you're not talking, showing the breath animation which will continue and finish without interrupting itself.

Thanks! Your directions and suggestion worked for me!