ダイナミクス

Hairには、完全なダイナミクスシステムが備わっています(この機能は、以下ダイナミクスという名称で記述されています)。次に説明する2つのタブは、これらのダイナミクスをコントロールするために使用されます。

では、ダイナミクスとは何でしょうか。そして何に役立つのでしょうか?

ダイナミクスは主として、以下に挙げる2つのタスクを持っています:

重力やその他の力、そしてヘアが生えるサーフェイスの動きに基づいた、リアルなヘアの動きを演出します。そしてキャラクターアニメーションに関しては:例えばあなたのキャラクターが少々フィットネス(ジョギング)を行いたい状況であるとしましょう。そこでそのようにアニメートすることにします。当然のことながらキャラクターの動作に従ってヘアが動かなければなりません。ここで行うべき操作は、いくつかの設定を調整するだけです。残りの設定は自動的に行われます。

ヘアスタイルを作成するために、ダイナミクスを使用することが可能です:ガイドが追加されると、通常それらは(そして、つまりヘアは)、ヘアが植え付けられているサーフェイスに対して垂直に投影します。言うまでもなく、これではとてもリアルに見えません。そこで、ダイナミクスを適用させてください。すると、ヘアが配置されるべきである頭部の上に、ヘアが落ちる状態になります。また頭頂部も、衝突サーフェイスとして機能させることが可能です。これはヘアまたはガイドがサーフェイスに貫通する状態を防ぎます。そしてこの状態は修正することが可能です。またこれを「その後のスタイリングのステップ」の開始ポイントとして使用することができます。

左から順に:静止状態;フレーム10;フレーム40

スプラインダイナミクスタグにある、スプラインのダイナミクスシステムもご参照ください。

ダイナミクスはどのようにヘアに対して影響を与えるのでしょうか?

例えば、ヘアを含むガイドをすでに作成した状態であるとしましょう:そしてタイムマネージャのツールパレットにある再生をクリックしてください。するとガイドが、適用された重力の影響下に入ります。簡単です!

ヘアツールが全てオフの状態であることを確認してください! もしもヘアツールがオンの場合は、エディタビューにおいてダイナミクスがアニメートされません。また、メインメニューにおいてナビゲーション/フレームレート/全てのフレームがオンになっていることも合わせて確認してください。そうすると、例えば10フレームごと、20フレームごとだけの表示ではなく、それぞれ個々のフレームが表示されるようになります。

静止 / 初期状態

ダイナミクスシステムを使用する際には、「どれから開始するのか」ということが定義されている状態、いわゆる静止状態が常に必要となります。これはまた、ヘアツールが選択されると呼び出される状態でもあります。例えばダイナミクスを用いてガイドを落ちるような状態にしたい場合に、その状態を後で編集できるようにするにはどうすればよいのでしょうか? そういった場合に使用するのが初期状態を設定です。この機能は、現在の状態を静止状態としてセットします。そうすればその後、これにブラシをかけたりカットするなど、お望みの通りに手を加えることができます。ダイナミクスの効果は常に、静止状態から起こります。

ダイナミクスに関するその他の情報

ダイナミクスは主として、各ガイド(その間でヘアが単に補間されているだけのガイド)に影響を与えます。ダイナミクスはそれぞれのヘアに対して個別に影響を与えることが可能ですが、通常のヘアの量(50,000-100,000本)を考慮すると、その場合にはレンダリング時間が非常に長くなる可能性があります。

選択するガイドのセグメント数またはヘアの数が多いほど、ダイナミクスの計算がより正確になります。特に衝突判定においてより正確になります(いつものことですが、それに従ってレンダリング時間が長くなります)。

各ガイドに付属したスプリングの配列をご想像ください(全てのスプリングは押す機能と引く機能を同時に持っています)。この状態は、力が適用されたときにガイドが単に衝突しないようになっています。上図にあるガイドは、3つのセグメントから成り立っています。またこのスプリングの配列は、もっと多くのセグメントを持つガイドの場合でも同じように機能を発揮します。

