On this page |
概要 ¶
Vellum Balloonは、2つのタイプの拘束で構成されています。 伸縮可能なCloth Constraintは外側表面に対して構築されます。布が型崩れしないようにPressure Constraintが追加されています。 このPressure Constraintは、布を均一に外側に押し出して全体の体積を維持するので、圧搾した領域ほど強く膨らみます。
Vellum Constraints SOPの Constraint Type パラメータで設定する Pressure 拘束は、元の体積を記録し、その体積を維持できるように多ポイント拘束を構築します。
pressurescale
Pointアトリビュートを使用することで、ポイント単位でPressure拘束の効果をスケールさせることができます。
このアトリビュートを使用すれば面白い膨張効果を表現することができますが、例えばピン留めされていない風船のpressurescale
が片側だけほぼゼロになっていた場合だと不均衡なフォースを発生してしまうので注意して使用してください。
Animated Pressureのサンプル ¶
Vellum Solver SOPの Animated Pressure サンプルでは、ゴムのおもちゃを尻尾から頭に向かって膨らませる方法について説明しています。
上記の Load ボタンを押してそのデジタルアセットを読み込みます。
このサンプルでは、pressurescale
Pointアトリビュートを使用してアニメーションする膨張効果を作成する方法について説明しています。
Vellum Pressure拘束は、このpressurescale
Pointアトリビュートを読み込んで個々のポイントがPressure拘束から受ける影響力をスケールさせることができます。
このpressurescale
を0から1までアニメーションさせることで、時間の経過と共にオブジェクトを膨らませることができます。
Pressure拘束のrestlength
はオブジェクト全体の体積を表現しているので、このrestlength
もアニメーションさせる必要があります。
オブジェクトのごく一部だけがフル体積になるまで膨らませようとすると、非常に非現実的な反応が得られます。
このセットアップでは、オブジェクトの境界ボックスを動かした時に時間の経過と共にpressurescale
アトリビュートをアニメーションさせて、膨らませるオブジェクトの部分のみの体積を計算する方法を説明しています。
Vellum Solverの内部では、アニメーションソースからpressurescale
値をコピーし、さらにPressure拘束のrestlength
(つまり体積)を設定しています。
Vellum Solverの中に入ると、そのソルバ内でそれらのアトリビュートがどのように適用されているのかを確認することができます。