カテゴリー別アーカイブ: CHOP

Houdini18.5 CHOPノード

2020年10月20日、SideFX社よりHoudini18.5がリリースされました。

こちらの記事では、Houdini18.0で「バックポートとして実装されたCHOPノード」をご紹介します。

以下のノードは、Houdini18.5で新たに追加され、バックポートとして、既にHoudini18.0.499に実装されました。

Dynamic Warp

この CHOP は、第二入力のクリップ(リファレンスクリップ)を使用して、第一入力のクリップ(ソースクリップ)をタイムワープさせます。ソースクリップは、その動きがリファレンスクリップの動きに似ているようにワープさせます。これらは、ソースのポイントセットをサンプリングすることによって行われます。

Interpret As Motion Dateパラメータが有効になっている場合、入力は3次元のモーションデータとして扱われ、このCHOPはDynamic Warp SOPと非常によく似た動作をします。

アニメーションのベイク

ここでは、アニメーションをベイクする方法を紹介します。
アニメーションのベイクは、CHOPの機能を使う方法とチャンネルファイル(.chan)を使用する方法の2通りがあります。
まずは、汎用性のある”CHOPの機能を使う方法”を説明します。
CHOPの機能によるアニメーションのベイク
球オブジェクトのトランスフォームのTranslateRotateのパラメータ、そしてその球オブジェクト内のSphere SOPのRadiusパラメータにキーフレームアニメーションが設定していると仮定します。

bakeCHOP01 bakeCHOP02

WindowsメニューからAnimation Editorを選択して、Animation Editorを開きます。次に球オブジェクトを選択します。 これでScoped Parametersに選択したオブジェクトのパラメータが入ります。ベイクしたいパラメータだけをピン留めします。この例ではTranslateRotateのパラメータをピン留めします。これによって、次にSphereノードのパラメータを追加する時にオートスコープが解除されなくなります。
bakeCHOP03次にSphereノードのRadiusパラメータをShift+左クリックすれば、Scoped Parametersにそのパラメータが追加されます。同様に、Radiusパラメータをピン留めします。

bakeCHOP04 bakeCHOP05

タイムライン上で右クリックして、Motion FXコンテキストメニューからCreate Clipを選択します。
bakeCHOP06Create Clip…ダイアログでそのままCreateボタンをクリックします。

bakeCHOP07 bakeCHOP08

motionfx CHOP Networkの中にChannel CHOPが生成されていることを確認します。
このCHOPにスコープしたパラメータが設定されます。 Channel CHOP右クリックして、Edit Data Channelsを選択します。
bakeCHOP10
確認メッセージはそのままYesをクリックします。すると、CHOPで生成されたカーブを編集するためのAnimation Editorが開きます。一番右上にあるアイコンをクリックすると、Fit Panelダイアログが開きます。

bakeCHOP11 bakeCHOP12

Fit PanelダイアログでFrames/Absoluteの設定にし、Start/Endにベイクしたいフレーム範囲を指定します。Tolerance0にします。0以外の値にすると、その許容値に基づいてキーフレームが間引きされてしまいます。Animation Editorのカーブの結果で良ければ、Copy To Export Destinationボタンをクリックします。

bakeCHOP13 bakeCHOP14

これでアニメーションカーブがベイクされます。
bakeCHOP15
チャンネルファイル(.chan)によるアニメーションのベイク
前述の方法では、ベイクするアニメーションの範囲や許容値を指定してキーフレームの間引きを行なうことができるので汎用性があります。
Global Animation Optionsで設定したフレーム範囲でフレーム毎にキーフレームを打つ場合であれば、チャンネルファイル(.chan)をエクスポートして、再度そのファイルをインポートすることでアニメーションをベイクすることもできます。
bakeCHAN
前述と同様にAnimation EditorにベイクしたいパラメータをScoped Parametersに入れます。
そして、右上にあるギアのアイコンをクリックして、Channels/Export Displayed Channels as…を選択します。
bakeCHAN01
チャンネルファイル(.chan)を任意の場所に保存します。
bakeCHAN02再び右上にあるギアのアイコンをクリックして、Channnels/Import into Displayed Parameters…を選択します。
bakeCHAN03
保存したチャンネルファイル(.chan)を指定します。
bakeCHAN04これでアニメーションカーブがベイクされます。
bakeCHAN05ここで使用したチャンネルファイル(.chan)の中身は、テキストファイルになっています。
bakeCHAN06
各行がフレーム番号に相当しています。
列の値は、Scoped Parametersに入っているパラメータ名(ラベル名ではなく)の順番で値が入っています。

Houdini14新機能~アニメーション~

ワークフロー

  • アニメーションエディター(以前はチャンネルエディターと呼びました)ユーザーインターフェースが改良されました。
    • より高品質なカーブ表示。
    • 自動スロープ。
    • チャンネルのスナップショット(変更前のカーブと変更後のカーブの違いを比較することができます)。
    • コンテキストメニューとホットキー。
    • チャンネルカラーオプション。
    • 改良されたScale Handle Tool(Box Handleという名前に変わりました)。
    • 改良されたChannel List UI。ベクトルコンポーネントとノードを展開/折り畳みます。
    • 改良されたパネルツールバー。
    • 3つのデフォルトテーマに対してカラースキームをサポート。
    • Pythonコールバックを使用したカスタムチャンネルカラー。
  • 専用CHOPとシンプルなUIによるアニメーションレイヤーミキサー。
  • CHOPの処理が速くなりました。

パフォーマンス

  • ボーン表示を12倍高速化。
  • FK/FBXを6.5倍高速化。
  • Alembic再生を3倍高速化。
  • モーションキャプチャー再生を7倍高速化。
  • キャラクタ変形を3倍高速化。
  • よりシンプルなトゥーンキャラクタを10-20倍高速化。