Sample4の解説

 

 

Sample 4では外部ファイルからアニメーションを習得し

それを適用します

Sキーを押すと、ファイル1の骨行列がファイル2に適用され

Aキーを押すと解除されます

 

この処理を使うと、1つのアニメーションファイルを複数のスキン情報ファイルで共有できたりします

観客や、住人なんかに便利だと思います

また、Smaple 3の処理を行わずとも、スキン情報を持った複数ファイル

(顔ファイルや体ファイル等)を1つのアニメーションで再生させることが出来ます

よって、体の装備とかにも使えたり、頭を差し替えたり出来るってな事になります

 

まず、設定するファイル分のAnimationPlayerを作成し

AnimationPlayer.Updateまでの処理をしてください

 

それが終わったらアニメーション情報を得たいファイルのBoneTransformsを習得します

 

AnimationPlayer.GetBoneTransfomrs();
AnimationPlayer.GetBoneTransfomrs(int Index);
AnimationPlayer.GetBoneTransfomrs(string BoneName);
()部分に何も設定しなければ全てのBoneTransforms
骨のインデックスNoや名前を設定すれば
任意骨のBoneTransformsが習得できます

 

BoneTransformsが習得できたら設定したいファイルのAnimationPlayerに設定します

 

AnimationPlayer.SetBoneMatrixP(int index, Matrix BoneTransforms);
indexには骨のインデックス、Matrixにはその骨に設定したい行列を設定してください
ちなみに、類似関数
AnimationPlayer.SetBoneMatrix(int index, Matrix Transforms);
AnimationPlayer.SetBoneMatrix(string boneName, Matrix Transforms);
は、骨の回転や移動を渡せるもので
顔を相手の方向に向けたりするときなんかに使えると思います

コメント

タイトルとURLをコピーしました