行列について、かなり初歩的な事なのですがお聞きしたいことがあります。
言葉だと文量が多くなってしまいますので、擬似コードで失礼します。
----------------------擬似コードここから----------------------
void MTransCopy(MATRIX& in, const MATRIX& src){
in.m[3][0] = src.m[3][0]; in.m[3][1] = src.m[3][1]; in.m[3][2] = src.m[3][2]; in.m[3][3] = 1.f;
}
void rot{
const int handle = モデルハンドル
const int index = MV1SearchFrame(handle, "xxxx");
MATRIX x = MGetRotX(DX_PI_F * 0.5f);
MATRIX local_mat = MV1GetFrameLocalMatrix(handle, index);
MTransCopy(x, local_mat);
MV1SetFrameUserLocalMatrix(handle, index, x);
}
----------------------擬似コードここまで----------------------
上記のような感じのコードの結果は、モデルのxxxx名のフレームが、フレームのローカル空間のX軸で90度回転します。
これを、ワールド空間のX軸で90度回転するようにしたいのですが、なにか方法はありますでしょうか?
さらに言うと、カメラからみたX軸で回転させたいのですが・・・。