リグの変換 - Houdini
シミュレーションで使用する前に、キャラクターをAtoms Crowdフォーマットファイルにエクスポートする必要があります。このセクションでは、ユーザーがどのように操作することができるかを確認していきます。
シーンが正しくエクスポートされるように、レイアウトの方法に関するガイドラインがいくつかあります。
Bindポーズから常にキャラクター定義をエクスポートしてください。
ユーザーのシーンの準備
「Agent Type」ページで説明したように、Agent TypeにはSkeleton、Proxy、Skin geoなどが必要です。
すべてのProxyメッシュを1つのグループにまとめ、Skinメッシュを別のグループにまとめます。これらのグループにどのように名前を付与するかは、ユーザーにとって意味がある限り、実際には重要ではありません。
唯一の命名規則がProxyジオメトリに適用されます。
Atoms Crowdは、各ジョイントをProxyジオメトリグループの下のメッシュと一致させようとします。メッシュ名は、ジョイント名とそれに続く名前に等しくなうように設定します。
"_GEO"。
例えば、「Hips」という名前のジョイントがある場合、そのジョイントに関連付けられているProxy GEOは「Hips_GEO」という名前になります。
スキンジオメトリには、命名規則はありません。
AtomsHoudiniは、各ジョイントに対してnull boneオブジェクトで作成されたリグのみをサポートします。通常、このタイプのリグはHoudini fbxインポーターによって使用されます。本来のHoudini crowd rig(ボーンのみで作成されています)は、Atomsではサポートしていません。
リグをエクスポートする前に、Joint Local Rotation値が常に0に設定されていることを確認してください。
Atomsビューポートスキニングプレビューは、最大のバーテックスあたり3つのジョイントウェイトのみをサポートします。各バーテックスに、最大3つのジョイントを適用すると、ビューポートのプレビューが正しく表示されません。
Skeleton Exporter Tool を開く
シーンの準備が完了したら、シェルフボタンを使用してスケルトンとアニメーションのエクスポータツールを開くことができます。
Atomsメニューから開くこともできます:Atoms> Export> Rig / Animation Exporter
Skeleton ExporterのGUIがポップアップします。
「Root Joint」フィールドは、スケルトンのルートジョイントに設定する必要があります。以下のリストは、Agent typeページで説明されているように、スケルトンの特定のジョイント(PelvisとLeg)のタグ付け、タグ解除、およびリストを目的としています。
シミュレーション中に、エージェントを正しくグラウンドに配置して、IKとフットロックを適用するには、Atomsは、この情報を正しく把握する必要があります。
タグ付けは、それらのジョイントに対して、いくつかのHoudiniパラメータを追加することを意味します。これらのボタンを押した後に、プロパティパネルをチェックして、どのアトリビュートが追加されているかを確認してください。
「Extra Joints」リストは、プロップジョイントを追加する場所です。
各ジョイントリストには、リストにジョイントを追加及び削除したりするためのボタン、スケルトンに問題がある場合は、赤く表示されるSanityチェックボタン(クリックするとリグの問題点に関するレポートがあります)およびヘルプボタンがあります。各タグの意味をユーザーに知らせるためのヘルプツールチップが表示されます。
各リストには、ジョイントを選択したり他の操作を実行するためのメニューがあります。
「Set bind pose attributes」ボタンは、階層の各ジョイントにBind Poseアトリビュートを設定します。シーンをエクスポートして、保存する前にこのボタンを押す必要があります。
リグを調整する(ジョイントを移動または回転させる)ときは、このボタンを再度押して、正しいBind Poseデータをすべて設定し直す必要があります。
「Proxy」フィールドは、ユーザーのProxy geosグループを指します。
「Skin」フィールドは、ユーザーのスキン化されたジオグループを指します。
保存先のフォルダ場所を設定する場合は、「Config Path」フィールドを使用してください。
- ユーザーのルートジョイントは、常にPelvisとしてタグ付けされる必要があります。
- どのIKチェーンでも、フットルートにポールベクトルを設定する必要があります。ポールベクトルは、ワールドスペース内のポイントです。これは、ユーザーのフットルートのジョイントのアトリビュートです。また、ユーザーのフットルートのジョイントのアトリビュートであり、自動的にバージョン2.0.0以降のnullに接続されています。以前のバージョンでは、手動で設定する必要があります。
ユーザーのファイルをエクスポート
この例では、AtomsHoudiniに含まれているAtomsRobot.hipシーンをAtomsHoudini / dataフォルダー内で処理します。このシーンでは、すべてのジョイントとジオがすでに正しく準備されています。
最初に、ジョイントにタグを付けましょう。
- Hip関節を選択し、「Root Joint」のラインから「Pick from selection」ボタンをクリックします。Hip関節を選択した状態で、「Pelvis Joints」リストの下にある「+」ボタンをクリックします。LeftUpLegとRightUpLegのジョイントを選択して、「Foot Root Joints」リストの下の「+」ボタンをクリックしてください。
- ビューポートで作成されたばかりの新しいnullノードを移動することによって、ikチェーンのポールベクトルを設定できます。これはワールドスペース内のポイントである必要があり、デフォルトでは、Atomsはこのフットルートの最初の子ジョイントの位置を使用して適切な値を見つけようとします。各フットルートのポールベクトルを選択するには、リストのエレメントを右クリックしてメニューからポールベクトルを選択します。
- LeftFootとRightFootのジョイントを選択して、「Foot IK Joints」リストの下の「+」ボタンをクリックしてください。LeftToeBaseとRightToeBaseを選択して、「Foot Tip Joints」リストの下にある「+」ボタンをクリックします。
次に:
- 「set bind pose attributes」ボタンをクリックします。「RobotGeo」nullを選択して、「Proxy」ラベルの隣にある「Pick from selection」ボタンをクリックしてください。ポップアップメニューの「Pick selection」をクリックします。
- 「RobotSkin1」 nullノードを選択し、「Skin」ラベルの隣の「Pick from selection」ボタンをクリックします。ポップアップメニューの「Pick selection」をクリックします。
- atomsskelファイルを保存するファイルパスを選択します。
この時点で、GUIは図のようになっていることが確認できます。
ポールベクトルは、エージェントが地面に配置され、AtomsがレッグにIKシステムを適用するときに使用されます。より良いシミュレーションを取得するために、ポールベクトルを設定することを推奨します。ポールベクトルを設定しない場合、Atomsはジョイントの配置から評価しようとします。
「Skip IK」ボタンを使用して、ジョイントにタグを付けることもできます。これにより、Atomsはレッグを再構築するときに、それらのジョイントをIKチェーンの一部として使用することはありません。
「Export」をクリックすると、ファイルは正しい場所にエクスポートされます。
この例では、ルートから切り離された余分な(Prop)ジョイントやチェーンはありません。念のため、それらを選択して「Set bind pose attributes」ボタンをクリックする前に「+」ボタンをクリックしてください。
カスタムデータの追加
ジョイントにカスタムデータを追加したい場合は、カスタムメタデータの追加セクションを確認してください。
Copyright © 2017, Toolchefs LTD.