ダイナミクススプリングの配列について、単純化した説明図。

以下に挙げるスプリングは描かれていません:

定位置で根元のセグメントを握るスプリング(このスプリングは最初のガイドのねじれに付属していて、もしもこれを動かすと、根元のセグメントをその静止状態に引っ張り戻します。このスプリングは根元を維持設定を用いて調整することが可能です)。

それぞれの質量ポイントの間のスプリング(これらは変更させることができません)。ガイドの質量は、質量ポイントに集中されています。そしてこの効果はスプリングの異なる動きで表れます。

ヘアダイナミクスによって、Cinema 4Dパーティクルモディファイアが使用されます(反射消滅を除く)。これによって風やタービュランスなどの効果の作成が可能となります。

設定

デフォルトでは、以下に挙げる設定はガイドだけに影響を与えます。ただし、もしもダイナミクスタブの詳細メニューにあるヘアオプションを選択すると、以下に挙げる各設定はそれぞれ個々のヘアに影響を与えます(このことは、計算時間とレンダリング時間が劇的に増加する結果にもなります)。ですから、以下の説明においてはガイドについてのみ言及していきますが、それらは個々のヘアに適用することも可能である、ということを心に留めておいてください。

使用する

使用するヘアオブジェクトに対して、ダイナミクスのオン/オフを切り替えるには、この設定を使用してください。

衝突判定

ガイドとその他のオブジェクトとの衝突をチェックする場合は、この設定をオンにしてください。そして単に衝突タグを、衝突オブジェクトに割り当ててください。

衝突オブジェクトとして用いた完全な球体(ポリゴン化せずにレンダリングオプションをオン)は、特別な加速モードで計算されます。例えば、不可視状態である完全な球体を、キャラクターの頭と肩の所に置くことができます。なぜならそれらのエリアにヘアが貫通するのを防ぐためです。その場合は、「ガイド/ヘアと、そして頭と肩の間において直接、衝突判定を定義する場合」に比べると、内部的に、最初に若干多めのセットアップ作業が必要になるでしょう。ただしその結果としてレンダリング時間が減少するので、最終的にはその作業を行う価値を見出すことができるでしょう。

剛体

ヘアスタイリング作業が終わったら、この設定をオンにしてください。するとヘアが堅くて曲がらない状態になり、その形状の保持を試みるようになります。そしてデフォルトの設定と同様、ガイドがただ落ちる状態にはなりません。「それらが位置しているオブジェクト」に従って、リアルに動くようになります。

特性

衝突半径[0.00..+∞]

表面半径設定は、ガイドの周りの半径を定義します。その範囲内において衝突の効果が影響します。

長いアニメーションにおいては、この値を増加させなければならない場合があります。なぜなら、サーフェイスを貫通する状況を防ぐためです。

根元を固定

もしも、根元が固定されていないヘア(基部に緑色の円が見えるヘア)を持っている場合には、そのヘアの根元がダイナミクスによって影響を受ける場合があります。その状況を回避するためには、根元を固定設定をオンにしてください。

質量[0.10..+∞]

絶対質量は、ダイナミクスの動作に対して、顕著な効果を持ちません。モディファイアメニューにある質量関数グラフ、そしてマップメニューにある質量マップの方が、もっと重要です。これらの設定を使用することによって、「ガイドまたはヘアの長さに沿って、質量を配置および変更すること」が可能になります。その結果、ランダムな振動になります。

質量の値0を持つガイドポイント(ヘア頂点マップまたは質量モディファイアを使用する場合に限りこれは可能)は、ダイナミクスによって一切影響を受けません。

抗力[0..100%]

ガイドの動きからエネルギーを奪い取るには、この抗力を使用してください。この効果は、まるでヘアが、液体あるいは高い粘性を持つ物質の中で動くようになります。また抗力は、まれに起こる「ヘアの不要なひきつり」を抑制するために使用することも可能です。

根元を維持[0..100%]

