walking_ant.jpg


蟻を歩かせる

 蟻をモデリングして、歩かせてみたいと思います。

蟻のモデリング

 まずは、蟻をモデリングしていきます。

 そう、蟻は小さいものだから、少し引いて、ちょこまかと歩き回っている様子をレイトレーシングする場合、細かく作り込んでも、多分、小さすぎて見えません。加えて、蟻が登場するシーンを思い浮かべ、沢山の蟻が行列しているところとか、餌に群がる様子とかをモデリングしようとすると、沢山の蟻をインスタンスする必要に迫られます。
 それならば、デフォルメすることで物体数を絞り、データ量と演算速度を最適化することの方が利点が大きいです。

蟻を歩かせる

 次は蟻の歩き方をモデリングしてみましょう。
 調べてみたところ、6本足の虫たちは、3本づつが対になって歩くらしいです(↓)。

ant_legs.png

 上図の様に、茶色の足3本と、深緑色の足3本が互い違いに動きます。3本づつ2組で、各々、往復運動するので、三角関数を使って動かしてみます。

 上述の通り、2組(4個)の変数を生成、cosで前後、sinで上下に足を動かす動作に充てます。
 足を後→前に動かす間は足を上げ、前→後ろに動かす間は足を下げて地面に足を付けているので、sin<0の範囲は、0にクリップします。

 横軸に時間の経過(0≦t≦1)、縦軸に1)2)の変数をプロットすると、以下図の様になります。

ant_walk.png

 上のt=0〜1間で一歩分なので、後はこの繰り返しとなります。
 すごく単純な動きですが、この変数値に従って足を前後・上下に動かしてみると、ちゃんと歩いている様な動きになってくれました。
 どのような動きになったか?は、ページの最後にリンクした動画でご確認ください。

虫って

 コンピュータのプログラムが間違っていることを「バグ(bug;虫の英語が語源)」と言います。

 でも、虫って、あんな小さい体の中に、まともな「脳」なんて持っていないんですよ。人間で言う所の「(反射)神経」だけで生きているらしいです。

 「Aを感知したらBという行動をとる」という幾千もの「神経」が組み合わさって、彼らは生命を維持しています。これ、コンピュータプログラムに通じるものがあるでしょ?

 そういう意味ではね、虫たちは生命としてはとても単純だけど、コンピュータプログラムと比べてみると、ものすごく高度で完全なプログラムなのです。その子たちを捉まえて、人間の作ったぼろいプログラムのミスを「バグ」なんて呼ぶのは、ちょっと失礼極まりない話ですね。


完成データ

 完成したデータをリンクしておきます。

1) Xi-TRACEデータ walking_ant.xitr
2) マッピングデータ walking_ant_soil.jpg

 1)で、レイトレーシングを実行します。2)は、地面のマッピングデータです。レイトレーシングする時に読み込んで使うので、同じディレクトリに置いてください。

 完成した動画を以下にリンクしておきます。



 まずは一匹。すごくデフォルメしたモデリングなので、今回の様なアップで観てしまうと、色々と粗が目立ちますでしょう?今回は動きに注目してご覧ください。


home

download

gallery