12/02/14 12:46:52.40
>>661->>662
ありがとう。だいたいどういったものなのかイメージする事が出来た。
手順は…
1.モデルデータにボーンを何らかのツール上でモデルに仕込む
(ボーンは移動計算の元となる頂点・線分で、モデルの各頂点に対して関連付けられる)
2.ツール上でモーションデータを作成し、プログラム側で読む
(モーションデータはボーンがどう移動(回転)したかという情報を時系列順に並べたもので、扱いやすいように行列/クォータニオンの形で持つ)
3.ボーンに関連付けられたモデルの頂点に対して、ボーンが移動した分だけ頂点を移動
(ボーンは親子関係が存在するから、親が動いたら子に関連付けられた頂点も操作→再帰でやる)
4.頂点バッファに突っ込んでレンダリング
(ただしバッファの転送を毎フレーム行うのは速度的に遅いので、GPU側に処理をお願いする方法がある)
シェーダは…すまん、まだ触った事なくてちょっと解らない。
せっかく説明してくれたのに申し訳ない。
基本的な知識もだいぶ足り無そうだから、お勧めされたサイトのマルペケで
DirectX周りの説明で基礎知識を掻い摘みつつ、実装してみるよ!
とても解りやすいアドバイス、ありがとうございました。