On this page |
SOPアニメーションのスケルトンとキャラクタのリターゲットが完了したら、それらのデータをKineFXやSOPs以外の場所で使用したり、 別のアーティストに手渡したり、Houdiniの別のコンテキストに取り込んだり、他のDCCで使用するためにエクスポートしたりする必要が出てきます。
この工程を補助するために、SOPキャラクタ、アニメーションスケルトン、モーションクリップをまとめたり、エクスポートしたり、インポートするための方法がいくつか用意されています。
SOPキャラクタをパック化またはディスクに保存する ¶
-
ネットワーク内の他の場所、別のネットワーク内、別の Geometry ノード内でSOPキャラクタを使用したい場合、 Character Pack SOPノードを使用することで、SOPキャラクタを パックジオメトリプリミティブ としてまとめることができます。
Character Pack SOP から出力されたパックプリミティブを直接使用することもできるし、以下に載せているノードを使用して Character Pack SOP のデータを保存することができます。
-
Stash SOPノードを使用することで、 Character Pack SOP から単一ポーズとそのジオメトリをスタッシュ(貯蔵)することができます。
-
Object Merge SOPノードを使用することで、 Character Pack SOP からすべてのポーズとジオメトリをまとめることができます。
-
-
SOPキャラクタのデータストリームを1本化したいのであれば、 Character I/O SOPノードを使用してディスクに保存することで、ディスクのシーケンスファイルを使用するのか、ライブストリームを使用するのかオプションで選べるようにすることができます。
-
SOPキャラクタをディスクに直接保存したいのであれば、従来の File SOPノードを使用します。
SOPキャラクタデータを群衆に取り込む ¶
以下の方法によって、エージェント用途でSOPキャラクタとアニメーションクリップを群衆に取り込むことができます:
-
Agent from Rig SOPノードを使用して、SOPアニメーションスケルトンから1体のエージェントプリミティブを作成します。
-
Agent Layer SOPノードを使用して、SOP Restジオメトリを一括で取り込んで、各キャプチャ(スキン)からエージェントシェイプを作成します。
-
Agent Pose from Rig SOPノードを使用して、SOPアニメーションスケルトンのポーズをエージェント上にコピーします。
-
Agent Clip SOPノードを使用して、SOPモーションクリップをエージェントアニメーションクリップとして取り込みます。
Houdini外で使用できるようにSOPキャラクタデータをエクスポートする ¶
以下の方法によって、SOPアニメーションのスケルトンとキャラクタをHoudini外で使用できるようにエクスポートすることができます:
-
ゲームエンジンや他のDCCパッケージに簡単に取り込める FBXファイル としてエクスポートする。
-
ROP FBX Animation Output SOPノードを使用して、アニメーションスケルトンを
.fbx
ファイルとしてエクスポートします。 -
Use the ROP FBX Character Output SOPノードを使用して、キャラクタを
.fbx
ファイルとしてエクスポートします。
-
-
ウェブ、モバイル、AR/VRアプリケーションに適した glTFファイル としてエクスポートする。
-
Use the ROP GLTF Character Output SOPノードを使用して、キャラクタを
.gltf
または.glb
ファイルとしてエクスポートします。
-
SOPキャラクタデータをオブジェクトレベルに取り込む ¶
Scene Character Export SOPノードを使用することで、スケルトンまたはキャラクタのSOPアニメーションをHoudiniの/obj
コンテキストにエクスポートすることができます。
SOPキャラクタデータをSolarisに取り込む ¶
SOP Character Import LOPノードを使用してキャラクタをステージに取り込むことで、SOPキャラクタデータをLOPsに取り込むことができます。
-
Animated Poseパラメータを使用して、キャラクタの アニメーションスケルトンジオメトリ を含んだSOPノードのパスを指定します。これは、SOPで言うとJoint Deformノードの3番目の入力に該当します。
-
(オプション)Rest Geometryパラメータを使用して、キャラクタの 静止スキンジオメトリ を含んだSOPノードのパスを指定します。これは、SOPで言うとJoint Deformノードまたは(キャラクタにブレンドシェイプが含まれているなら)Character Blend Shapesノードの1番目の入力に該当します。このフィールドを空っぽのままにすると、キャラクタのスケルトンとアニメーションデータ のみ が取り込まれます。
-
(オプション)Capture Poseパラメータを使用して、 Rest Geometry で使用したい キャプチャポーズ を含んだSOPノードのパスを指定します。これは、SOPで言うとJoint Deformノードの2番目の入力に該当します。
KineFXを使ってUnreal Editor内でリグを制御する ¶
Unreal Engine用Houdini KineFX LiveLinkプラグインを使用すると、HoudiniのKineFXからUnreal Editor内でリグを制御することができます。
Houdini側の必須のソース |
|
Unreal Editor側の必須のターゲット |
|
How to ¶
-
ウェブブラウザウィンドウを開いて、 github 上のHoudini LiveLinkウェブページに進みます。
-
ページの右側のコラムにある Releases にリストされている最新リリースをクリックします。
-
最新 Houdini Live Link リリースのウェブページ上で、 Assets セクションまでスクロールダウンして、実行する Unreal Editor のバージョンに一致した HoudiniLiveLink
.zip
をクリックします。.zip
アーカイブファイルが自動的にローカルの\Downloads
フォルダにダウンロードされます。 -
ダウンロードした HoudiniLiveLink.zip アーカイブを解凍して、その解凍されたフォルダの中に入って、以下の操作を行ないます:
-
HoudiniLiveLink フォルダ(例えば、
HoudiniLiveLink-UE-4.26
)を Unreal Editor インストールディレクトリ内の\Engine\Plugins\Animation
フォルダにコピーします。 -
\Content
フォルダの中にあるue4_livelink.hda
ファイルを、シーンにインポートするHDAの格納先に保存します。
-
-
Houdiniで、 Unreal Editor で駆動させたいKineFXアニメーションスケルトンまたはキャラクタを含んだシーンを開きます。
-
File ▸ Import ▸ Houdini Digital Asset を選択します。
-
Install Digital Asset Library ウィンドウで、 Digital Asset Library のファイル選択オプションを使用して、ダウンロードした
ue4_livelink.hda
ファイルを選択して、 Install and Create をクリックします。ue4_livelink
HDAが ネットワークエディタ 内に出現します。 -
ネットワークエディタ 内で、アニメーションスケルトンまたはキャラクタの アニメーションポーズ出力 を
ue4_livelink
HDAの 入力 に接続します。 -
ue4_livelink
HDAを選択して、 パラメータエディタ を開きます。 -
パラメータエディタ で、このプロシージャルで後で利用する Port と IP Address をメモし、 Start Server をクリックします。
-
Unreal Editor を起動します。
-
Unreal Editor のメインメニューから、 Edit ▸ Configuration ▸ Plugins を選択します。
Plugins 設定ウィンドウが表示されます。
-
この Plugins 設定ウィンドウで、 Animation セクションに移動し、 LiveLink プラグインと Houdini KineFX LiveLink プラグインを オン (有効)にして、 Restart Now をクリックして Unreal Editor セッションを再起動します。
-
Unreal Editor で、KineFXアニメーションスケルトンまたはキャラクタで駆動させたいUnrealスケルトンまたはリグキャラクタをロードします。
-
メインメニューから Window ▸ LiveLink を選択します。
LiveLink タブが出現します。
-
Live Link タブで、 Source ▸ Houdini LiveLink をクリックします。
-
表示されたLive Link情報メニューで、 Port Number が
ue4_livelink
HDAの Port と IP Address の組み合わせになっていることを確認します。もしそうなっていない場合は正しい情報に書き換えてください。 -
Add Source をクリックします。
下図のようにHoudini Subjectの隣に 緑のドット が表示されたら、HoudiniとUnreal間の接続が成功して確立されました。
Note
この緑のドットが表示されるのに少し時間がかかる場合があります。
-
Preview Scene Settings タブの Animation セクションを展開して、以下の操作を行ないます:
-
Preview Controller ▸ Live Link Preview Controller を選択します。
-
Live Link Subject ▸ Houdini Subject を選択します。
Houdini内のソースのアニメーションスケルトンまたはキャラクタがターゲットのUnrealスケルトンまたはリグキャラクタに接続されました。
-
-
Houdini内でアニメーションを再生します。
Unreal内のターゲットのスケルトンまたはリグキャラクタがHoudiniのソースのアニメーションスケルトンまたはアニメーションキャラクタによって駆動されます。
SOPキャラクタをHDAに変換する ¶
リグが組まれたKineFXキャラクタを他のHoudiniアーティストと簡単に共有できるようにするには、キャラクタのノードネットワークをHDAと呼ばれる独自のパラメータセットを備えた配布が簡単なカスタムノードに変換することです。
これは、リグが組まれたキャラクタをアニメータに渡す必要があるものの、そのアニメータがアクセス可能なキャラクタリグの部分のみがFKとIKのコントロールになっているようにしたい時に役立ちます。
How to ¶
-
ネットワークエディタで、KineFXキャラクタのノードネットワークの各出力ストリームの最後に Output SOPノードを追加します。
例えば、キャラクタの個々のジョイントのポージング(FK)用のコントロールセットとキャラクタの手足のポージング(IK)用のコントロールセットがあれば、 そのFKコントロールネットワークストリームの最後に1つ Output ノードを、IKコントロールネットワークストリームの最後にもう1つ Output ノードを追加します。
これは、必須ではありませんが、ネットワークをHDAにする準備をする場合に適した形式です。 これらの Output ノードがHDAネットワークの最終出力としてビューポート内に表示されるようにしてください。 そうなっていない場合、ただHDAはそのネットワーク内のディスプレイフラグが有効になっているノードを表示するだけです。
-
KineFXキャラクタのノードネットワーク内のコントロールストリーム毎にそのRig Pose SOPノードを選択して、そのノードのパラメータを見て、キャラクタのコントロール毎に Transformations マルチパラメータが存在していることを確認してください。
-
そのマルチパラメータのリストに入っていないコントロールがあれば、ビューポート内でそのコントロールをクリックします。コントロールをクリックする度に自動的に Transformations マルチパラメータが追加されます。
-
マルチパラメータ毎に、コントロールジオメトリに 影響を与えたくない トランスフォームパラメータをロックします。
-
-
HDAに変換したいKineFXキャラクタのすべてのノードを選択して、それらのノードを サブネット にします。
-
そのサブネットをクリックして表示されるコンテキストメニューから Create Digital Asset を選択します。
これでKineFXキャラクタのサブネットが HDA になりました。
-
そのHDAをクリックして表示されるコンテキストメニューから Type Properties を選択します。
Edit Operator Type Properties ウィンドウが表示されます。
-
この Edit Operator Type Properties ウィンドウ内の Node タブを選択してから、 Default State プロパティフィールドに
kinefx__rigpose
とタイプします。 -
Basic タブを選択してから、 Maximum Outputs プロパティにHDAネットワーク内の Output SOPノードの数を設定します。
-
Parameters タブを選択してから、HDAの中に入ります。
-
各 Attach Joint Geometry SOPノードの下流にある Rig Pose ノードに対して、以下の操作を行ないます:
-
コントロールを使って制御したいトランスフォームパラメータを Edit Operator Type Properties ウィンドウ内の Existing Parameters コラムまでドラッグします。
-
そのウィンドウの Parameter Descriptions 領域には、そのトランスフォームの意味が分かる Name と Label を指定します。
-
-
Apply をクリックしてから Accept をクリックします。
-
HDAをクリックして表示されるコンテキストメニューから Save Node Type を選択してから、再度HDAをクリックして表示されるコンテキストメニューから Match Current Definition を選択します。
-
HDAのサブネットの ディスプレイ フラグを有効にして、マウスカーソルをビューポート内に移動させてからEnterを押して、 Rig Pose 状態に入ります。
これで、HDAキャラクタのコントロールを選択して制御してポーズにキーを打てるようになりました。