■キャラクターセットアップ■
XSI3.5にて[Biped Guide]を使用したキャラクターセットアップ<基本手順 2003.Aug>
1:エンベローブとなるキャラクターモデルの下準備
2:[Biped Guide]で骨格ガイドを作成
3:Rigを生成、モデルにアタッチする前の下準備
4:パーツごとに骨付け
5:ウェイトの調整
6:独自のコントローラーを追加
7:Synopticをカスタマイズ
8:保存
1:エンベローブとなるキャラクターモデルの下準備
基本スケールを1ユニット=1mとしてキャラクターを作成
ワンスキンモデルではなく、パーツごとにモデリングされている例です。
各パーツごとに親子関係でアニメーションをつけるとしたら…と仮定して動きの中心軸になるポイントにセンターを整理します。
判断つかないパーツはそのオブジェクトのセンターでOKです。
半身作ってミラーコピーなどすると原点(0.0.0)にセンターが作成されがちなのを修正しておいて下さい。
(今回Houdiniからobjで持ってきたので各モデルのセンターがシーン座標原点に何故か集中…それを修正しました。)
●ツリー構造
・頭部
・上半身
・下半身
とわかりやすく整理して原点にNullを作成、すべての親にします。
名前は「env_キャラクター名」(今回キャラクター名=chicken)
そのさらに上にModelでまとめ、名前を「キャラクター名」にします
2:[Biped Guide]で骨格ガイドを作成
NetViewから「BIPED PROP GUIDE」をシーンへドラッグ&ドロップ
Rig作成用の赤いガイドモデルが呼び出されますが、ガイドモデルはキャラクターのスケールよりもはるかに大きいです。
そこでキャラクターをガイドに合うように拡大します。
Model「chicken」をマウス中ボタンで選択してスケール15にしました。
*1ユニット=1mの場合、子供の身長サイズだと15、大人身長だと12くらい*
このガイドのCubeを動かしてキャラクターの骨格を作成します
ガイドを動かしやすいようにLayerを分けて作業する
3:Rigを生成、モデルにアタッチする前の下準備
ガイドが用意できたらキャラクターのオブジェクトをグループ化しておきます
グループ名を「env」にします
グループは「chicken」Model内へ移動させます
次にいよいよガイドからRigを作成します
Model「Biped Prop Guide」を選択して character >Rig from BipedGuideを実行
ガイドを元にRig[Biped_Rig]を自動作成してくれます
[Biped_Rig]を見るとすでにエンベローブ対象のチェイングループや、非表示のグループが
用意されています。この他に使いやすいようにコントローラーのグループを追加していきます
先ほど準備した[env]グループをダブルクリックしてビジリティを変更
、非表示にします
同様にenvelope_Groupも非表示にすると
↓図のようなコントロールオブジェクトだけが表示されます
黄色、黄緑、うす緑、青のコントローラーを選択してグループ[CTL]にします
残ったNullやCurveなどは[Hidden]グループへ入れてしまいます
4:パーツごとに骨付け
本来は一番上位階層から親子選択して一気にエンベローブを指定可能なのですが、後からのウェイト編集や
オブジェクトの変更など行いやすいように パーツ単位でアタッチさせていきます
まず腕のパーツ[arm_R]を選択して、 Deform >Envelope >SetEnvelope
次にこのオブジェクトに関連させたいチェインをpickしていきマウス右クリックで終了
この作業を各パーツごとに行いますが部位によってはまとめて指定してもかまいません
頭部は[head]以下ブランチ選択してから頭のチェイン[headBind]へアタッチするとよいでしょう
こんな状態になりました
非表示にしていたCTLグループのビジリティーを元にもどし、Rendervisibilityをオフにしておきます
ひとつコントローラーを選択してキーボードのF3を押してSynopticViewを出します。
SynopticViewを利用することで簡単にコントローラーを操作することができるので、
ちゃんと骨付けされているかSynopticViewを使ってTESTして下さい
Posesタブ内には参考のポーズ集があるのでそのポーズを使い、各オブジェクトのウェイトチェックを行えます
ResetタブのResetAllで元のセットアップポーズに戻ります
5:ウェイトの調整
腹筋部分や、わきの下、指などはウェイト調整をしてあげないといけません。
座ったポーズをさせるとおかしな部分がよくわかります
Weight Paint Panelに切り替えてポイントのウェイト調整を行います
修正したいポイントを選択して、影響を受けるチェインの度合いを編集していきます
6:独自のコントローラーを追加
基本はこれで完成なのですが少しカスタマイズしてみます
肩のコントローラーと 手首のコントローラーを追加していきます
*Add_CTLというセットを用意してありますここからダウンロードして下さい
*NetViewで見ている方はドラッグ&ドロップでOKです
それぞれModel[AddCTL]から切り離して下さい(Model[AddCTL]は消してOK)
LShoulder_CTLをLShoulderへConstrain > Position
直後に RemoveConstrain
LRootShoulderの子供にしてローテーションを0.0.0
LShoulderをLShoulder_CTLへConstrain > Orientation
LHand_CTL0をLArmEffへConstrain > Position
直後に RemoveConstrain
LHandRootの子供にして
LHand_CTL0をLHandへConstrain > Orientation
直後に RemoveConstrain
LHandをLHand_CTLへConstrain > Orientation
各自反対側も同様に行い
LShoulder_CTL
RShoulder_CTL
LHand_CTL
RHand_CTL
を[CTL]グループへ追加しておく
両肩と両手首にCTLが追加され、それぞれのCTLを回転させると 肩や手首が動く
「chicken」Modelの下にNull(0.0.0)を作成して名前をscalとする
このscalの子供にBiped_Rigをセットする。
これで「chicken」Modelにひとまとめになったところで
元のスケールへ戻してあげる。今回は15→1へ
アニメーション付けの作業中にはCTL以外選択したくないので
CTLグループ以外のビジリティーを編集しておく
7:Synopticをカスタマイズ
SynopticViewで追加したCTLも制御できるようにカスタマイズします
globalSRTの下にSynoptic_Propertyがあります
これをダブルクリックすると$SI_HOME以下にあるhtmlを参照している事がわかります。
このhtmlファイルを複製して独自のファイルを作成します
$SI_HOME/Data/XSI_SAMPLES/Synoptic/Rig/にあるファイルすべてをコピーして
ローカルのデータベース内にあるSynopticフォルダ内へペーストします。
Synoptic_Propertyの参照先を変更します
XSIにSynoptic Editorというtoolがあります。本来それを使って行うのですが メモ帳などのテキストエディターでも編集可能です。
変更したいことは追加したCTLをピックできるようにする事と
リセットしたときに追加CTLもセットポジションにもどるようにする事です。
BipedSynoptic_IK1.htmを編集
18行目
21行目
45行目
57行目を追加したCTL名に変更
BipedSynoptic_IK2.htmを編集
追加したCTLのローテーションがリセットで0.0.0になるように記述
8:保存
これまでのセットをまとめてModel出力します。
これで他のシーンへ簡単にキャラクターセットを連れて来れます
「chicken」Modelを中ボタン選択して
File > Export > Model