banner
Olimi

Olimi

SCUT 小菜鸡
github
bilibili

3Dゲームエンジン入門コース5-キャラクターアニメーション

はじめに#

このコラムの内容は、学堂オンラインの MOOC「3D ゲームエンジンアーキテクチャ設計基礎」の内容です。個人的には、テキストと画像のバージョンに変換しました(個人的には、テキストバージョンのチュートリアルの方が読む速度がはるかに速いため、参照に便利です)。
元のコースのリンク:3D ゲームエンジンアーキテクチャ設計基礎

キャラクターアニメーション#

キャラクターアニメーションの概要と表現方法#

キャラクターとは、ゲームのストーリーを推進するためのもので、プレイヤー、非プレイヤー、モンスター、敵などを含みます。

キャラクターの表現#

  • セルアニメーション
    ここに画像の説明を挿入

  • 剛体階層アニメーション
    ここに画像の説明を挿入

  • 頂点ごとのアニメーション
    ここに画像の説明を挿入

  • 変形ターゲットアニメーション
    ここに画像の説明を挿入

  • スケルトンスキニングアニメーション
    ここに画像の説明を挿入
    スケルトンスキニングアニメーションは、最もよく使用される表現技術です。

ゲームのキャラクターアニメーションのモデリングプロセス:

  1. スキン:キャラクターのメッシュモデルを作成する

  2. スケルトン:ジョイントとジョイントツリーを作成し、ジョイントを対応するメッシュの頂点にバインドする

  3. スキンまたは衣服:メッシュのマテリアルとテクスチャマッピングを定義する

  4. キャラクターアニメーション:キャラクターの動作を記述し、キャラクタースケルトンの位置移動を定義する

表現の例:

ここに画像の説明を挿入

スケルトンスキニングアニメーションの重要な概念#

  • 自由度とジョイントタイプ:
    ここに画像の説明を挿入
    ここに画像の説明を挿入
    ここに画像の説明を挿入
    ここに画像の説明を挿入

  • ジョイントの空間変換
    ここに画像の説明を挿入

  • メッシュの頂点とジョイントのバインド
    ここに画像の説明を挿入

  • モーションブレンディングとモーションコントロール

モーションブレンディングの重要な概念:

アニメーションクリップ:ゲームキャラクターの動作を構成する局所的なポーズ、例えば手を上げる、ジャンプ、歩行や走行のステップなど。

キーフレームまたはキーポーズ:アニメーションクリップで指定された時間ポイントに設定された重要なポーズであり、キーフレームを使用して、リニア補間またはカーブ補間アルゴリズムを使用して中間ポーズ、つまり中間フレームを自動的に生成することができます。キーフレームは、キャラクターポーズの静的なイメージと見なすことができます。一方、アニメーションクリップは、複数のキーフレームと中間フレームで構成され、指定された時間ポイントで表示されます。アニメーションクリップはキャラクターアニメーションの局所的なポーズであり、動的です。

例:
ここに画像の説明を挿入

アニメーションクリップの合成は、関節位置の計算を指します。キャラクターアクションの自動合成方法には、次のものがあります:

  1. リニアブレンディング
    ここに画像の説明を挿入
  2. スケルトンパーツのブレンディング
    ここに画像の説明を挿入
  3. 加算ブレンディング。
    ここに画像の説明を挿入

キャラクターアニメーションの実装例#

OGEE キャラクターアニメーション#

OGRE キャラクターアニメーションのレンダリングプロセス:
ここに画像の説明を挿入
OGRE ノードタイプとスケルトンツリー構造:
ここに画像の説明を挿入
ジョイントノードとシーングラフの関係:
ここに画像の説明を挿入
OGRE キャラクターアニメーションの主要なクラス:
ここに画像の説明を挿入
以下は OGRE キャラクターアニメーションのいくつかの主要なクラスの説明です:
ここに画像の説明を挿入
ここに画像の説明を挿入
キャラクターアニメーションのスケルトンスキニングアニメーションの例:
ここに画像の説明を挿入

OGRE キャラクターアニメーションのまとめ:
ここに画像の説明を挿入
ここに画像の説明を挿入

Panda3D キャラクターアニメーション#

Panda3D のキャラクターアニメーションの概念:
ここに画像の説明を挿入
Panda3D でのキャラクター表現のクラス図は以下の通りです:
ここに画像の説明を挿入
キャラクターの局所的な動きのクラス:
ここに画像の説明を挿入
最後に、Panda3D のアニメーションクラスです:
ここに画像の説明を挿入

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。