歩行をアニメートしたい人体の3Dモデルがある場合、これを実現するための最良の方法は何ですか?これが実装されていることを私が見る可能性のある方法は次のとおりです。
- 脚を異なる位置に配置して複数のモデルを作成し、これらのモデル間を補間します。
- モデルをopenGLにロードし、どの頂点が脚に対応するかを何らかの方法で把握し、適切な変換を実行します。
- スケルトンまたはアーマチュアを実装します(これに似ています:blenderアニメーションwiki)。
歩行をアニメートしたい人体の3Dモデルがある場合、これを実現するための最良の方法は何ですか?これが実装されていることを私が見る可能性のある方法は次のとおりです。
最初のオプションで説明した手法は、モーフターゲットアニメーションと呼ばれ、顔のアニメーションや手の開閉など、アニメーションの詳細によく使用されます。
2番目のオプションは、手続き型または物理的なアニメーションです。これは、ロボット工学のように機能し、キャラクターの体に前進する速度を与え、落下を防ぐために脚が何をする必要があるかを計算します。ただし、頂点で直接行うのではなく、スケルトンで行います。次のものを参照してください。
3番目のオプションは、スケルトンをアニメーション化するスケルタルアニメーションであり、頂点は一連のルールに従ってスケルトンに従います。スケルトンに頂点をアタッチすることをスキニングと呼びます。
openglのもの(宇宙、カメラなどでのモデルの表示と配置)に慣れたら、スケルタルアニメーションから始めることをお勧めします。
選択した3Dアプリには、リグ付きのアニメーションモデルが必要です。次に、エクスポーターをカスタム形式で作成するか、アプリから読み取りたい形式を選択できます。そのファイル形式には、モデル、スケルトン、スキニング、およびキーフレームの説明が含まれている必要があります。コードからそのデータを読み取って使用するよりも、メッシュ、スケルトンを構築し、キーフレーム上でアニメーション化します。
もし私があなたなら、Blenderをhttp://www.blender.orgからダウンロードして、いくつかのアニメーションチュートリアルを実行します。たとえば、これは次のとおりです。
http://wiki.blender.org/index.php/Doc:Tutorials/Animation/BSoD/Character_Animation
その後、Ogreエクスポーターなどを使用してモデルとアニメーションをエクスポートできます。これは最新バージョンだと思いますが、次のことを確認してください。
http://www.ogre3d.org/tikiwiki/Blender+Exporter&structure=Tools
そこから、すべてをロードしたり、キーフレーム間を補間したりするためのC ++コードを記述する必要があります。興味があれば、これを示すコードがあります。