LipSync @ ウィキ

まばたきの間隔について

 目のメトロノーム化を避けるために、まばたきの間隔にランダム性を持たせたい。
 ユーザの入力は、
base_interval
(float) まばたき間隔
randomize
(bool) 間隔をランダムにするか否かのフラグ

 以上2点。

 まばたきの間隔は逐次、次の式で計算する。

private float nextInterval( ref Random rnd, float base_interval, bool randomize ) {
    const float BAND_WIDTH = 0.8f;
    if ( randomize ) {
        return base_interval - (BAND_WIDTH / 2f) * base_interval + 
            (float)(rnd.NextDouble()) * base_interval * BAND_WIDTH;
    } else {
        return base_interval;
    }
}