Created on | Updated on
フォローする

Houdiniでアニメーションfbxファイルをキャラクタに割り当てる

スケルトン付きキャラクタとして読み込んだFBXにアニメーションデータとして読み込んだFBXをHoudini内で適用して、アニメーションができるようにします。

最初にFile > Import> Filmbox FBXを使用してキャラクタアセットのFBXファイルをロードします。
このデータにはアニメーションを持たせていません。

ペーストした画像 600x319


シーンにFBXのサブネットとして作成されます。
サブネットの中にはいると、ジョイント階層、ジオメトリ、マテリアルがあります。

ペーストした画像 600x317


読み込んだFBXをDigital Assetにします。



デジタルアセット内部に入り、ジョイントの上にNullを追加します。



NullのUniform Scaleで0.01に設定し、アセットの大きさを100分の1にします。
Mayaは基本単位がcmですが、Houdiniはmです。そのため、スケールをNullで調整しました。

次に読み込みたいアニメーションのFBXを選択し、Mergeでシーンに読み込みます。
ペーストした画像 600x3122


スライダをドラッグして読み込んだアニメーションが再生できることを確認します。
ペーストした画像 600x3123


このアニメーションデータは表示する必要がないのでVisibilityは無効にします。

ペーストした画像 449x254


次にキャラクタデジタルアセット内でCHOP Networkを作成します。

CHOPはシーン全体を通してアニメーションを確認することを可能にし、多くの方法でアニメーションを処理します。

ペーストした画像 600x374


そして、CHOP Networkの中にFetch CHOP ノードを作成します。
Fetch CHOPは他のOPからチャンネルをインポートします。つまりここに先ほどのアニメーションFBXのデータをゲットして、指定した場所にそのデータをExportしていきます。




ただ、アニメーションのFBXはデジタルアセット内で選択するのではなく、その外でコントロールできるようにしたいと思います。


Houdiniのデジタルアセットは必要なパラメーターをデジタルアセットパラメーターとして公開することができます。

既にデジタルアセットにしたキャラクタを右クリックからType Properties。
ペーストした画像 600x605


Parametersタブ開き、Existing ParametersのTransformとSubnetを選択し、Invisibleをオンにして、一旦デジタルアセット上のパラメーターを非表示にします。
ペーストした画像 600x411


次に、Create Parametersのobj>”デジタルアセット名”>chopnet1>fetch1>SourceをExisting Parametersにドラッグし追加します。

ペーストした画像 600x4113


これでAcceptを押すとキャラクタデジタルアセットでSourceパラメーターが表示されます。

ペーストした画像 600x663


ここでアニメーションのFBXサブネットワークを選択し、以下のように設定します。
ペーストした画像 600x5992


ペーストした画像 600x230


そして、そこにNodeには「/*」、Channelsには「t* r*」を追加します。
これでサブネットワーク内の全てのデータからtから始まるパラメーターとrから始まるパラメーターを取得します。

String Patternに関しては下記をご参照ください。
https://www.sidefx.com/docs/houdini/network/patterns


次にFetchのCommonタブでExport Prefixを設定します。ここでどこにデータをエクスポートするのか決めます。下記のように入力してください。

ペーストした画像 600x420


パスに関しては下記をご参照ください。
https://www.sidefx.com/docs/houdini/network/paths

これでFetchノードのExportを有効にします。

ジョイントにアニメーションが出力されます。

キャラクタのデジタルアセットでSourceを新しく読み込んだアニメーションに書き換えればすぐに反映することもできます。

001