>   >  【Houdini 18.5 レビュー】バージョンアップの目玉は、一新されたリグシステム KineFX
【Houdini 18.5 レビュー】バージョンアップの目玉は、一新されたリグシステム KineFX

【Houdini 18.5 レビュー】バージョンアップの目玉は、一新されたリグシステム KineFX

Topic 4:SOPによる異なるスケルトン間でのリターゲット

新機能のKineFXは、従来のオブジェクトレベルのボーンを完全に上書きするために生み出された野心的な機能です。従来はボーン自体が向きと距離をもつボーンベースというシステムを採用しており、設計思想がHoudiniの中核であるプロシージャルではないという問題点を抱えていたため、SideFXは2年前から改革に着手しました。その集大成であるKineFXツールセットは、SOP内のポイントをジョイントに見立てたジョイントベースのシステムを基本設計に採用しており、ジオメトリレベルでボーンの作成・コントロール・アニメーションが可能となったのです。「機能の場所が変わっただけでは?」と感じる方もいるかもしれませんが、この場所こそが重要なのです。Houdiniの自由度は、全データをAttributeとする変幻自在な設計思想が支えています。ジオメトリデータが、ときにポイントクラウド、ときにボリュームとなり、様々な形式を横断します。そのレパートリーにリグが加わったのです。


KineFXの構造と、基本となるRig Pose・Skeleton・Rig Doctor

▲ポリラインにRig Poseを接続するだけでジョイントの回転を実現できます。固有のName Attributeは、Skeleton、Rig Docter、手付けでVEXから付与などの方法で作成します。Skeletonでイチからスケルトンを作成することも可能で、ビューポートでEnterを押すと編集を開始できます。ModeのModifyとCreateを切り替えて、ノード単体でスケルトンを作成することもできます。ポリラインを入力し、スケルトンに変換することも可能です。データはノード内に保持(stash)されるので、上流でデータを変更した場合は更新が必要となります。ジョイントの向きは各ジョイントのパラメータで編集でき、3×3の行列となるTransformに格納されます。Reorient JointsやRig Pose、Skeletonノードでジョイント選択時に「;」を押してオリエンテーションピッキングモードにすることで編集可能です(「Ctrl+LMB」で向きを調整)。親子関係はRig Treeウインドウで確認できます。Skeleton選択時は名前も編集可能です


機能群の中でも特に目玉となるのがリターゲットです。大元となるスケルトン入力データは、FBX、従来のOBJスケルトン、USD、モーションキャプチャデータ(.amc、.bvh、.trc)からの読み込みが用意されています。これらのノードに共通する主な入出力は、【1】キャプチャ情報が付与されたジオメトリ、【2】レストポーズのスケルトン、【3】アニメーションされたスケルトンの3つです。最終的には、これらのデータをBone Deformに流し込みます。まったく同じスケルトン構造の異なるアニメーションであれば、【3】の入力に付け替えるだけで動作します。

一方で、ジョイントの名前や構造自体が異なるスケルトンはデータが壊れてしまいます。そこで、異なるスケルトン内のジョイントに付与されたName Attributeを手がかりに、Match Poseで2つのスケルトンの位置や回転角を近似させ、Map Pointでマッピング(対応表づくり)を行います。マッピング時には、ビューポート上で追従してほしい箇所のジョイントに接続します。マッピングされたスケルトンは、Full Body IKによってターゲットに追従します。Full Body IK内の設定からジョイントのウェイト調整も可能です。Full Body IKで全て処理するのではなく、手首から指先までは別のMap Pointを登録しておき、FK Transferで手先の制御を行うこともできます。アニメーションの完成後は、そのままレンダリングしたり、ROP FBX Character Outputを適用してFBXファイルとしてエクスポートしたりできます。PDGによる自動リターゲットで作業効率を大幅にアップしたり、ゲームエンジンにリアルタイムで情報を転送してもいいかもしれません。


3つのデータ入出力と、リターゲットのマッピング

  • ◀▲【上】データ入出力を3つに分けることで、【左】ジオメトリでポリゴンの削減処理(Poly Reduce)を行なってもリターゲットしたアニメーションが破綻しません。


  • ◀▲同様にウェイト調整後のスケルトンの増減も破綻なく処理されます。マッピングは「アニメーションされたスケルトン」に適用させます。マッピングの対応表はjsonとして出力できるため、スケルトンの命名規則が同じであれば、次回からマッピング作業まで省略可能です。また、マップが共通であればPDGでフォルダ内のアニメーションをまとめてリターゲットできるため、大量のアニメーションを処理する際の強力な武器になります。Attribute名を変更することで、マッピングをFull Body IK用のMap Point、FK Transfer用のMap Pointに分けて格納することもできます。FK Transferは回転・移動・スケールを個別に指定して適用できるので、組み合わせて活用することで、さらに高精度のリターゲットが可能となります


次ページ:
Topic 5:SOPによるアニメーションの読み込みやブレンド

特集