3Dゲームで分からない事があったので質問させて頂きます。
プレイヤーから弾を撃つときにベクトルを設定するのですが、カメラの向いている方向の水平角度と垂直角度からXYZのベクトルに変換するにはどのようにすればいいのでしょうか?
またDXライブラリのサンプルプログラムを使っているのですが、カメラの角度が0~360度ではなく、-3.14~3.14なのでこれも考慮しないといけないのでしょうか?
2つの角度から3次元ベクトルの求め方
Re: 2つの角度から3次元ベクトルの求め方
三角関数を使えば角度からベクトルへ変換できます。
角度の単位にはラジアンを使う必要があります。mee さんが書きました: またDXライブラリのサンプルプログラムを使っているのですが、カメラの角度が0~360度ではなく、-3.14~3.14なのでこれも考慮しないといけないのでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 2つの角度から3次元ベクトルの求め方
ベクトルやら行列やらを何処まで理解されているでしょうか?
カメラの角度がわかっているのなら、正面へのベクトルをカメラの角度の回転行列で回転させればカメラの向いている方向に発射できます。
カメラの角度がわかっているのなら、正面へのベクトルをカメラの角度の回転行列で回転させればカメラの向いている方向に発射できます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
mee
Re: 2つの角度から3次元ベクトルの求め方
行列についてはほぼ理解していなかったので、調べてみたらなんとかプレイヤーの向いている方向に弾を発射できました!
3Dは基礎知識全然足りてないので覚えるまでが大変ですね(汗)
解答してくださったh2so5さん、softyaさんありがとうございました!
3Dは基礎知識全然足りてないので覚えるまでが大変ですね(汗)
解答してくださったh2so5さん、softyaさんありがとうございました!