カメラの行列指定(C++/Dxlib)
Posted: 2014年2月13日(木) 23:04
3Dゲームを作ろうと、カメラを指定してみたのですが、シンプルなコードなのに思った通りに動きません。
カメラをX:0,Y:0,Z:-50の位置に持って行き、(角度はデフォルト)それをそのままカメラ行列としました。
その後、DXライブラリの標準関数でX:0,Y:0,Z:50の位置に大きさ50の真っ白い球体を配置しました。
期待値は画面の中央に白い球が表示されることなのですが、うまく動きません。
コード自体に問題がなければ他の原因を探したいのですが、確認という形になってしまいますが、
下記のコードは期待値どおりになる処理なのか教えていただきたいです。
また、最終的には行列を利用して球体を軸にカメラを回転させたいです。
①カメラを後ろに動かす
②カメラを球体の向きと合わせる(回転させる)
③カメラを球体の座標に移動させる
カメラをX:0,Y:0,Z:-50の位置に持って行き、(角度はデフォルト)それをそのままカメラ行列としました。
その後、DXライブラリの標準関数でX:0,Y:0,Z:50の位置に大きさ50の真っ白い球体を配置しました。
期待値は画面の中央に白い球が表示されることなのですが、うまく動きません。
コード自体に問題がなければ他の原因を探したいのですが、確認という形になってしまいますが、
下記のコードは期待値どおりになる処理なのか教えていただきたいです。
MATRIX matrix = MGetIdent();
matrix = MMult(matrix, MGetTranslate(VGet(0,0,-50)));
SetCameraViewMatrix((matrix));
DrawSphere3D(VGet(0,0,50),50,1000,GetColor(255,255,255),GetColor(255,255,255),1);
①カメラを後ろに動かす
②カメラを球体の向きと合わせる(回転させる)
③カメラを球体の座標に移動させる

