プログラマーの卵の日記

備忘録になってます!小難しそうなことから超簡単なことまでやってます!!

【DxLib】プレイヤーのポーズを行列で見てみた

おそらく全体的にこの記事は間違っている可能性があります。時間があったらもっと勉強して直してみます。

構成


No.1 これまで
No.2 行列変換用関数
No.3 実際に見てみた







              No.1 これまで


 これまでは基本的にベクトルで3Dのゲームを構築していました。
そこで、行列だったらどのような感じになっているのか気になったので、動きはベクトルで行い、表示を行列で行ってみました。





              No.2 行列変換用関数


 今回は、モデルの行列にフォーカスして見ます。そのための関数が以下のものです。
MV1GetMatrix





              No.3 実際に見てみた


 そうしたらとりあえず行列を表示させてみます。
コード載せると3D関係なので長くなるしややこしいしそこまでこったことはしないので古いテスト用のプロジェクトに無理やり組み込んでやってみました。

 まず、座標を0.0.0において、スケールは弄らず、向きもいじらずにやった状態がこれです。

f:id:yutateno:20200503154151p:plain




 そしたら今度はX方向(左方向)に動いてみる。

f:id:yutateno:20200503154949p:plain

 やらなくてもわかるような感じだったので画像は端折りますが、Z方向(前方向)に動いたら4行3列目の数値が増えました。

 

このことから動きの方向に関しては4行目(一番下の左から三つ分)だけが関係しているようです。

 

 


 次に向きを変えてみます。XとZのプラス方向(左前方向)を向くようにします。

f:id:yutateno:20200503155556p:plain

 

 一応Xがマイナス方向でZがプラス方向(右前方向)を向いたものも出してみます。

f:id:yutateno:20200503155725p:plain

 

 今回のものは一応伝えますと縦方向のカメラ移動はできないものです。そのうえでカメラをぐるぐる動かしてみました。

 

 数値的には-1.0f~1.0fのみでした。動く数値は、1行1列目と1行3列目と3行1列目と3行3列目だけでした。

 

 


 あとすごく適当にスケールを弄ってみたところ、Y軸方向に動かした際にのみ2行2列目の数値が変動しました。

f:id:yutateno:20200503160400p:plain

 

 

  今度はベクトルではなくMV1SetMatrixで弄ってみたいですが、体調が良くないのでまたいつか気が向いたら。