Create Secondary Animation Tool UI

STUDIO JOIN > Animation> Create Secondary Animation Tool UI

Create Secondary Animation UI : Sine

Create Secondary Animation UI : Simulation

Create Secondary Animation Simulation Hair UI

Create Secondary Animation Simulation Hair sample

SimulationUI parameter

①Set :
All : Secondaryすべての設定を変更します。
Allを設定後Secondary Listからコントローラーを選択する場合は Selectedと 同じ設定が適用されます。
Selected: Secondaryに選択されたコントローラーの設定を変更します。
②Secondary List:
セカンダリーコントローラのリストです。
コントローラーを選択すろとUIの情報が更新されます。
コントローラーをダブルクリックするとhairsystemが選択されます。
複数のコントローラーを選択してパラメータを調整することが可能です。
③Bake Controller :
bake後Dynamic設定がKeyに変更されます。
再シミュレーションをする場合はDynamicをAll Follicles,Dynamic Follicles Only設定します。
④Quick preset :
PresetタプのQuick Presetに保存されたデータを簡単にアサインする。
Secondary Listからコントローラーを選択した後Assignを実行して適用。
⑤Dynamic :
Off :シミュレーションの再生中、ヘア システムの表示や更新は行われません。
Static :シミュレーションの再生中、ヘア システムは動きません。ただし、サーフェスがトランスフォームされた場合、ヘアの位置は更新されます。
Dynamic Follicles Only :シミュレーションの再生中、ヘア システムはダイナミック ヘアのみのシミュレーションと更新を行います。パッシブ ヘアは非表示になります。
All Follicles :シミュレーションの再生中、ヘア システムはすべてのヘア(ダイナミック ヘアおよびパッシブ ヘア)のシミュレーションと更新を行います。

⑥Start Frame :Maya Nucleus ソルバが計算を開始するフレームを指定します。

⑦Stretch Resistance :ヘアが張力を受けている場合に、伸長に抵抗する量を指定します。値が大きいと、計算する時間が長くなります。
ex) 値が小さい程、シミュレーションhairが長くなります。しかしjointは増えないので、jointの動きが直線的になります。

⑧Compression Resistance :

ヘアがセグメントに沿った圧縮に抵抗する量を指定します。 ex)値が小さいほど、歯ブラシのような動きになります。

⑨Bend Resistance :

ヘアが張力を受けている場合に、ベンドに抵抗する量を指定します。値が値がと、計算する時間が長くなります。ex)値が高いほど曲がります。値が小さいほど曲がません。この時、コントローラが少ないほど曲がません。コントローラが多いほど曲がります。コントローラが多い場合はそれぞれのコントローラが少しずつ回転するので、最終的にコントローラーが多いほど曲がるように見えます。

⑩Twist Resistance :

ヘアが長さに沿ってダイナミックにツイストできる量を指定します。ツイストの抵抗(Twist Resistance)のエフェクトは、ヘア レストのシェイプがストレートではないときに顕著になります。ツイストの抵抗(Twist Resistance)を大きくすると、レストのシェイプを保つことができます。

⑪Extra Bend Links :

互いに最も近くはない、または近接するヘア同士ではないヘアの頂点間にベンドのリンクを追加します。これらのリンクは、多くの頂点を持つヘアのベンドおよびツイストの抵抗に役立ちます。追加ベンド リンク(Extra Bend Links)は、ヘアが小さいスケールよりも大きいスケールで固くなる、不自然に見えるヘア エフェクトを作成することがあります。
⑫Rest Length Scale :

ヘアがレスト位置で膨張または収縮できるヘアのレスト長の乗数を指定します。シミュレーション開始時の突然のスナップを避けるには、レスト長のスケール(Rest Length Scale)の値を 1.0 にして第 1 フレームにキーを作成します。次に続くキー フレームでこの値を徐々に上げるか下げていきます。
⑬Stiffness Scale :
固さのスケール(Stiffness) は、ヘアの根元から先端までの全体的な剛性に影響します。グラフの左側が根元、右側が先端にあたります。一般的にヘアは根元が厚いため、先端よりも硬くなります。
ex)Bend、Stiffnessの値を大きくするとバネのような動きを得ることができます。

