トップページ > 記事閲覧
ワールド座標でのフレーム回転
名前:ペッパー 日時: 2014/03/14 01:03

MV1SetFrameUserLocalMatrixを使用して指定フレームを回転させる際、 MV1ResetFrameUserLocalMatrix( modelHandle , 0 ) ; const MATRIX LocalMat0 = MV1GetFrameLocalMatrix( modelHandle , 0 ) ; MV1SetFrameUserLocalMatrix( modelHandle , 0 , MGetRotY( DX_PI_F * 0.5f ) ) ) ; これを実行すると、0番のフレーム(ボーン)がローカルなY軸で回転しますが、 これをワールドのY軸で回転させる方法はありますでしょうか?
メンテ

Page: 1 |

Re: ワールド座標でのフレーム回転 ( No.1 )
名前:管理人 日時:2014/03/16 11:23

ありません MV1SetFrameUserLocalMatrix はローカル座標からワールド座標に変換する際に使用する 行列を自前で用意したものにする為の関数なので・・・ ところで、ワールドのY軸で回転させるとは具体的にはどのようなことをされたいのでしょうか?
メンテ
Re: ワールド座標でのフレーム回転 ( No.2 )
名前:ペッパー 日時:2014/03/16 18:36

キャラクターの上半身のみをカメラの左右の動きに追従させようとしました。 一般的なTPSゲームをイメージしていただくと分かりやすいかと。 上半身のフレーム(ボーン)をカメラの向いている方向に水平回転させる為にY軸回転させようと思い、 上記の様な処理で回転させた所、当たり前ですがそのボーンのローカルなY座標で回転するのでワールドに対して 水平な回転とはなりませんでした。(上半身ボーンは傾いている) これをワールド座標で水平に回転させたいのです。
メンテ
Re: ワールド座標でのフレーム回転 ( No.3 )
名前:管理人 日時:2014/03/21 22:13

> 上半身のフレーム(ボーン)をカメラの向いている方向に水平回転させる為にY軸回転させようと思い、 > 上記の様な処理で回転させた所、当たり前ですがそのボーンのローカルなY座標で回転するのでワールドに対して > 水平な回転とはなりませんでした。(上半身ボーンは傾いている) > これをワールド座標で水平に回転させたいのです。 状況を正しく理解できているかわかりませんが、恐らくそのような場合はモデルのローカル軸が ワールド座標的にどのような向きになっているかを考えてローカルな回転で意図した回転になるように 計算するしかないと思います
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存