ページ 1 / 1
2つの角度から3次元ベクトルの求め方
Posted: 2013年2月07日(木) 22:05
by mee
3Dゲームで分からない事があったので質問させて頂きます。
プレイヤーから弾を撃つときにベクトルを設定するのですが、カメラの向いている方向の水平角度と垂直角度からXYZのベクトルに変換するにはどのようにすればいいのでしょうか?
またDXライブラリのサンプルプログラムを使っているのですが、カメラの角度が0~360度ではなく、-3.14~3.14なのでこれも考慮しないといけないのでしょうか?
Re: 2つの角度から3次元ベクトルの求め方
Posted: 2013年2月07日(木) 22:16
by h2so5
三角関数を使えば角度からベクトルへ変換できます。
mee さんが書きました:
またDXライブラリのサンプルプログラムを使っているのですが、カメラの角度が0~360度ではなく、-3.14~3.14なのでこれも考慮しないといけないのでしょうか?
角度の単位にはラジアンを使う必要があります。
Re: 2つの角度から3次元ベクトルの求め方
Posted: 2013年2月07日(木) 22:37
by mee
ということはXYZそれぞれに三角関数を使って求めるってことでしょうか?
Re: 2つの角度から3次元ベクトルの求め方
Posted: 2013年2月07日(木) 22:45
by softya(ソフト屋)
ベクトルやら行列やらを何処まで理解されているでしょうか?
カメラの角度がわかっているのなら、正面へのベクトルをカメラの角度の回転行列で回転させればカメラの向いている方向に発射できます。
Re: 2つの角度から3次元ベクトルの求め方
Posted: 2013年2月07日(木) 23:04
by mee
行列についてはほぼ理解していなかったので、調べてみたらなんとかプレイヤーの向いている方向に弾を発射できました!
3Dは基礎知識全然足りてないので覚えるまでが大変ですね(汗)
解答してくださったh2so5さん、softyaさんありがとうございました!