アニメーションのエクスポート - Houdini

それでは、Atoms Crowdで使用できるようにアニメーションをエクスポートする方法を見てみましょう。
Animation Skeletonジョイントには、アニメーションを正しくエクスポートするためにAgent Typeファイルをエクスポートしたときに設定したすべてのタグが必要です。ジョイントにもBindpose アトリビュートを正しく設定する必要があります。


そのため、Agent Typeファイルをエクスポートするときに保存したシーンを開いて、この作業を開始します。 AtomsRobot.hipシーンには、すべてのアトリビュートがすでに正しく設定されているので開くこともできます。
ファイルをロードしたら、データフォルダーからatomsRobot_walk.fbxファイルをインポートします。

確認してください。

  • タイムスライダの最初のフレームは0です。
  • シーンのFPSは、FBXがエクスポートされたときに使用されたFPSと一致します。この場合、30 FPSです。整数フレームにすべてのジョイントキーフレームがあるわけではないので、容易に見つけることができます。

チルドはサポートされていません。ジョイントをスケールすると、そのすべての子もスケールされます。



atomsRobot_walk.fbxやその他のfbxファイルをリグの上にインポートする場合は、Houdini Importerがシーン内の既存のリグに対して、アニメーションをインポートする代わりに新しいリグを作成するので、Atoms fbx Importerを使用する必要があります。AtomsメニューからAtoms ImportImport FBXまたはAtomsシェルフを介してAtoms fbx Importerを開くことができます。


Animation Exporter Tool

シェルフボタンまたはメニューを使用して、スケルトンとアニメーションのエクスポータツールを開くことができます。 Atomsメニューから開くこともできます:Atoms > Export > Skeleton / Animation Exporter

Skeleton ExporterのGUIがポップアップします。

GUI上部の「Animation」タブを必ず選択してください。

ここでのワークフローは、スケルトンとメッシュの定義をエクスポートすることと、よく似ています。「Root Joint」、「Hips」ノードを選択する必要があります。


次に、アニメーションのファイルタイプを選択します。

現在、AtomsはfbxとAtomsClipをサポートしています。 FBXはより移植性がありますが、AtomsClipはAtomsと連動するように最適化されています。

次に、ファイルパスを選択します。
Ground Methodを「User Value」のままにします。
現在の「Ground Height」。クリップのフットがグラウンドに接触していることをAtomsは、把握する必要があります。「Ground Height」フィールドは、クリップが歩行している仮想平面の高さをエクスポータに伝えます。


クリップのXZ平面の真上を移動するフットがあり、グラウンドの高さとして0の値が許容されます。今回の場合は、残念ながらそうではありません。ロボットのフットは、常にXZ平面の下を移動しています。
RightToeBaseジョイントの正しいグラウンドの高さを見つけます。

最初にフットが下がっているフレームを見つける必要があります。22から34フレームのどのフレームでも可能です(シーンは、30fpsに設定されるべきです)。


次に、nullノードまたはグリッドを作成し、それをフロントカメラから右足の足の先端である、RightToeBaseノードに対して、ほぼ一致するまで移動します。

ユーザーが探している値は、ユーザーのnull / gridのY軸移動です。この場合、-76という値で問題ありません。
「Foot Threshold」は、グラウンドの高さに対する誤差の近似値です。この場合、1.0の値で問題ありません。


このページの後半にある「Data from Scene」に戻ります。
最後に、「Images」セクションです。クリップと一緒にサムネイルプレビューをエクスポートできます。これは、後でアニメーションクリップを設定する際に、非常に便利です。サムネイルプレビューをエクスポートしない場合は。「Export images」のチェックを外してください。
アニメーション全体を記録できるように「Souce Camera」を配置してください。ユーザーは、それを「Hips」ノードに対してポイントコンストレイントを行うことができます。
プレビュー画像を含むtarファイルに "Export images"がある場合は、クリップファイルと同じフォルダに表示されます。

キャラクターをグラウンドでアニメートした場合でも、アニメーションをエクスポートできます。Ground Methodを "Mesh"に変更して、フットのしきい値を指定します。

エクスポータは、タイムスライダーの開始フレームと終了フレームをフレーム範囲として使用します。この例では、0、55に設定する必要があります。

ルートのぺルビスジョイントに「atomsClipDirection」という、float vector3パラメータを追加することで、エクスポートする前にクリップの方向を設定できます。
方向は、Animation Clipファイル(つまりfbx)に保存され、Atoms UIでアニメーションクリップのDirectionタイプを "Clip"に設定することで、後で使用することができます。


ユーザーのClipのチェック

それでは、シーンにエクスポートしたばかりのfbxをインポートし、RightToeBaseノードを選択して、Animation Editorを開きましょう。

「Atoms Foot On Ground」パラメータをエディタのScopeパラメータに追加すると、下の最初の図のようになります。
このアトリビュートは、該当するフットの「Foot Down」ステートを表すデータを保持します。このアニメーションカーブとロボットアニメーションを確認しながら、タイムスライダをスクラブすると、カーブのキーフレームがフットの下のステートを反映していることがわかります。

2番目の図のような場合は、フレーム37と38の間にスパイクがあることが確認できます。

この場合は、手動でそのキーフレームの値を設定した後、Skeleton Animation Exporterを開き、「Data from Scene」チェックボックスをオンにします。GUIでエクスポートした後、再度、Clipをチェックすると、Foot on Groundアトリビュートは問題がないことが確認できます。

Footdown Curveを編集した後に、FBXを手動でエクスポートしないでください。
他のいくつかの値(エクスポート時にキャッシュ)は、エクスポートするたびに再評価されます。 FBXを手動でエクスポートすると、予期しない結果が生じる可能性があります。

現在、AtomsclipファイルをHoudiniに直接インポートすることはできません。 Atomsclipファイルは、Atomsでのみ使用されます。


カスタムデータ追加

ジョイントにカスタムデータを追加したい場合は、カスタムメタデータの追加セクションを確認してください。

Copyright © 2017, Toolchefs LTD.