地面に対して球を収縮する
既定では、変形するオブジェクトの中心に、スカッシュ ノンリニア デフォーマのハンドルが配置されます。たとえば、球を作成し、その球にスカッシュ デフォーマを作成すると、球の中心にスカッシュ デフォーマ ハンドルが配置されます。デフォメーション エフェクトは、球の中心に生じます。地面に向けて球を収縮する場合、球と地面の接触点にデフォメーション エフェクトが起こるようにスカッシュ デフォーマのアトリビュートを調整したり、スカッシュ デフォーマ ハンドルを移動することができます。一般的には、デフォメーション エフェクトが球の内側外側を問わずどの位置にでも生じるようにこうした調整を行います。
球とデフォーマをセットアップするには
- NURBS 球プリミティブを作成します。
- 3 キーを押して、表示解像度を上げます。
- 球を移動してパース ビューのグリッド上に置きます。
- 球にスカッシュ デフォーマを作成します。
デフォーマを編集するには
- squash1 のアトリビュートを次のように設定し、スカッシュ デフォーマを編集します。
下限範囲(Low Bound): 0
上限範囲(High Bound): 0.75
- 下の境界が球と地面の接触箇所になるように、デフォーマ ハンドルを動かします。
地面に対して球を収縮するには
- チャネル ボックス(Channel Box)で係数(Factor)を変更します。
収縮のデフォメーション エフェクトが、球の底、すなわち球と地面の接触箇所に生じます。
バウンドするボールのセットアップ
スカッシュ デフォーマを使用すると、収縮/伸長のエフェクトを生成することができます。この例では、バウンドするボールのアニメーションを作成するために、ボールを設定する方法について説明します。
収縮を制御する NURBS 球を作成するには
- 前の例で説明した手順を実行します。
- squash1 の係数(Factor)アトリビュートを0に戻します。
伸長を制御するデフォーマを作成するには
- 伸長を制御するスカッシュ デフォーマを球に別途作成します。既定の作成オプションを使用します。
squash1 デフォーマにより、ボールが地面に着いたときに起こる収縮のエフェクトが生成されます。また、新しく作成したデフォーマ(squash2)により、ボールが空中にあるときに起こる伸長のエフェクトが生成されます。
ボールを定義するには
- 球(nurbsSphere1)とデフォーマ ハンドル(squash1Handle と squash2Handle)をグループ化します。
- グループ名を ball に変更します。
- チャネル コントロール(Channel Control)エディタを開き(ウィンドウ > 一般エディタ > チャネル コントロール(Window > General Editors > Channel Control)を選択)、次のアトリビュートをキー設定不可(Non Keyable)のアトリビュートにします。
- スケール X (scale X)、スケール Y (scale Y)、スケール Z (scale Z)
-
可視性(visibility)
この結果、チャネル ボックス(Channel Box)には、ボールに対して次のキー設定可の アトリビュートのみがリストされます。移動 X (Translate X)、移動 Y (Translate Y)、移動 Z (Translate Z)、回転 X (Rotate X)、回転 Y (Rotate Y)、回転 Z (Rotate Z)
- チャネル コントロール(Channel Control)エディタを閉じます。
次に、収縮と伸長のエフェクトに使用する 2 つのアトリビュートをボールに追加します。
- ボールを選択して修正 > アトリビュートの追加(Modify > Add Attribute)を選択します。
- flyStretch というキー設定可のアトリビュートを追加して、最小/最大(Min/Max)値(Values)を、最小(Minimum) = 0、最大(Maximum) = 10、既定値 (Default) = 0 に、設定します。
- landSquash というキー設定可のアトリビュートを追加して、最小/最大値を最小 0、最大 10、既定値 0 に設定します。
- アトリビュートの追加(Add Attribute)ウィンドウを閉じます。
伸長を制御するドライバとドリブン キーを設定するには
- ドリブン キーの設定(Set Driven Key)ウィンドウ(キー > ドリブン キーの設定 > 設定(Key > Set Driven Key > Set > )を開きます。
- ball をドライバとしてロードし、flyStretch アトリビュートを選択して、0 に設定します。
- squash2 をドリブン キーとしてロードし、係数(Factor)アトリビュートを選択して、0 に設定します。
- キー(Key)をクリックします。
- ball の flyStretch アトリビュートを 10 に設定します。
- squash2 の係数(factor)アトリビュートを 0.6 に設定します。
- キー(Key)をクリックします。
収縮を制御するドライバとドリブン キーを設定するには
- ドリブン キーの設定(Set Driven Key)ウィンドウを開きます(まだ開いていない場合)。
- ball をドライバとしてロードし、landSquash アトリビュートを選択して、0 に設定します。
- squash1 をドリブン キーとしてロードし、係数(factor)アトリビュートを選択して、0 に設定します。
- キー(Key)をクリックします。
- ball のlandSquash アトリビュートを 10 に設定します。
- squash1 の係数(factor)アトリビュートを -2 に設定します。
- キー(Key)をクリックします。
- 閉じる(Close)ボタンをクリックしてウィンドウを閉じます。
これで、収縮/伸長エフェクトを使用してボールがバウンドするアニメーションの準備ができました。
ボールをアニメートする
アニメーション用にボールをセットアップしたら、ボールがバウンドするアニメーションを作成してみます。ボールが空中にあるときの伸長のエフェクトとボールが地面に当たったときの収縮のエフェクトを使用します。たとえば、作成したアニメーションは次のイメージのようになります。
これらのイメージは、バウンドするボールの一例にすぎません。ボールがバウンドするアニメーションを作り上げていくうち、ボールの動きにどれだけの性質を与えることができるか試してみてください。