見出し画像

魚の群れを机の上で泳がせる

ARでBoidというアルゴリズムを試してみたくて、魚の群れが机の上で泳ぐアプリを作ってみました。

Boidは近隣の個体から影響を受けて、自分の速度と方向を決めるアルゴリズムです。それぞれの個体は「近隣の個体とぶつからないようにする」、「近隣の個体の速度と方向に合わせる」、「近隣の個体の群れの中心方向へ移動する」という三つのシンプルな法則で動くのですが、数が増えると魚や鳥、昆虫の群れのような動きを見せます。

指で画面をタップすると、タップした位置に魚が出現するように実装していいます。机の端は仮想の壁を設定しているので、端までくると反対方向に進みます。タップしてから魚が動く方向はランダムで、数が増えてくるとだんだんと群れのように見えてきます。

少し広めの机で動かしてみると、よりダイナミックに魚の群れが動きます。

何故だかはわからないのですが、アルゴリズムで自然の現象や生物の動きを模倣したりするのにとても惹かれます。

これは二次元のアニメーションを動かす仕事をしていて、ふと影の魚が机の上で泳ぐと面白いなと思って作ってみましたが、当然三次元のオブジェクトも動かすことができます。三次元バージョンもそのうちやってみようと思います。

三次元バージョンも書きました。

ARを使ったiOSの開発を仕事でやっておりますので、実現したいアイデアがありましたらお気軽にご連絡ください。
https://si-ro.jp/about

いいなと思ったら応援しよう!