On this page

ジオメトリシェイプ間をモーフする

Deform シェルフのMorphツールは、オブジェクトレベルでジオメトリを編集することができ、ジオメトリレベルに自動的に必要なEditとBlend Shapesのノードが作成されます。

To...Do this

シェイプ間をブレンドする

  1. サーフェスの“標準の”形をモデリングします。そしてEditオペレータと他のサーフェスオペレーション(Latticeデフォーマなど)を使って、サーフェスを変形します。

    標準で変形したバージョンを別サーフェスとしてモデリングする必要はありません。 Houdiniのプロシージャルの特徴のおかげで、コンストラクションヒストリーでポイントが異なるサーフェス間を単純にブレンドすることができます。

    どんな数(2つだけではない)のシェイプ間にもブレンドすることができます。

  2. ジオメトリレベルで、TabメニューからBlend Shapesノードを作成します。

  3. ブレンドしたい色々なシェイプをBlend Shapesノードの入力に接続します。

  4. Weight パラメータを使ってシェイプのブレンドの度合いを制御します。簡単に2つの入力間をブレンドする方法は以下を参照してください。

オブジェクトレベルでMorphツールを使ってブレンドシェイプを設定する

  1. モーフしたいポイントを選択し、 Deform シェルフタブのMorphツールをクリックします。

  2. Morphツールは、基本的にジオメトリレベル(SOP)のEditオペレータのように機能します。transformハンドルを使って、ビューポートで選択したポイントを編集します。

  3. Morphツールは、編集しているジオメトリに自動的にEditノードBlend Shapesノードをジオメトリレベル(SOP)で作成します。

    Weight パラメータを使ってシェイプのブレンドの度合いを制御します。簡単に2つの入力間をブレンドする方法は以下を参照してください。

2つの入力間を簡単にブレンドする

  • Blend Shapesノードには、各入力に別々の Weight スライダがあり、それを任意にミックスすることができます。2つのシェイプ間だと、おそらく1つのスライダで2つの入力間をブレンドするコントロールのほうがよいのではないでしょうか。それをするには、2番目のスライダを1番目のスライダにリンクします。そうすると、1つのライダーを上から下に動かせば、他のスライダは下から上に動きます。

    1番目のスライダの値でクリックして、 Copy Parameter を選択します。2番目のスライダの値でクリックして、 Paste Relative Reference を選択します。Houdiniは1番目のスライダへのパラメータ参照エクスプレッションを挿入します。最後に、2番目のスライダが1番目のスライダの値を反転させるために、そのエクスプレッションの頭に1-を付け加えます。

ボーンアングルを使って変形を制御する

  1. 標準または停止(Rest)のジオメトリと変形ジオメトリ間をブレンドする度合いをキャラクタの2つのボーン間のアングルを使って制御することができます。これは、キャラクタが腕を動かすと筋肉のふくらみを作るようなことができます。

    Blend Shapesノードをセットアップして、上記のように Weight パラメータをリンクします。

  2. Blend Shapesノードで、最初の Weight パラメータのテキストフィールドをクリックして編集します。

  3. boneangleエクスプレッション関数を使えば、2つのボーン間の角度を取得することができます。

    boneangle関数の出力結果は単位が度の角度です(例90または120)。Blend Shapesの Weight パラメータは、0から1までの値です。smoothエクスプレッション関数を使うと、最小最大のボーン角度を0と1にマッピングします。

    最後に、Blend Shapesノードの接続によっては、smooth関数の頭に1-を付けて値を反転する必要がある場合があります。変形が反対方向の場合には、これをします。例えば、筋肉を曲げるのではなく、広げるときです。

ワイヤーデフォーム

キャラクタは顔が特に変形し、変形するサーフェスのアイソパラムに合わせて動かさなければなりません。ワイヤーデフォーマはアイソパラムに沿ってサーフェスをキャプチャーして変形します。それからカーブのU方向に沿って変形し、カーブの形状をアニメーションさせることでより複雑な変形をすることができます。

カーブを使って変形をする方法

  1. 変形したいサーフェスのあるジオメトリレベルに移動します。

  2. カーブを作成します。変形したいサーフェスにカーブをスナップすることができます。

  3. パラメータエディタで、カーブの Primitive type をNURBSに変更します。

  4. ビューアで、TabメニューからGroupオペレータを選択します。

  5. カーブを選択し、クリックで選択を終了します。

  6. パラメータエディタで、 Group Name をデフォーマで意味がわかる名前に変更します。ネットワークエディタでもグループノードの名前を意味がわかる名前に変更します。

  7. ネットワークエディタで、タブメニューからWire Captureオペレータを選択します。

  8. 変形したいジオメトリをWire Captureノードの1番目の入力に接続します。カーブのグループノードをWire Captureノードの2番目の入力に接続します。

    複数のワイヤーデフォーマを同じジオメトリの部分に配置したい場合は、Mergeノードを作成し、カーブグループノードをMergeノードの入力に接続して、MergeノードをWire Captureノードの2番目の入力に接続します。

  9. パラメータエディタで、 Capture タブをクリックして、 Initialize From groups をクリックします。ここには、2番目の入力に接続したグループ(または複数グループ)を使います。

  10. カーブの U radiusV radius パラメータを設定します。これらのオプションはカーブがジオメトリに影響を与える距離の範囲を制御します。

  11. ネットワークエディタでは、Wire Captureノードの出力をクリックして、Wire Deformオペレータを選択します。

  12. グループ(またはMerge)ノードの出力をWire Deformノードの2番目と3番目の入力の両方に接続します。

  13. Wire Deformノードのディスプレイフラグをオンにします。パラメータエディタで、 Deform タブから Initialize from Rest Groups をクリックします。

  14. U deform パラメータを使って、カーブがジオメトリをどのくらい変形するのか制御します。

  15. デフォーマをアニメーションするためには、 U Deform パラメータをキーフレームして、デフォーマの形状をアニメーションします。

U DeformパラメータやBlendパラメータ用にHUDスライダを作成することもできます。

実際のフェースリグには、顔の表現を制御する筋肉のワイヤーデフォーマをたくさん必要とします。カーブに沿って変形をコントロールしたり、なにかとブレンドしたりするいろいろなパラメータをアニメータが高いレベルでアクセス可能なキャラクタのデジタルアセットインターフェースにプロモートすることができます。

ワイヤーデフォーマに沿ってキャプチャー半径を変える方法

  1. ネットワークエディタで、Wire Captureノードを選択します。

  2. パラメータエディタで、 U Radius and lookup パラメータの右側のテキストボックスをAltクリックして、キーフレームを設定します。このパラメータのチャンネルは、カーブの長さに沿って半径をスケールします。

  3. テキストフィールド上でクリックして、 Add to Channel List を選択します。

  4. アニメーションエディタで、既存キーフレームの右側のどこかでAltクリックすると2番目のキーが追加されます。そしてチャンネルの中心で再度Altクリックします。

  5. キーを上下にドラッグすると、カーブの長さに沿ってWire Deformerの半径を変更することができます。

    パースペクティブビューで、眉のカーブに沿って半径がチャンネルの形状に合うように調整されていることがわかります。

チャンネルではカーブに沿ってU半径を制御するルックアップテーブルを定義しています。チャンネルの最初と最後のキーの値は、ワイヤーの最初と最後を制御して、内側にあるキーは時間の位置に比例してカーブ沿いにキーが調整されます。

オブジェクトレベルのキャラクタ

リグ

ペイン

アニメーション