[フレックス](Flex)モディファイヤは、オブジェクトの頂点間の仮想スプリングを使って、ソフトボディ ダイナミックをシミュレートします。スプリングの固さ、頂点間の最小距離、ストレッチの方法、または頂点間の最大距離を設定できます。最も単純なシステムでは、動くたびに頂点がオブジェクトの影にずれ込みます。さらに高度なレベルでは、揺れや、スプリング角度の変動量も制御できます。
フレックスを適用した結果、頭の回転につれて舌が揺れる。
フレックスは、NURBS、パッチ、ポリゴン、およびメッシュの各オブジェクト、シェイプ、FFD スペース ワープ、および変形可能な任意のプラグインベース オブジェクト タイプとともに使用します。[フレックス](Flex)を、[重力](Gravity)、[風](Wind)、[モーター](Motor)、[プッシュ](Push)、[パーティクル爆発](PBomb)などのスペース ワープと組み合わせて、現実味のある物理ベースのアニメーションをオブジェクトに追加することもできます。また、ソフトボディ オブジェクトにディフレクタを適用すれば、衝突をシミュレートできます。
[フレックス](Flex)モディファイヤを適用した触角。キャラクタの頭の動きに反応してスプリングのように動き回る。
スペース ワープを[フレックス](Flex)モディファイヤに適用できます。たとえば、[風](Wind)を追加して、植物や木、または揺れる旗をアニメートできます。そのような場合は、効果を確認するためにキーフレームを作成する必要はありません。スペース ワープだけでサーフェスをアニメートできます。
[スキン](Skin)モディファイヤ上で[フレックス](Flex)モディファイヤを使用すれば、ボーンでアニメートされたキャラクタに二次的なモーションを追加できます。また、Physique モディファイヤ上で[フレックス](Flex)モディファイヤを使用すれば、Biped でアニメートされたキャラクタに二次的なモーションを追加できます。
例: 重みにペイントするには:
[フレックス](Flex)モディファイヤが球に適用されます。
球が変換ギズモの周囲で均等に曲がります。
これで、[重み & スプリング](Weights & Springs)サブオブジェクトの設定を変更できるようになります。
頂点の重みが変わるにつれて頂点カラーが変わります。黄色の頂点はより硬く、青い頂点はそれより硬くありません。
球は、片側に傾きます。
重みをペイント領域の[強度](Strength)設定が正の値の場合は、硬さをペイントします。値が負の場合は、柔軟性をペイントします。
効果を反転するには、[強度](Strength)に負の値を設定してペイントします。
例: 風をフォースとして使用するには:
球が風の中で揺れ動きます。[拡張パラメータ](Advanced Parameters)ロールアウト [参照フレーム](Reference Frame)設定によって、リスト内のフォースが効果を発揮するフレームを指定します。
この例を使って、[スプリングの追跡を使用](Chase Springs)オプションの動作も確認できます。
球は、「バウンド」せずに、風が吹く方向に移動し続けます。これは、スプリングの追跡の効果(元のシェイプにオブジェクトを戻そうとする)がなくなったためです。
カスタム スプリングを追加するには:
[フレックス](Flex)の頂点が、ビューポート内のオブジェクトの頂点に表示されます。
たとえば、2 つの頂点の間に 1 つの[シェイプ スプリングを保持](Hold Shape spring)を追加する場合は、2 つの頂点を選択します。
新しいスプリングが表示されます。エッジ スプリングは青で、シェイプ スプリングを保持スプリングは赤です。
例: 揺れるロープを作成するには:
スプラインが揺れるロープのように見えます。
例: 球を覆う布を作成するには:
平面が布のように球状ディフレクタを覆います。
これらのモディファイヤ サブオブジェクト レベルをスタック表示内で使用するには、モディファイヤ階層を開きます(モディファイヤ名の左にあるプラス(+)アイコンをクリックする)。
中心と頂点との距離が広がると、フレックス効果が増加します。
選択した頂点よりも、選択されていない頂点の方がフレックスです。
任意のサブオブジェクト レベルで、重みをペイントできます。また、任意のサブオブジェクト レベル(または[フレックス](Flex)モディファイヤのオブジェクト レベル)で、スプリングを追加および削除できます。ただし、[重み & スプリング](Weights & Springs)選択がアクティブのときは、選択されている頂点だけが影響を受けます。
この値は、使用されるフレックス アニメーションの量を表します。フレックス アニメーションは、モーションや頂点の重み付けなどの要因によって決まります。既定値の 1.0 を設定すると、フレックス アニメーションがそのまま再生されます。1 より大きい値を設定すると、ストレッチ量が不自然に大きくなります。1 より小さい値を設定すると、ストレッチ量が小さくなります。
値が 100.0 の場合は硬くなります。範囲は 0.0 ~ 100.0 で、既定値は 3.0 です。
値が低いとオブジェクトが静止するまでの時間が長くなります。範囲は 0.0 ~ 100.0 で、既定値は 7.0 です。
ソフトボディ シミュレーションを行う場合、つまり、フォースとディフレクタの影響をオブジェクトに与える場合は、通常、[スプリングの追跡を使用](Use Chase Springs)のチェックマークを消します。
ソフトボディ シミュレーションを行う場合、つまり、フォースとディフレクタの影響をオブジェクトに与える場合は、通常、[重みを使用](Use Weights)のチェックマークを消します。
オブジェクト全体のスプリング設定を 3ds Max によって自動的に決定させます。別の方法として、[拡張スプリング](Advanced Springs)ロールアウトの設定を使って、各頂点ペア間のスプリング設定を自分で指定することもできます。
[ストレッチ](Stretch)と[固さ](Stiffness)の違いは、ほとんどありません。また、これらのオプションは、相互に影響しています。さらに、これらの機能は、オブジェクトのトポロジに依存しています。
たとえば、ボックスを作成する場合は、[フレックス](Flex)モディファイヤを追加し、[標準ソフト ボディを作成](Create Simple Soft Body)を適用してから、[ストレッチ](Stretch)の値を大きくし、[固さ](Stiffness)の値を小さくします。重力を適用した状態でボックスをサーフェス(ディフレクタ)に落下させる場合など、フレックス ベースのダイナミック シミュレーション内でボックスを使用した場合は、ボックスが落ちたときに押し潰されることがあります。しかし、そのボックスのトポロジでは、[標準ソフト ボディを作成](Create Simple Soft Body)によって比較的小数のシェイプ スプリングが適用されるため、[ストレッチ](Stretch)値を小さくし、[固さ](Stiffness)値を大きくすると、より適切な結果が生成されます。ただし、代わりに 8 セグメントの球を使用した場合は、既定値の[ストレッチ](Stretch)および[固さ](Stiffness)設定では球が潰れてしまいます。そこで、[固さ](Stiffness)設定を大きくすると、期待どおりの固さになります。
ソフトボディ シミュレーションでは、オブジェクトをサーフェス(特に、高密度メッシュのサーフェス)に落下させる前述の例のように、オブジェクトにバインドされた FFD スペース ワープにメッシュを適用すると適切な結果が生成されます。スペース ワープをオブジェクトのシェイプで適切に使用できない場合は、代わりに[拡張スプリング](Advanced Springs)ロールアウトの設定を使って、手動でスプリングを適用しなければならないことがあります。そのような場合は、隣接する頂点間ではなく、反対側の頂点との間にシェイプ スプリングを作成する必要があります。
布などのアニメーションは、通常は、[ストレッチ](Stretch)設定を大きくし、[固さ](Stiffness)設定を小さくすると、適切に動作します。ソフト ボディの場合、オブジェクトに期待する柔らかさに応じて、通常、[ストレッチ](Stretch)および[固さ](Stiffness)を高く設定します。
[フレックス](Flex)をオブジェクトに初めて適用すると、モディファイヤの中心からの距離に基づいて、各頂点の重みが自動的に設定されます。頂点の重みを大きくするほど、フレックス効果による影響が低下します。フレックスモディファイヤは、中心に最も近い頂点に重みの最大値を適用し、中心から最も遠い頂点に重みの最小値を適用します。たとえば、基点が基底にある円柱では、最上部でフレックス量が最大になります。しかし、球の場合は、すべての頂点が基点(中心)から等距離にあるため、既定値では、頂点の重み値はすべて等しくなります。
[重みをペイント](Paint Weights)のコントロールを使用すると、調整可能な半径とフォールオフで球状ブラシを使用し、ビューポート内で頂点の重みを変更して、遅れの量を制御できます。[頂点の重み](Vertex Weights)コントロールを使用すると、単一頂点または頂点グループに対して、絶対値または相対値の重みを適用できます。
重みをペイントすると、現在の値に対する頂点の相対重量が変わります。絶対重量には適用されません。メッシュの領域上のストロークを長くすると、ストロークが短い場合よりも、頂点の重みが変動量が増加します。最大値または最小値にまだ達していない場合は、同一領域上でストロークを繰り返すたびに、重み値が増分します。
頂点のカラーは、[フレックス](Flex)サブオブジェクト レベルで表示され、重みの近似値を表します。頂点のカラーは、[カスタマイズ](Customize)メニュー [ユーザ インタフェースをカスタマイズ](Customize User Interface) [カラー](Colors)タブ [要素](Elements): [ジオメトリ](Geometry)の設定によって決まります。このリストには 3 つのカラーが表示されます。[サブ選択 ハード](Subselection Hard)は、最大の重み値を持つ頂点を表示するときに使います。[サブ選択 中間](Subselection Medium)は、中間の重み値を持つ頂点を表示するときに使います。[サブ選択 ソフト](Subselection Soft)は、最小の重み値を持つ頂点を表示するときに使います。
負の値は、重みを取り除きます。
ブラシの中心にある頂点の変化量は、常に、[強度](Strength)設定の最大値です。ただし、[ブラシの堅さ](Feather)設定を高くするほど、エッジに近くなるにつれて頂点の変化量が減ります。最小設定では、半径内部のすべての頂点が均等に変化します。
頂点の重みを手動で設定します。[重み & スプリング](Weights & Springs)サブオブジェクト レベルで、ビューポート内で頂点を選択し、[頂点の重み](Vertex Weight)パラメータの値を変更します。または、[絶対重量](Absolute Weight)にチェックマークを付け、[頂点の重み](Vertex Weight)を適切に設定し、設定する頂点を選択すると、変更はただちに有効になります。
[絶対重量](Absolute Weight)パラメータの状態に応じて、重み割り当ては絶対または相対になります。
これらのコントロールは、[フォース](Forces)カテゴリのスペース ワープを[フレックス](Flex)モディファイヤに追加するときに使用します。サポートされているスペース ワープは次のとおりです。
[フレックス](Flex)でディフレクタを使用すると、オブジェクトの動きがサーフェスによって妨げられます。これにより、ソフトボディ オブジェクトとの衝突をシミュレートできます。衝突を適切にシミュレートするには、ディフレクタ設定の[バウンド係数](Bounce)に小さい値を、[摩擦](Friction)に大きい値を指定します。
サポートされているディフレクタは次のとおりです。
効果の中心を移動した後、[参照を設定](Set Reference)をクリックしてビューポートを更新します。
これらの設定は、[標準ソフト ボディ](Simple Soft Body)機能より精密なスプリング設定を行う場合に使用します。[フレックス](Flex)では、2 つのタイプのスプリングが使用されます。エッジ スプリングでは、既存のエッジに沿ったスプリングだけが作成されます。シェイプ スプリングでは、エッジで接続されていないオブジェクト内の 2 つの頂点間に生成されます。通常は、エッジ スプリングは既存のエッジに沿って追加し、シェイプ スプリングはエッジを共有しない頂点間に追加してください。
このロールアウト内の[伸縮](Stretch)および[揺れ](Sway)設定の 4 つの数値は、[拡張スプリングを使用可能にする](Enable Advanced Springs)にチェックマークが付いているときにだけ使用できます。
MAXScript を使えば、スプリング カラーを変更できます。