⑭Attract Scale:
引き付けスケール(Attraction Scale)ランプは、ヘア システムのヘアの束の長さに従って、開始カーブに引き付け(Start Curve Attract)アトリビュート値を減衰させます。ランプ グラフを使用して、ヘア システムの束に対し、毛の根元から毛先まで変化する毛の固さを定義できます。ランプ グラフの左側は、ヘア システム内のヘアの束の根毛を、右側は毛先を表します。たとえば、ヘアの束の根毛を毛先よりも柔らかくするには、ランプ グラフの右側の値を左側の値よりも小さくします。
引き付けスケール(Attraction Scale)ランプ値は、ヘア システムの開始カーブに引き付け(Start Curve Attract)アトリビュート値の乗数です。したがって、引き付けスケール(Attraction Scale)が 1.0 の場合、開始カーブに引き付け(Start Curve Attract)の値は変わりません。また、値が 0.0 の開始カーブに引き付け(Start Curve Attract)は、引き付けスケール(Attraction Scale)による影響を受けません。
⑮Start Curve Attract:
現在のヘアの位置を(変形する)開始位置へ引き付ける量を決定します。このアトリビュートは、たとえば、硬めのヘアやキャラクタとともに動くヘアの場合など、多くのヘア ワークフローで役立ちます。さらに、キーフレームを設定されたアニメーションを開始カーブに配置する場合、開始カーブに引き付け(Start Curve Attract)アトリビュートを使用して、シミュレーションと開始カーブ アニメーションをブレンドすることができます。流れるような長いヘアの場合には、通常、開始カーブに引き付け(Start Curve Attract)の値はゼロのままにします。ただし、短いヘアの場合は、ヘアの十分な剛性を保つことが困難になる場合があります。ヘアの剛性を非常に大きくして、同時に、いくつかのダイナミックなプロパティを持たせる必要がある場合、ゼロより大きい値を使用します。1.0 の値のとき、ヘア位置はカーブ開始位置です(トランスフォームされる毛根からの相対位置になります)。衝突およびフォースだけは、ヘアを偏向させます。Start Curve Attract がない場合、Substep と Damp の値を増やす必要があります(特に、ヘアごとの CV の数が多いとき)。開始カーブに引き付け(Start Curve Attract)の値を 1.0 に設定すると、カーブ開始位置への引き付けが 100% です。固さのスケール(Stiffness Scale)アトリビュートを使用して、カーブのどの部分をカーブ開始位置に引き付けるかを制御することができます。カーブ開始位置をアニメートしたとき、シミュレーション方法(Simulation Method)をスタティック(Static)に設定したときと類似した動作が生成される場合があります。ただし、ダイナミック フィールドは、依然として、ソルブの上に追加されたままになります。

⑯Attraction Damp:
開始カーブに引き付け(Start Curve Attract)のエフェクトをダンプし、ヘアをカーブの開始位置の方に移動させて、ヘアの速度を遅くします。これは、ヘアの弾力性(開始カーブに引き付け(Start Curve Attract)の値が高い場合に発生)を小さくしたい場合や、アニメートされたヘアの頂点にダイナミック フィールドを適用したい場合に便利です。引き付けのダンプ(Attraction Damp)を 1 にすると、開始カーブの方に移動するヘアの動きは完全にダンプされ、開始位置(Start Positions)とフィールド フォースだけをそのままにして、後から任意でその動きにインフルエンスを及ぼせるようにします。