しっかり固定された根元のセグメントの剛性を調整するには、この設定を使用してください。入力する値が高いほど、「頭皮に直接横たわらない、よりボリュームのあるヘア」になります。

固さ[0..100%]

剛性の効果。

スプリングがガイドにどの程度影響するかを定義するには、この設定を使用してください。入力する値が低いほど、重力(あるいはその他の力)に対する抵抗が低めになります。値が高いほど、より抵抗が大きくなりますので、これはガイドを「静止状態」に近い状態で保持する助けとなります。もしも「静止状態」に似た状態を作成したい場合には、リジッドボディ設定を必ずオンにしてください。すると、「ガイドの動きをその静止状態から大きく逸脱させないようにする、スプリング」が追加されます。

ガイド/ヘアが、より多くセグメントを持っているほど、ガイド/ヘア全体のスプリングの配列がよりソフトになります(スプリングがより多く存在するほど、全体的なセットアップがよりソフトになります)。

静止状態を混合[0..100%]

「静止状態」と「現在のガイドの位置」を混合させるには、この設定を使用してください。内部的には、ダイナミクスは変更しません:もしも静止状態を混合を0%に戻すと、ダイナミクスが以前のように実行されることに気付くでしょう。

ところで、この設定は何において役立つのでしょうか? では例えば、ヘアにダイナミクスを適用したとします。いくつかのポイントにおいて、ヘアはその静止状態に近づきます(ただし現実の世界では、100%静止状態になるとは限りません)。静止状態を混合(100%)をアニメートすることによって、ヘアがその正確な静止状態になります。そしてヘアは位置に固結され、ダイナミクスによって一切影響を受けることがなくなります。ダイナミクスは(内部的に)引き続き走ります。静止状態を混合の値を減少させることによって、後ほど、継ぎ目なく実際の動的な状態に戻ることが可能です。

静止状態を保つ[0..100%]

それぞれのガイドの質量ポイントの所(ガイドのねじれがある位置)の一端と、ガイドの質量ポイントの静止位置の所のもう一方の端に、小さなスプリングが付属している様子を想像してみてください。静止状態を保つは、スプリングの強度を定義します:0%の場合は一切効果がありません。100%の場合は各ポイントが静止位置を保持します。

この効果は、「庭のホースの長さに沿って、それにいくらかのスプリングを巻いていった場合」と似ています。

弾性限度[0..+∞%]

変形[0..100%]

ガイドがスイングするときには、いくらかの長さにガイドが伸びます。もしもその伸びを維持する場合には、一定の伸びが達成できるまで変形弾性限度の値を増加させてください。

アニメーション

自動時間

開始

終了

もしもこの設定がオンの場合は、ファイルの長さ全体に渡ってダイナミクスが計算されます(メインメニュー:編集/プロジェクト設定)。もしもダイナミクスの効果を手作業で制限したい場合には、自動時間をオフにして、その右側にある開始終了設定を使用してください。

リラックス

フレーム[1..2147483647]

アニメーション全体を再生せずに(つまり、再生をクリックしないで)、ダイナミクスの効果を確認したい場合には、リラックスボタンをクリックしてください。するとダイナミクスの効果が、右側にあるフレーム設定(デフォルト=10)で定義されたフレームの長さに渡って再生されます。その後のシーケンスについては、リラックスボタンを押すと、次の10フレームが再生されます。

マップ

ヘア頂点タグを、このマップメニューフィールドに入れることが可能です。そしてブラシツールを使用して、それに対応する効果をヘア頂点マップ(ヘアの頂点のレイヤー)に適用させることができます。

抗力

固さ

静止状態を保つ

質量

フォース

フィールドは、「ヘア自体の重力」や「タブで定義することが可能であるその他の力」、そしてCinema 4Dパーティクルモディファイアも含む、全ての力に対して使用することが可能です。例えば、"風”モディファイアを用いて「風になびくヘア」を作成することができますし、個々のヘアに対する効果もコントロールすることができます。

