モーフィングの使い方
RokDeBone2 ver5.2.0.0からモーフィングアニメに対応しました。
元となる形状をベース、変形させるための形状をターゲットと呼びます。
1つのベースに対し複数のターゲットを設定することで様々な変形が実現できます。
ターゲットとベースの形状、UV座標、マテリアル、法線の差分を計算しそれにブレンド率を掛け合わせベース形状からの変化分を計算します。
その変化分にベースの各値を足すことによりモーフィング変形します。
例えば口を閉じているときの形状をベースにし、あいうえおの5つの口の形をターゲットとして登録し、ターゲットのブレンド率を設定することで
話しているような顔の表情の変形を実現できます。
モーフといっても設定されている全ての要素をアニメさせるわけではありません。
先に書いたとおり形状、UV座標、マテリアル、法線だけしかモーフ変形の対象になりません。
ボーン影響度、トゥーン時の色、テクスチャはベース形状のものを使用します。
モーフィングアニメも姿勢のアニメと同様にキーフレーム形式です。
ただし姿勢のキーとは独立した位置にキーを作成できます。
モーフのキーはベース形状ごとに作成します。
モーフィング機能を使う場合にはモデリングの注意点があります。
ベースとターゲットの形状は頂点数と面の数が一致していなければいけないことはもちろんのこと
頂点の順番と面の順番も一致していなければなりません。
メタセコイアでベース形状に対してコピーペーストやカットペースト、面の作成などを行うと正しいターゲットは作れません。
メタセコイアのオブジェクトパネルでベース形状をターゲットの数分複製し
複製した形状の頂点を移動させることでターゲット形状を作成してください。
以下では簡単に設定方法を説明します。
図1:モーフメニュー
まずベースとターゲットをメタセコイアで作成しRokDeBone2で読み込みます。
図1はベースballに対してターゲットtunoue, tunosita, tunoyokoを作成し
ベースkakuに対しターゲットkaku_t1, kaku_t2, kaku_t3を作成し読み込んだものです。
mqoを読み込んだら「ツリービュー」-->「モーフフォルダの作成」メニューを選択します。
図2:モーフフォルダの作成
「モーフフォルダの作成」メニューを選択すると図2のようなダイアログが出ます。
ここでベース形状とモーフアニメ情報を格納するボーンを1つずつ指定します。
情報を格納するボーンの指定はマルチレイヤーモーションを使用する際に必要なので必須です。
図3:モーフフォルダの確認
モーフフォルダが作成されると図3のように表示されます。
「MFolder:ベース名」形式の名前でモーフフォルダが作成されます。
ベース形状はモーフフォルダの子供の階層に置かれます。
図4:ターゲットの追加
次にターゲットを設定します。
ターゲットの設定は階層エディタでターゲット名をモーフフォルダ名にドラッグ&ドロップすることにより行います。
ターゲットの数分この操作を繰り返します。
結果を図4に示します。
モーフフォルダの中にベース形状とターゲット形状が入っていればOKです。
ターゲット同士やベースとターゲットの間の親子関係は作らないでください。
モーフフォルダの直接の子供としてベースとターゲットがないとうまく機能しません。
図5:モーフフォルダその2
2個目のベースkakuについても同様の手順を繰り返します。
「モーフフォルダの作成」メニューで出てきたダイアログで
ベースにkaku、情報格納ボーンにkaku_parを選んだ図が図5です。
図6:ターゲットの追加その2
MFolder:kakuにターゲットkaku_t1, kaku_t2, kaku_t3をドラッグ&ドロップした図が図6です。
これで2つのモーフの設定が終わりました。
忘れずにsigを保存してください。
設定が出来ると3D画面にはベース形状のみが表示されます。
これはモーフアニメを設定していないデフォルト状態では全てのターゲットのブレンド率が0になっているためです。
全てのターゲットのブレンド率が0の場合、画面にはベース形状が表示されます。
図7:モーフフォルダの選択
さて次はいよいよモーフアニメの作成です。
まずモーションウインドウの「モーフ」タブをクリックします。
次にコンボボックスでアニメを作りたいモーフフォルダを選びます。
図8:モーフアニメの作成
モーフフォルダを選ぶと表に対応するターゲット名とそのブレンド率が表示されます。
モーフアニメのキーを設定するにはまず一番下のスライダーを操作してキーを作成したいフレーム番号にフレームを移動します。
そして表のターゲット名をクリックし、左の小さいスライダーでブレンド率を設定します。
表の値の先頭に「*」が付いているものと付いていないものがありますが
付いているものはその場所にキーが存在することを示し
付いていないものはその場所にはキーが無く補間計算した値が表示されていることを示します。
スライダーの下の「適用」ボタンは数値のエディットボックスに直接数値を指定したときに押します。
ブレンド率を0や1にすることがとても多いと思うので「0」、「1」のボタンを付けました。
「全て0」は現在のフレームに全てのターゲットのブレンド率が0となるようなキーを作成します。
キーがすでに存在する場合はそのブレンド率を0に設定します。
「キー作成」ボタンは表に表示されているブレンド率で現在のフレームにキーを作成します。
モーフアニメはquaファイルに保存します。
説明に使用したmqo, sig, qua, moaをSampleフォルダの中のMorphの中に入れておきました。
Easy3Dを使う方への注意点
Easy3Dの当たり判定は全てベース形状で行います。
モーフ変形した形状で当たり判定することは出来ません。
またモーフ+影+ビルボードを同時に使う方は
ビルボードとの当たり判定はRenderWithShadowの後で行うようにしてください。