何百頭もの恐竜の群れはどうやって制作しているのか?
ガリミムス(ジュラシック・パークに登場する恐竜)はCGなのでコンピュータ上のプログラムで動きを制御していることはなんとなく分かるでしょう。
では、ティラノサウルスに追いかけられて逃げ惑うガリミムスの動きは1頭ごとに別々のプログラムで作られたのでしょうか。
実は、そうではなく、あの何百頭ものガリミムスの動きは、基本的にたった1本のプログラムで制御されています。
クレイグ・レイノルズは、鳥や小魚のように群衆になっている動物の動きをとても単純なアルゴリズム(方法や手順のこと)で表現する手法「Boid」を考案しました。Boid はBirdoid(鳥のようなもの)を短縮した単語ですので、元々は鳥の群衆CGの動きを制御するために開発されました。
Boidのアルゴリズムは非常に単純で、以下の3つのルールで群衆を動かします。
①1羽1羽の鳥たちは、それぞれ近くを飛んでいる鳥たちと飛ぶスピードや方向を合わせようとする。
②鳥たちが多く飛んでいる方に向かって飛ぼうとする。
③他の鳥たちにぶつからないように適度に距離を保とうとする。
ジュラシック・パークに登場したガリミムスの群れも基本的にこのBoidによって動かされていると言われています。
図 BlenderのBoid機能を用いて制作した魚の群れ
最後に、私もBoidを使ってCGを制作してみました。私は鳥ではなく魚の群れを作ってみました(図)。
このCGの制作に使用したツールはBlenderという無料のソフトです。無料ですが、ハリウッドの映画に負けないようなクオリティの映像を制作することが可能です。
情報福祉マネジメント学科では、「3DCG制作技法」や「プログラミング応用Ⅰ・Ⅱ」などの授業でBlenderを使ってCGを制作しています。
関連ページ