⑰Mass:
シミュレートされたヘアの頂点の質量を設定します。質量(Mass)はヘアが他の Nucleus オブジェクトとどのように衝突するかに影響し、ドラッグ(Drag)に影響を与えます。質量(Mass)が高いヘアは、低いドラッグ(Drag)値が使用される場合、チェーンのように動作します。この場合、ヘアは空気よりもはるかに質量が多くなります。
⑱Drag:
これは、シミュレーションを安定させるのに役立つだけではなく、空気摩擦をシミュレートします。ドラッグ(Drag)の値が 1.0 のとき、ヘアは慣性のモーションやフォロースルーがないように動作するため、粘度が高い液体の中にあるかのように動きます。

⑲Tangential Drag:
ヘアの方向に沿ってドラッグする量を指定します。0 に設定すると、ヘアは接線方向またはシェイプの方向に沿った移動において抵抗がなくなります。接線のドラッグ(Tangential Drag)を 1 に設定すると、ドラッグ(Drag)はすべての方向に均一になります。ドラッグ(Drag)のレベルが高く、接線のドラッグ(Tangential Drag)が低い場合、ヘアは水中を移動する蛇のような揺らぎモーションの動きをします。

⑳Motion Drag:

毛根の動きに相対的なヘア カーブの動きをダンプします。モーション ドラッグ(Motion Drag)の値は、ヘア カーブが毛根に合わせて動く量、またヘアのシェイプが他のフォースに影響される程度を決定します。これにより、Substeps の数を増やさなくても、ボビングやウィグルのようなヘアの余分な動きをダンプすることができます。
たとえば、モーション ドラッグ(Motion Drag)を 1.0 に設定すると、ヘアは毛根に合わせて動くので、周囲の大気をそれに合わせてドラッグしているように見えます。固さのスケール(Stiffness Scale) アトリビュートを使用してモーション ドラッグ(Motion Drag)のエフェクトに影響を及ぼすこともできます。たとえば、固さのスケール(Motion Drag) ランプ ドロップオフを使用して、ヘアの先端よりも根元の方にモーション ドラッグ(Motion Drag)を作成することができます。モーション ドラッグ(Motion Drag)の既定値は 0.0 です。
(注:モーション ドラッグ(Motion Drag)はヘアの衝突を妨げません。)
㉑Damp:
ヘアのベンドおよび伸長の方法に影響する個々のヘアの相対的シェイプの変化をダンピングします。

㉒Stretch Damp:
ヘア カーブ頂点間の伸長による速度がどのくらいダンピングされるかを指定します。伸長のダンプ(Stretch Damp)を大きくすると、ヘアは弾まずに伸長できます。
㉓Gravity
これをオンにすると、現在選択されているヘア オブジェクトのソルバの重力(Gravity)が無効になります。
㉔Dynamics Weight:
ヘア システムに適用される Maya フィールドのエフェクトをスケールします。Dynamic Weight 値を大きくすると、ヘア カーブ上のフィールドのインフルエンスが大きくなります。Dynamics Weight を機能させるには、Ignore Solver Gravity をオンにし、該当する場合は Ignore Solver Wind もオンにして、ヘア カーブで Maya フィールドのみが作用するようにします。
Ignore Solver Gravityこれをオンにすると、現在選択されているヘア オブジェクトのソルバの重力(Gravity)が無効になります。
Ignore Solver Windこれをオンにすると、現在選択されているヘア オブジェクトのソルバの風(Wind)が無効になります。
Disable Follicle Animオンにすると、再生時に毛根のアニメーションの評価が無効になります。アニメートされた毛根のシミュレート時に再生パフォーマンスを向上させるための最適化設定です。毛根アニメーションの無効化(Disable Follicle Anim)がオンになっているシミュレーションをキャッシュする場合、キャッシュ可能なアトリビュート(Cacheable Attributes)をダイナミック状態(Dynamic State)に設定します。これにより、ツイストの抵抗(Twist Resistance)のエフェクトが nCache ファイルに保存されるようになります。
Tubulence :
Instensity :乱気流によって生じる気流スピードを設定します。0 を指定すると、乱気流は発生しません。
Tubulence Frequency :乱気流によって生じる気流スピードを設定します。0 を指定すると、乱気流は発生しません。
Tubulence Speed :
時間の経過に伴って乱気流が変化するスピードを設定します。
ex)キャラクターが止まている時にセカンダリだけを揺らしたい場合に使います。Clump Width :
ダイナミック ヘアのグループの基本幅または最大幅です。
ex)セカンダリCollisionの厚を設定します。

