Automaton  キャラクタセットアップツール&Rig

履歴

2004/10/03 2.0 AutomatonType2を追加

2003/11/15 1.1 WeightMapの機能拡張。L/R_Hipの回転制限をなくした。L/R_ForarmDir_IKNullの制御の公開。   
           Automaton 腰までの高さを基準にコントローラのサイズを修正するように変更。顔ターゲットの表示位置ロジックを改善。
2003/10/30 1.0公開 
2003/10/22 β0.91 UseWeightMapスイッチの追加
2003/10/02 β版登録

使用方法

1)サンプルデータを参考にキャラクタを作成します。Skelegonsデータはサンプルのものをコピーして使用してください。回転角などの問題がある為、Skelegonsの部分コピーは避けたほうが無難です。

2)オブジェクトを読み込みます。IKコントロールNULLは骨の位置から生成されますのでSkelegons入りのモデルだけがあればOKです。

3)まず、「その場でペアレント」がOFF状態になっていることを確認してください。「その場でペアレント」が有効になっているとRig作成が正常に行なえません。こんな感じになります。

4)必ずセットアップは初期位置<0,0,0>の状態と0フレーム目で行なってください。もし、違っている場合はエラー表示されます。

5)Genetic LScript「Automaton.lsc」を実行してください。

 実行すると以下のようなダイアログが表示されます。ここで、生成したいRigを選択してください。IKBlenderAMEx.pがインストールされていないとIK/FKブレンドが正常に動作しないので注意してください。

 

6)IK/FKブレンドはRig作成時にIKSlidHolder.lwoが必要です。ダイアログでIKSlidHolder.lwoのファイルの位置を指定してください。初期値ではContentDirectory以下になっています。IKSlidHolder.lwoはプラグインと同じLzhにはいっています。

7)「WeightMap」はウェイトマップを使用するかどうかのスイッチです。
  ●「create」  Weight名を自動的に作成します。
  ●「NotUse」  WeightMapを使用しません。
  ●「Skelegon」 Skelegonデータをそのまま使用します。

8)「OK」を押すと指定されたRigが生成されます。

AutomatonType2

AutomatonType2は二重関節モデル専用のAutomatonRigを生成するツールです。二重関節モデルをコンバートする場合は必ずこのツールを使用してください。 

  二重関節モデルの利点。

  ・足や腕の肘の形状を保持しやすくなります。
  ・伸ばした状態でのモーションの不具合を抑えることが出来ます。(関節がパキっと曲がる、足の甲がゆがむ)
  ・二重関節の位置を工夫することで肘や膝に遊びが出来、逆関節への曲がりをシミュレーション出来ます。l

  二重関節モデルの欠点

  ・FKモデルでの操作性が悪くなります。
  

止め骨の便利な機能

AutomatonはSkelegons上の止め骨をサポートしています。 また止め骨の作成を補助する為に名前規約により自動的にボーン無効、非表示にすることが可能です。

止め骨を非表示及び無効にしたい場合サフィックスとして_Nullを追加してください。

 以下に例を示します。

 L_Shoulder_Null
      ↑ 
     ここを_Nullするとボーンが無効、非表示になる。注意)_NULLや_nullでは上記の機能は動きません。

自動IK設定機能

Automatonは名前規約によってIK設定を自動的に行なうことが可能です。

_StartによってIK設定のを開始します。この名前のNullにはIKStopが適応されて、上位の階層にIKが伝わらないようになります。

_Start以下の階層にあるNullは回転中心のResetとH/PにIK制御を設定します。

_IKはIKの終端です。終端部分にはControler用のNullが追加されます(Nullの親はMasterになっているので必要に応じて親を変更してください)。

_Startと_IKは対になっています。必ず忘れないようにしてください。以下に名前規約の例を記します。

 Kami1_Null - Kami2_Start - Kami3 -Kami4 - Kami5_IK
                               ↓
                            Kami5_IKCtrl(Nullを追加)
                    ↑    ↑
             ↑     H,P IKに変更、回転中心の記録実行。
            IK効果停止

自動MuscleIK設定機能

この機能はLW7.5Xでは動作しません。

 Automatonは名前規約によってMuscleIKを設定することが出来ます。この機能を使うには予めATMuscle.lsをLWに登録しておくことが必要です。Muscleの設定は以下のフローに従ってください。

1)Modelerのスケルゴンで骨を追加し、命名規約に沿って名前を変更します。  

   *_Start -> *_Muscle -> *_IK   

 の様にします。

2)Muscleを配置します。人間の骨格図に合わせるとよい結果が出るようです。また。あまり伸縮させないほうがスムーズな変形になります。

3)Layoutに移ってAutomatonType2で変換します。このとき予め「その場でペアレント」をONにしておくと便利です。  

4)IKBlendAutoBaker.lsでAutoBakeモードに変更します。必ず0フレーム目で設定することを忘れないで下さい。

5)生成されたMuscleBoneControlNullはMaster以下に付いているので親子関係を変更してください。この作業は自動では行なわれません。  

6)Boneの適応が100%だと形状を保ち難いので_MuscleのBoneを20%ぐらいにする良いようです。

7)うまく変形しなければ2)に戻って修正しなおしてください(RemoveAutomaton,lsを使用すると簡単にRigをクリア出来ます)。

名前規約一覧

Automatonの名前規約一覧は以下の通りです。

PostFix(終端名) 機能
_Null Boneの無効化/非表示化する。 Root_Null
_Start

IK開始(_IKを使用する場合必ず必要)。このNullにIK効果停止(IKStop)が設定される。これ以下の階層のNulにlは「H/PのIK制御」と「回転中心の記録」が実行される。

