アニメーションのエクスポート
それでは、Atoms Crowdで使用できるようにアニメーションをエクスポートする方法を見てみましょう。
アニメーションスケルトンジョイントには、アニメーションを正しくエクスポートするために、Agent Typeファイルをエクスポートした時に設定した、すべてのタグが必要です。ジョイントにも「Bind pose attributes」を正しく設定する必要があります。
このため、Agent Typeファイルをエクスポートする時に保存したシーンを開いて、この作業を開始します。 AtomsRobot.maシーンは、すべてのアトリビュートがすでに正しく設定されているので開くことができます。
ファイルをロードしたら、データフォルダーからatomsRobot_walk.fbxファイルをインポートします。
確認してください。
- タイムスライダの最初のフレームは0です。
- シーンのFPSは、FBXがエクスポートされた時のFPSの使用と一致します。この場合、30 FPSです。整数フレームに、すべてのジョイントキーフレームがあるわけではないので、容易に見つけることができます。
スケール補正は、サポートされていません(Mayaのように)。ジョイントをスケールすると、そのすべての子もスケールされます。
Animation Exporter Tool
シェルフボタン、またはメニューを使用して、スケルトンとアニメーションのエクスポートツールを開くことができます。 Atomsメニューから開くこともできます:
Atoms > Export > Skeleton / Animation Exporter
Skeleton ExporterのGUIがポップアップします。 GUI上部の「Animation」タブを必ず選択してください。
ここでのワークフローは、スケルトンとメッシュの定義をエクスポートすることと、よく似ています。ユーザーの "Root Joint"、 "Hip Joint"を選択する必要があります。
次に、アニメーションのファイルタイプを選択します。Atomsは現在、fbxとatomsclipをサポートしています。 FBXは、より移植性がありますが、atomsclipはAtomsと連動するように最適化されています。
ファイルパスを選択します。Ground Methodを「User Value」のままにします。
現在の「Ground Height」。クリップのフットが地面に接触していることを、Atomsは把握する必要があります。「Ground Height」フィールドは、クリップが歩行している仮想平面の高さをエクスポータに伝えます。
クリップのXZ平面の真上を移動するフットがあり、地面の高さとして0の値が許容される場合です。
今回の場合は、残念ながらその通りではありません。ロボットのフットは、常にXZ平面の下を移動しています。
RightToeBaseジョイントの正しい地面の高さを見つけます。最初に、フットが下がっているフレームを見つける必要があります。22から34までのどのフレームでも大丈夫です。(シーンは30fpsに設定する必要があります)
次に、ロケーターまたは平面を作成し、それを正面のカメラから右足の足先であるRightToeBaseジョイントに、ほぼ一致するまで移動します。ユーザーが探している値は、ユーザーのロケータ/平面のY軸移動です。この場合、-76という値で問題ありません。
「Foot Threshold」は、地面の高さに対する誤差の近似値です。この場合、0.5の値で問題ありません。
このページの後半の「Data from scene」に戻ります。
最後に、「Images」セクションです。クリップと一緒に、サムネイルプレビューをエクスポートできます。これは、後でアニメーションクリップを設定する場合に、とても便利です。サムネイルプレビューをエクスポートしない場合は、「Export images」のチェックを外してください。
アニメーション全体を記録できるように「Souce camera」を配置してください。ユーザーは、それを「Hip Joint」にコンストレイントするように命じることができます。
プレビュー画像を含むtarファイルに「Export images」がある場合は、クリップファイルと同じフォルダに表示されます。
キャラクターを地面でアニメートした場合でも、アニメーションをエクスポートできます。Ground Methodを "Mesh"に変更して、フットのしきい値を指定します。
エクスポーターは、タイムスライダの開始フレーム、終了フレームをフレーム範囲として使用します。この例では、0から55に設定する必要があります。
ルートぺルビスジョイントに「atomsClipDirection」というベクトルタイプのアトリビュートを追加することで、エクスポートする前にクリップの方向を設定できます。
方向は、Animation Clipファイル(つまりfbx)に保存され、Atoms UIでアニメーションクリップの方向タイプを「Clip」に設定することで、後に使用できるようになります。
Clipを確認する
それでは、シーンからエクスポートしたばかりのfbxをインポートし、RightToeBaseジョイントを選択してグラフエディタを開きましょう。
「Atoms Foot On Ground」アトリビュートを選択すると、最初の図のようになります。
このアトリビュートは、フットの「Footdown」状態を表すデータを保持します。このアニメーションカーブとロボットアニメーションを確認しながら、タイムスライダをスクラブすると、カーブのキーフレームがフット下の状態をよく反映していることがわかります。
2番目の図のような場合は、フレーム60と80の間にスパイクがあることが確認できます。この場合は、手動でそのキーフレームの値を設定してから、Skeleton Animation Exporterを開き、「Data from Scene」をチェックします。チェックボックスのGUIでエクスポートした後、もう一度クリップをチェックすると、Foot on ground アトリビュートは問題ないことが確認できます。
Footdown Curvesを編集した後に、FBXを手動でエクスポートしないでください。他のいくつかの値(エクスポート時にキャッシュ)は、エクスポートする度に再評価されます。 FBXを手動でエクスポートすると、予期しない結果が生じる可能性があります。
現在、mayclにatomsclipファイルを直接インポートすることはできません。 Atomsclipファイルは、Atomsでのみ使用されるべきです。
Copyright © 2017, Toolchefs LTD.