㉗Wind:
選択したSecondaryに風を制御するコントローラーを作成します。
1. 風のルドコントローラー、でSecondary+_locB名の向きを決めます。
2. ルドコントローラーの Attributeで未調整します。
Vector Scale:人為的な揺れを作る。
Wind Amplitude X, Wind Amplitude Y, Wind Amplitude Z:
Wind Frequencyの揺れはを設定します。
Wind Frequency X, Wind Frequency Y, Wind Frequency Z:
乱気流によって生じる気流スピードを設定します。0 を指定すると、乱気流は発生しません。
Air Density:
Maya Nucleus ソルバに適用する大気の密度を指定します。大気の密度とはシーン内の大気の質量を指し、オブジェクト上の相対的な抗力に作用します。既定値は 1 です。
大気の密度(Air Density)の値が小さいほど、オブジェクトに作用する大気摩擦が減少し、抗力の影響は少なくなります。たとえば、大気の密度(Air Density)を 0 に設定すると真空と同じ状態が作成され、オブジェクトに衝突する空気の分子はなくなります。大気の密度(Air Density)の値が大きいほど、空気摩擦とオブジェクト上の抗力は増加します。たとえば、この値を大きくして、水中でのオブジェクトの動きをシミュレートできます。
注:大気の密度(Air Density)は、nCloth オブジェクトや nParticle オブジェクトのドラッグ(Drag)と揚力(Lift)のアトリビュートに作用します。大気の密度(Air Density)値を 0.0 にすると、これらのアトリビュートは基本的にオフになります。
Wind Noise:現在選択されている nucleus システムのダイナミックな風のランダム化のレベルを指定します。

㉘Modify:
key Blend:
元のkeyとセカンダリツールからのkeyをブレンドします。0の時は元のkey,1の時はセカンダリツールのkeyになります。

㉙Collision :
これをオンにすると、nHair オブジェクトは同じ Maya Nucleus ソルバを共有する他の nHair オブジェクトを含む Nucleus オブジェクトと衝突します。これをオフにすると、nHair オブジェクトは他の Nucleus オブジェクトと衝突しません。

㉚Self Collide
これをオンにすると、ヘア オブジェクトによって生成されたダイナミック ヘアが相互に衝突します。オフにすると衝突しません。

