最近、カメラから取り込んだ画像に対して処理をして、
その上にCGをのせて遊んでいる。
-
- -
イメージとしては、カメラ画像の上でデジタルのボールが
弾んでいるのを想像してくれればいい。(本当は違うけど)
-
- -
カメラから新しい画像を取り込むたびに、
新しくボールを描画すると、処理が遅く見える。
調べてみると、カメラのフレームレートは30のようだ。
つまり、ボールの描画がカメラのフレームレートに縛られている。
-
- -
カメラから画像を取り込まずに、ボールを描画してみる。
フレームレート30だと重さを感じる。(これは予想通り)
フレームレート40でも重さを感じる。
フレームレート50でやっとなめらかに見えてくる。
つまり、カメラのフレームレートの壁を越えないといけない。
-
- -
そこで、どうしますか?
-
- -
カメラで1フレーム取り込むごとに、
2回描画を行うことにした。
これで、カメラが30フレームが限界でも、
ボールは60フレーム程度で描画でき、なめらかになる。
-
- -
60フレームでボールが動いたとき、感動した。
ピチピチだ!!
っていうくらい、生き生きとした動きになった。
-
- -
調べてみたところ、ゲームでは60フレームレートが普通のようだ。
50フレームレートあたりからなめらかに見えて、
60フレームレートで生き生きと動くことを思い出すと、
ゲームの60フレームレートっていうのは
「速すぎず、遅すぎず」のちょうどいい速度であることに気づく。
100フレームにしても意味がほとんど無いので、
その分の計算量を複雑な描画の方に割り振るということだろう。
-
- -
30フレームレートだと重く感じて、
40フレームレートでも重く感じて、
50フレームレートでなめらかになってくることを、
体感できたことはいい経験になった。
-
- -
これからもなめらかな動きを求められたときは、
「60フレーム、悪くても50フレームないとダメだよ」
と体験から考えることが出来る。
-
- -
「ゲームが60フレームだから、60フレームじゃないとだめだと思う」
なんてのは体験に基づいていない、ただの知識。
-
- -
カメラのフレームレートの壁を越えることができた。
「なんか重いなー」っていう状況から、
「なめらか!ぴちぴち!」っていう状況に変えることができるのは
とても嬉しい。
-
- -
なめらかに、生き生きと、軽やかに動くようになったのを見ていると、
私の体も、軽くなったような気がした。