下図において、頭部の右半分にあるガイドには最大の強度が割り当てられています(赤色)。リジッドボディがオンの状態で、剛性は100%にセットされています。剛性フィールドにあるヘア頂点タグは、最も少量の剛性を持つヘア(青色)が落ちる状況が起きることを確実にします。そして剛性の最大値(赤色)を持つヘアは、完全にストレートの状態を保ちます。

頂点レベルにおいて、ヘアの剛性をコントロールするために、ヘア頂点タグが使用されています。

その他のマップフィールドも同様の働きをします。

質量マップにおいて0の質量を持つポイントは、ダイナミクスによって影響を受けません!

モディファイア

抗力

固さ

静止状態を保つ

質量

フォース

ヘアの長さに沿って、使用する設定(特性メニューにあるものと同じ設定)を調整するには、これらのグラフを使用してください。特性メニューにある設定に割り当てられている値は、グラフにおいて使用可能な「最大値」を意味します。

モディファイアは、適用される全ての力(重力、Cinema 4Dパーティクルモディファイアなど)を意味します。

静止状態を保つの値が100%の場合の結果は、下図のようになります(もしも静止状態において全てのガイドが垂直に位置している場合):

このガイドの形状は、図中右下(挿入図)にあるモディファイアの結果です。

前図のグラフにおいて(挿入図)、各ガイドがその長さの2/3に渡って静止状態を保つの最大値を持っています。各ガイドの残りの1/3のほとんどは、静止状態を保つの値が0です。ですからこれは、「重力によって起こりうる最大の強さ」で影響を受けています。

その他のモディファイアも同様の働きをします。

詳細

ダイナミクス

詳細メニューの設定を用いることによって、「ダイナミクスをガイドだけに、あるいは1本1本のヘアに(!)影響を与えるようにするかどうか」、そして「影響を与えるならば、その程度はどのくらいにするのか」ということを定義することができます。ほとんどのケースにおいて、ガイドオプションを使用することができます。そしてもしも最高度の正確性が要求される場合に限って、ヘアオプションを選択してください。それは例えば、もしも個々のヘアを、衝突判定に関して調整しなければならない場合などです。ヘアの本数はガイドの数を大幅に上回りますから、計算とレンダリング時間もそれに応じて増大します。

ただしこのような場合には、ヘアオプションの選択が必須であるかもしれません。

左下:ガイドモード。右下:ヘアモード。

例えば上図のように、ガイドのセットアップにダイナミクスの効果を与えたとしましょう(この半球にはヘア衝突タグが割り当てられています)。もしもガイドオプションを選択すると、ガイドの間で補間されたヘアは、半球のサーフェイスを貫通してしまいます。そこでもしもヘアオプションを選択すると、それぞれのヘアが衝突に関してチェックされます。

カスタム

セグメント[1..1024]

ダイナミクスの計算のためだけに(レンダリングの目的ではなく)、ガイドまたはヘアの「セグメントの異なる数」が必要な場合は、これらの設定を使用してください。

より多くセグメントがあると、レンダリングの時間がより長くなり、そしてヘアの全体的な動きがよりソフトになることを、どうぞお忘れなく。さらに、質量ポイントが各セグメントに付属していますから、これはヘアの質量全体を増加させることになり、結果として「うなだれ気味の」ヘアとなります。

ステップ[1..10000]

これはサブフレームの数です。アニメーションの各フレームがこの数に分割され、そしてダイナミクスの計算に使用されます。結果として、計算がより正確になります。これは、衝突判定を用いて高速な動きを計算する場合に、特に便利です。

繰り返し[0..10000]

スプリングの張りに対してさらに影響を与えるために、この設定を使用することができます。一般的に、この値が高いほど、ガイドがより堅くなります。経験則として、セグメントの数と同じ値を使用してください(非常に大きな値の場合は、いくつかのポイントにおいて追加的な効果を一切持ちません。そしてこれは単にレンダリング時間をより遅くするだけとなります)。

一般的に、詳細メニューにある各種設定は、変更させる必要はないでしょう。