Solver Display
シーン ビューに表示させる、現在選択されている nHAir システムの Maya Nucleus ソルバ情報を指定します。ソルバ表示(Solver Display)を使用して、ヘア シミュレーションに関する問題の診断やトラブルシューティングをより分かりやすくすることができます。
Collision Layer
現在選択されている nHair オブジェクトを特定の衝突レイヤに割り当てます。衝突レイヤ(Collision Layer)は、同じ Maya Nucleus ソルバを共有する Nucleus オブジェクトが相互作用する方法を定義します。
同じ衝突レイヤ上にある Nucleus オブジェクトは正常に衝突します。ただし nucleus オブジェクトが異なるレイヤにある場合、小さい値のレイヤにあるオブジェクトは大きい値のレイヤのオブジェクトよりも優先順位が高くなります。つまり衝突レイヤ 0.0 上の Nucleus オブジェクトは衝突レイヤ 1.0 上のオブジェクトを押し込み、順に衝突レイヤ 2.0 上のオブジェクトを押し込みます。この衝突優先順位は、
nucleus ノード上の衝突レイヤ範囲(Collision Layer Range)アトリビュートで設定した範囲内で発生します。2 つのオブジェクトの衝突レイヤの論理差が 1.0 以上である場合は、下位レイヤは上位レイヤに相対してリジッドになります。衝突レイヤの論理差が 1 未満の場合は、相対的な押し込み(または質量)がより同等になります。
(注:衝突レイヤ内の他の nucleus オブジェクトは、同じ衝突レイヤまたはより高い値のレイヤにある nHair オブジェクトのみと衝突します。
nClothShape ノードの
衝突レイヤアトリビュートも参照してください。
㉝Friction
nHair オブジェクトの摩擦の量を指定します。摩擦(Friction)を使用して、同じ Maya Nucleus ソルバを共有する他の Nucleus オブジェクトと、それ自体との衝突で、ヘアが相対モーションに抵抗する度合いを定義します。摩擦(Friction)の効果は、ヘア オブジェクトの スティッキネス(Stickiness)値の影響を受けます。
Stickiness
スティッキネス(Stickiness)は、衝突の間の互いのまたは他の Nucleus オブジェクトへの、ヘア スティックの傾向を指定します。スティッキネス(Stickiness)および摩擦(Friction)の追加情報については、nClothShape ノード摩擦(Friction)およびスティッキネス(Stickiness)アトリビュートを参照してください。

Advance Mode

ほとんどのhairSystemアトリビュートと同じ制御可能

シムレイション専門家におすすめ

Advance Mode Off

最低限hairSystemを制御に必要なアトリビュートを制御可能

アニメータにおすすめ

Create Secondary Animation UI : Preset

Preset

Type:

Presetの種類(Sine, Simulation)を選択します。

Path:

Set Preset Path:

Presetのパズを設定します。

Save Preset:

PresetのパズにPreset保存します。

Assign:

          1. Secondary Listのコントローラーを選択します。

          2. presetからをSine,Simulationのに設定します。

          3. presetを選します。

          4. Assignをクリックします。

Quick Preset

Path:

Set Quick Preset Path:

Quick Presetのパズを設定します。

Save Preset:

Quick PresetのパズにPreset保存します。

Assign:

選択したpresetをSimulationのSelect Main Controllerのコントローラーに設定します。

Simulation tabのQuick presetから選んで選択することも可能です。

基本UIからコントローラー追加する方法


  • 下記のファイルを開く

  • ###\work\Boo_ScriptCompany\SDK\Maya\maya2015x64\Boo_Script\Scripts\data\CreateSimSecondary.attr

  • それぞれのフレームレイアウトに必要なアトリビュートを追加します。

  • 下記の例を追加します。

  • "Forces":

{

"mass":["Mass","slider",200],

"drag":["Drag","slider",200],

"tangentialDrag":["Tangential Drag","slider",200,"advanced"],

"motionDrag":["Motion Drag","slider",200,"advanced"],

"damp":["Damp","slider",200],

"stretchDamp":["Stretch Damp","slider",200,"advanced"],

"gravity":["Gravity","slider",200,"advanced"],

"dynamicsWeight":["Dynamics Weight","slider",200,"advanced"],

"ignoreSolverGravity":["Ignore Solver Gravity", "button",200,"advanced"],

"ignoreSolverWind":["Ignore Solver Wind", "button",200,"advanced"],

"disableFollicleAnim":["Disable Follicle Anim", "button",200,"advanced"]

},

  • 上記のスクリプト説明

  • "tangentialDrag":["Tangential Drag","slider",200,"advanced"]

  • tangentialDrag : アトリビュート名

  • Tangential Drag: UIに表示されるアトリビュート各名

  • slider: コントローラータイプ、"button", "curve", "slider"3種類があります。追加する際にはhairSystemと同じアトリビュートタイプを入れてください。

  • 200 : slider: コントローラーの最大値です。"button", "curve"の場合は200以上の数値を入れてもUIに反映されないです。

  • すべてが修正されたらmayaを再起動をします。