もどる
fire1.gif ぱくれ!Direct3D RM 00/03/12,00/04/03
そろそろNaGu-Ru製作の課題のひとつ、「多関節物体」の実装に入ることにしました。 これからはじめようと思った理由は「一番手軽に3Dを勉強できそう」だからです。 果たして、思っているようにいくのでしょうか。

なぜ、多関節物体で3Dの勉強ができるのか。 それは、Direct3D RM(以下 RM)をみる限りでは、3Dにおいては特に「物体同士の親子関係が大事」って感じたからです。 「親子関係が大事」っのはどういうことかっていうと「どれを基準として考えるか」を正確に把握しておく必要が あるってことです。「どれを基準として」っていうのは具体的にいうと「どの座標系を基準として」と置きかえる ことができます。ということは「座標系」っていうものを理解する必要があります。さらに、僕は 「座標系を制すのものは3Dを制す」という考えがあるので、結果的に3Dを勉強することになるのです(ゴメン、長いよね)。

それで、いきなり「3D」の世界に踏み込むことになったわけですが、僕がいったい何をしたいのかっていうと 「RMをパクりたい」のです。もちろん、表示はいりません(というか、無理だし)。ただ、「座標変換」部分のみ でいいのです。

まずは、SetPosition、SetOrientationのふたつからパクってみようと思います。 そして、フレームごとに座標変換する。これでいけそうです。 なお、実装には僕のクラスライブラリ(か?)を使っています。Direct3DRMでいう 「フレーム」にあたるものが「TMover」というクラスになっています。

...」というわけでできたのがこれです。説明は勘弁してください(^^;)

次へ進む
※多関節物体
みてのとおり、複数の関節をもつ物体を指す。(具体例:人間 など) 近年、3Dが活発になっている(アマチュア作品でも頻繁に見かける)ので、 時代を生きるプログラマになるには知っておいたほうがいいと思われる。 身近な人(もう遠い存在となってしまいそうだが)では爆裂プログラマンさんが得意である。

※座標変換
3Dプログラミングの世界の特徴のひとつとして、 「意図したとおりにオブジェクトが配置しにくい」 というのがあると思います。それはなぜか? 2Dプログラミングでは座標を直接指定するのが 普通ですが、3Dは「座標変換」というのがあるため、 「指定した座標と表示される座標が一致させにくい」 からだと思います。






もどる