Rigging リギング
XSIのCharacterGuide
(キャラクターガイド)を利用してBipedRig(バイペッドリグを作成します)
ボーンセットアップは非常に時間が掛かる作業ですが、この機能を使えば楽にセットアップできます。
しかし幾つか修正する箇所もございますので
何度もやり直しを強いられるかもしれませんので
定期的にセーブを行います。
ボーンはctrl+Zが利かないことがシバシバあります。
ノードの最適化をまず行っておく
&font(Silver){以前ここに書いた記事は結構適当に書いてました。
今になってゲームの仕様上
「最大48ノード」までといわれてしまったので
記事一括削除しました。~};
ガイド・・その前に、ポリゴンメッシュノードをマージします。
エキスポーターによっては、自動でpolygonをマージするモノも
ありますので説明書をまずお読みください。
MaterialManager
を取り出し、
「このマテリアルが選択されているオブジェクトを選択」で
テクスチャ毎にマージしてみようと思います。
最終的にはトゥーンシェーダーでエッジーマークする際、
エッジの境界判定はオブジェクトではなく
マテリアルにできると思いますので
いっそのこと1スキンモデルでも、
もうOKだったりします。再度ポリゴンを編集したり、
エンベロープを設定するのが1スキンだと色々と面倒なのですが
軽量化に対して背に腹は変えられない感じです。
マージしてみる
同じテクスチャが利用されているオブジェクトを選択したら
作成→ポリゴンメッシュ→マージ
プロパティでは
許容範囲 [0] マテリアル、UV,頂点カラー,ウェイとマップボタンを1回押す
MDL_CH_REIMU_BODY1
MDL_CH_REIMU_BODY2
MDL_CH_REIMU_FACE
MDL_CH_REIMU_HEAD
以上4つに分けます。
BipedGuideを取り出す。
まずモデルをフリーズして履歴を全部消しておきます、トランスフォームで位置もリセットしました。sもちろん顔だけはフリーズMで、エンベロープは壊しません。そして二足ガイドを取り出し、赤いBOXを操ってキャラクターに一致。
ちなみに彼女の身長は公式的に非公開ですが大体150程度と予測。14.5マスで設計してますので、XSI上では145cm、かなり小さいかもしれない・・?
注意点
沢山あります。
- 首の初期位置
- 「く」 の字になってないので、そのままにしておくと、首が後ろに折れ曲がります。IKは基本「 く 」の字で作成した方向にボーンは折れ曲がるので確実に記憶しておきます。
- 腕と足の長さは統一
- Boneをつかんで、Enterキーを押してプロパティを表示させます
「長さ」を統一
- 付け根
- ボーンのRootの位置は非常に重要です。モデルが変形する基準点になるからです。なのでしっかりと位置あわせを行います。特にポリゴン数が少ない場合、顕著にモデルがめちゃくちゃになるので重要です。
つまりこいった現象の差です。ボーンの配置がモデル変形を大きく左右します。
- CnsCompをONにしてはいけません
- 左右対称で作成している場合、Rigが破壊されます、おそらく左右対称に操作できるように色々仕組みがあるからでしょう。特に右側(右足)を操作すると顕著です。こうなったら作り直し以外なさそうなので素直に破棄します。
- 命名規則を変えてはいけない
- Biped_GuideをBiped_Guide1等に変更してはいけません。RIG作成を実行しても反応してくれないからです。BipedGuideをモデル保存して、読み直したときに名前が変わっている可能性がありますので、注意しておきます。
RIG生成を実行
二足ガイドからリグ作成
でRigを自動作成します。
色々設定項目が出てきますが、
肢 腕の対称操作→ +非対称 - 両腕で正のスケール
シャドウリグ +ヌル階層
これらだけ設定しておきます。
腕は正のスケールにしておかないと、データとしてエキスポートされた数値が[マイナス]になっており、ポリゴンが裏返りしている可能性があるからです。
シャドウリグは、実際にゲームデータとして利用するノード群です。何でかというと、Rigはあくまでコントローラーなのです。このコントローラーにエンベロープを設定してしまうと、項目数がおおよそ150・・ShadowRig
とRigの関係は、操り人形と、操る糸の関係と想像してます。
まずBipedGuideをバックアップしてから消そう
ファイル→書き出し→モデル→Biped_Guide.emdl で、保存しておきます。
もし他のキャラクタも作る場合はこの命名規則では、データが混在してしまいます。なのでMDL_CHA_REIM_BIPED_GUIDEという長ったらしい名前のフォルダを作成し、そこに保存しておきます。こういったファイル整理が後半に響いてきますので、めんどくさがらずにしっかりと管理しておくとよいことがきっとある・・
UpperBody
のニュートラルポーズを削除する
XSI4.0からの仕様です。斜めになったUpperBody
,Chest,Hipを修正します
ニュートラルポーズが設定されておりますので、
Tranceformパネルから「ニュートラルポーズの解除」を実行します。
何故これを行うのかはBipedGuideのページに詳しく乗せてます。
理由を簡単に書きますとアニメーション作るときに不便になるからです。
レイヤーわけしてシーンの整理
RigとShadowCharacterを今のうちにレイヤー(Layer)に分けておきます。こうしたシーン整理は今のうちに癖付けておかないと後半、シーンにオブジェクトが膨大になってからだと中々掃除とか鬱陶しくなります。Rigをブランチ選択
中に[選択から新規レイヤ]でOKです。
指を削除
どうもゲーム用ライブラリの関係上
エンベロープ用ノード数が多すぎます。
指の全部利用は無理です。
両手合わせると30ノード。
ですので最低限の動きグーチョキパーができる程度のノードだけ残しておきます。
実際にゲームに利用するのはコンストレインしているShadowCharacterである
Null群ですので、コントロールのほうは削除するのではなく、
このうす黄色いNullの数を減らせばよいのですが
今回はRIGボーンの数も減らしておきます。
親指を1関節に変更
人差し指と中指を統一、二関節に
薬指と小指結合、二関節に
これで、グーパーと、いわゆる2本指を立てる呪文詠唱的な指の形が取れます。
ただし、ポリゴンの形状をちょっと変更する必要が今後出そうなのが課題です。
実際ウェイトを割り当てる時に修正しましょう。
GlobalSRT
って何?
これは消してはいけません。
プログラムで利用するノードです。
キャラクタの中心として利用します。
座標x0.y0.z0で固定しておきます。
いったい何に使うのかは
XSI日記/アニメーション製作
で詳細を明記します。
そして、このノードをエンベロープ化する必要もありません。
ノードの最適化
不要なノードは一度ハイディングしておきます。
これでいいかな・・と思ったら親子関係からはずしてあげます。
コレで31+ポリゴン(1〜4)ノードになりました。
あとはスカートとか顔とか髪の毛とかでノードを割かねばならないので
目指せ48ノード以内といった所でしょうか。
(すでに左手のノードは削除しちゃってます)
掃除後です。
スカートをはためかせよう
幾つか方法があります
- ボーンをつけて手付けで動かす
- クロスシミュレーター
- 上位クロス(Sifrex)(advのみ)
- TailRigを利用する
- WaveDeforme
とコントロールオブジェクトを仕込む - スクリプトを組む(例モーション研究所 シミュレーション リグ生成 応用編
ポイント、エッジ、ポリゴンなどのコンポーネントをクラスタ化させることで
Null等をObjectToCluster(オジェクトをクラスタに)でSRTを取得する事ができます。
ですのでシミュレーションを利用して作成したモーションも
簡単にゲーム用データに落とし込む事が可能です。
添付ファイル:














アイコンから「NURBS境界」を選択すればどこか始点か解ります。