ページ 11

カメラ移動による自機移動

Posted: 2011年4月12日(火) 13:29
by ホヅミ
[1] 質問文
現在私は三人称視点シューティングゲームを作っています。
カメラを自機の頭の後ろに置いているのですが、
カメラの位置を回転させたときに右移動ボタンを押したら自機が真逆の方向へ移動してしまいます。
カメラの向きを変えたとき、それに応じたキャラクター移動をさせるためにはどうすればよいでしょうか。
何をどうすれば良いのかまったくわからない状態です。

[2] 環境  
 [2.1] OS : Win7
 [2.2] コンパイラ名 : VS 2010 DxLib

Re: カメラ移動による自機移動

Posted: 2011年4月12日(火) 15:07
by softya(ソフト屋)
カメラから自機へのXZ平面上(平面が違っていたらごめんなさい)のベクトルを正規化して、回転マトリクスで右に90度回せば右への移動の単位ベクトルが出来ます。

Re: カメラ移動による自機移動

Posted: 2011年4月12日(火) 15:45
by ホヅミ
返信ありがとうございます
回転マトリクスや正規化は確か線形代数でしたよね?
線形代数がまったくわからない状態なので
参考にできるサイトを教えてくれると嬉しいです

Re: カメラ移動による自機移動

Posted: 2011年4月12日(火) 16:06
by softya(ソフト屋)
いえ、全てDXライブラリの3D関係の関数にありますので、勉強しなくても使えますよ。
VNorm
VTransform
などを調べてみてください。

一応参考サイトをご紹介します。

「1-2 ベクトル其の弐」
http://homepage2.nifty.com/skimp-studio ... ector2.htm
「3D基礎知識」
http://www.ceres.dti.ne.jp/~ykuroda/oya ... sic3d.html

何にしても3Dゲームを作るなら基礎知識は必須なので何か本を買われたほうが良いのでは?

Re: カメラ移動による自機移動

Posted: 2011年4月13日(水) 22:19
by ホヅミ
なるほど!
うまく動きました
ありがとうございます!