タグ

2012年5月31日のブックマーク (2件)

  • その48 マウスカーソルで地面を指す

    ホーム < ゲームつくろー! < DirectX技術編 その48 スクリーン座標でワールド空間の地面を指す マウスカーソルを用いる3DのRPGなどでは、カーソルで当たり前のように宝箱を指すことができます。でも良く考えてみると不思議です。マウスカーソルの座標は2次元のスクリーン座標(クライアント座標)です。それに対して宝箱は3次元のワールド空間座標にあります。座標系がぜんぜん違うのに遠近感も考慮して正しく指す事ができる。裏ではいったい何をしているのでしょうか?秘密はスクリーン座標からワールド座標を求めると言う、通常とは逆方向の変換にあります。 この章では、スクリーン座標をワールド座標に変換する方法について見ていき、スクリーンに映っている床をワールド座標レベルで指し示す方法について検討してみましょう。 ① 決め手は「逆行列」 ワールド座標に点Pがあったとします。その点を何らかの行列Mによって移

  • ゲームプログラマーを目指すひと これで "2次元と3次元の世界を行き来" できるぞ!

    【リンク】 ◆解説系TOP◆ 今日は、2次元と3次元の座標の相互変換についてのお話です。 ※別の次元(2←―→3)へ座標を変換する方法を紹介します。 別に、自分がアニメの世界に入り込んだり、アニメのキャラクターが現実の世界に出てくる、 という様な意味ではありませぬ。 では、まずコレをご覧下さい。 【参考画像】 メタセコイアです。 メタセコイアでは、普通にカーソルでモデルの表面を選択する事が出来るんですが、 (写ってないですが、黄色くなっている部分がカーソルで指されています) よく考えたら、謎ですね。 x軸とy軸しかないウィンドウ(2次元の世界)から、 x、y、z軸の3次元の世界を選択できています。 一体どうやっているのか? 今日は、この謎の部分を解説します。 (まぁ、先に結論を言ってしまうと、行列で2次元と3次元の座標を変換してます。) では、下記の様な順で書いていこうかな、と。 ----