Kami2_Start
_IK

IKControler用Bone。[*]_IKCtrlという名前でNullを追加し、Bone開始位置にNullを移動する。追加されるNullの親はMasterとする。

Kami5_IK
_Muscle ATMuscle.lsのプラグインを自動的に追加する。予めATMuscle.lsをLWに登録しておくこと。この機能はLW7.5Xでは動作しません。 Kami2_Muscle


注意事項

 Automatonでは内部的に「*____Base」という名前を使用しています。この為、この名前規約と同一の名前がシーン内にあると誤動作する可能性があります。

AutomatonRigのコントロール方法

AutomatonRigのコントロール方法のを以下に示します。

●IKモデル、IK/FKブレンドモデル 共通

NULL/Bone名 機能 特記事項
Master 全体位置と回転  
Root 体の中心の位置と回転  
Spine1〜Spine3 背骨の曲がり  
Neck 首の根元 首が伸びすぎた場合、調節出来ます。
HeadGoal 首の向き

首の向きをIKでコントロールします。

R_Shoulder 左鎖骨の動き 手でFlipが起きた場合、鎖骨のバンク回転で抑えられる時があります。
R_ArmGoal 左腕の位置と回転 IK/FKブレンドモデルの場合、HandsWithArmsIKかR_HandsIKが有効になっている必要があります。
L_Shoulder 右鎖骨の動き 手でFlipが起きた場合、鎖骨のバンク回転で抑えられる時があります。
L_ArmGoal 右腕の位置と回転 IK/FKブレンドモデルの場合、HandsWithArmsIKかR_HandsIKが有効になっている必要があります。
R_FtCtrl 左足の位置とかかと回りの回転 IK/FKブレンドモデルの場合、FootsWithLegsIKかL_FootIKが有効になっている必要があります。
R_FtRot 左つま先の曲がり
R_FtTipGoal つま先を中心とした回転
L_FtCtrl 右足の位置とかかと回りの回転 IK/FKブレンドモデルの場合、FootsWithLegsIKかL_FootIKが有効になっている必要があります。
L_FtRot 左つま先の曲がり
L_FtTipGoal 右つま先を中心とした回転

●IKモデル

NULL/Bone名 機能 特記事項
R_Shoulder2 左肘の向き

回転が大きいと腕や足の付け根が破綻する可能性があります。

また、Flipの可能性も大きくなるので注意してください。

L_Shoulder2 右肘の向き
R_Hipr2 左膝の向き
L_Hip2 右膝の向き

●IK/FKブレンドモデル

NULL/Bone名 機能 特記事項
R_Shoulder2_IKNull 左肘の向き

回転が大きいと腕や足の付け根が破綻する可能性があります。

また、Flipの可能性も大きくなるので注意してください。

L_Shoulder2_IKNull 右肘の向き
R_Hipr2_IKNull 左膝の向き
L_Hip2_IKNull 右膝の向き
R_Hand 左手首の回転 HandsWithArmsIKとR_HandsIKが無効になっている必要があります。
L_Hand 右手首の回転 HandsWithArmsIKとR_HandsIKが無効になっている必要があります。

ブレンド率の変更はIKSlideHolderのMorphMixer各項目によって行なえます。以下にその一覧を示します

NULL/Bone名 機能 特記事項
IK_1.ActivateIK 全IKの有効/無効 この項目が無効だとすべての項目が無効になります。
IK_1.BothArmsIK 両腕IKの有効/無効  
IK_1.BothLegsIK 両足IKの有効/無効  
IK_1.FootWithLegsIK 足首方向をコントローラに粘着させる 足が空中にある場合など無効にすると便利です。
IK_1.HandWithArmsIK 手首方向をコントローラに粘着させる 初期状態で無効になっています。
IK_1.HeadIK 首IKの有効/無効  
IK_2.R_ArmIK 左手IKの有効/無効 IK_1.BothArmsIKが無効の場合のみ効果があります。
IK_2.R_FootIK 左足首の回転粘着 IK_1.FootWithLegsIKが無効の場合のみ効果があります。
IK_2.R_HandIK 左手首の回転粘着 IK_1.HandWithArmsIKが無効の場合のみ効果があります。
IK_2.R_LegIK 左足IKの有効/無効 IK_1.BothLegsIKが無効の場合のみ効果があります。
IK_2.L_ArmIK 右手IKの有効/無効 IK_1.BothArmsIKが無効の場合のみ効果があります。
IK_2.L_FootIK 右足首の回転粘着 IK_1.FootWithLegsIKが無効の場合のみ効果があります。
IK_2.L_HandIK 右手首の回転粘着 IK_1.HandWithArmsIKが無効の場合のみ効果があります。
IK_2.L_LegIK 右足IKの有効/無効 IK_1.BothLegsIKが無効の場合のみ効果があります。

ATItemPickerを使用してIKSlideHolderのMorphMixerを表示することが可能です。

●以下に概念図を示します。

IKモデル

IK/FKブレンドモデル

注意)IK/FKブレンド率の変更は上記のIKSLidHolderのMotionMixerチャンネルでも行なえますが、ATToolsのATIKCtrl.lsを使うと効率よくブレンド率を変更できます。

●判りにくいコントローラの機能の概要を図にしてみました。

 

免責事項

 本ソフトウェアおよび書類を使用したことまたは使用できなかったことから生じる、 直接損害、間接損害 につき一切の責任を負いかねますので 予め了承ください。 要望やバグがある場合は以下のアドレスまでメールしてください。

  Copyright Noboru Fujiyama 2003/05/27
  e-mail : noboyama@yk.rim.or.jp
  homepage : http://www.yk.rim.or.jp/~noboyama/

 

戻る