Your characters must be exported into Atoms Crowd format files before you can use them in your simulations. In this section we are going to see how you can do it.
Some guidelines will also be given on how you should layout your scene to be exported correctly.
注意 |
---|
Always export your character definition from the bind pose. |
Preparing your scene
As explained in the Agent type page, your agent types will need a skeleton, some proxy and skinned geos.
You should gather all your proxy meshes under one group and your skinned meshes under another group. How you name these groups does not really matter as long as it makes sense to you.
The only naming convention applies to the proxy geometries. Atoms Crowd will try to match each joint with a mesh under the proxy geometry group, the mesh name must be equal to the joint name followed by "_GEO".
For instance, if you have a joint named "Hips", the proxy GEO associated with that joint should be named "Hips_GEO".
There is no naming convention for your skinned geometry.
注意 |
---|
MAYA: make sure your joint local rotation values are always set to 0 before exporting your rig. |
注意 |
---|
Atoms viewport skinning preview only supports 3 joint weights per vertex maximum. Please make sure to skin each vertex to 3 joints maximum or the Viewport preview won't display correctly. |
Opening the Skeleton Exporter Tool
Once your scene is ready, you can open the skeleton and animation exporter tool using the shelf button. You can also open it via the Atoms menu: Atoms > Export > Skeleton/Animation Exporter
The Skeleton Exporter GUI will pop up.
You'll notice some buttons at the top of the UI. They are used to tag or untag the selected skeleton joints (pelvis and leg) as explained in the Agent type page. You can also use them to select all the joints with the given tag.
Atoms need to know this information in order to place correctly your agent on the ground, apply the IK and the foot lock during the simulation.
Tagging just means adding some maya attributes (or houdini parameters) on those joints. Please check the attribute editor (or property panel) after pressing these buttons to see which attributes are added.
The "Root Joint" field must be set to the root joint of your skeleton.
The "Extra Joints" list is where you'll add your prop joints.
The "set bind pose attributes" button takes care of setting the bind pose attributes on each joint of your hierarchy. You should press this button before exporting and saving your scene.
Whenever you tweak you rig (i.e. move or rotate a joint) you should press this button again in order to set again all the right bind pose data.
The "Geos" field will point to your proxy geos group.
The "Skin" field will point to your skinned geos group.
Please use the "Config path" field to set your destination folder location.
注意 |
---|
|
Exporting your files
For this example we're going to work with the AtomsRobot.ma scene shipped with Atoms. In this scene all the joints and geos are already prepped correctly.
First let's tag our joints:
You should also set a pole vector, go in the Extra Attributes section in Maya Attribute Editor (or at the bottom of Houdini property panel) on these two joints and set the "Atoms Pole Vector" (atomsPoleVector) attribute. This must be a point in world space, by default it use the joint world position, but it should be edited to a more sensible value by you.
Then:
- Select the Hip joint again and click on the "Refresh" button next to the "Root Joint" label.
- Click on the "set bind pose attributes" button
- Select on "RobotGeo" group and click on the "Refresh" button next to the "Geos" label.
- Select on "RobotSkin1" group and click on the "Refresh" button next to the "Skin" label.
- Select a file path where to save your atomsskel file.
At this point the GUI should look like in the picture.
注意 |
---|
The pole vector is used when atoms apply the IK system on the legs when the agent is on a ground. It's better to setup a pole vector in order to have a better simulation. If you don't set a pole vector atoms will try to estimate one from the joint configuration. |
Click on Export and your files will be exported in the right location:
In this example we did not have any extra (prop) joint. In case you do just select them and click on the plus button before clicking the "set bind pose attributes" button.
Add custom data
If you want add some custom data to some joints please check the Adding custom metadata sectionシミュレーションで使用する前に、キャラクターをAtoms Crowdフォーマットファイルにエクスポートする必要があります。このセクションでは、ユーザーがそれをどのように操作できるかを見ていきます。
シーンを適切にエクスポートするために、レイアウトの方法に関するガイドラインがいくつかあります。
注意 |
---|
常に、Bindポーズからキャラクターの定義をエクスポートしてください。 |
ユーザーのシーンの準備
「Agent Type」ページで説明したように、Agent TypeにはSkeleton、Proxy、Skingeoなどが必要です。
すべてのプロキシメッシュを1つのグループにまとめ、スキンメッシュを別のグループにまとめます。これらのグループにどのような名前を付けるかは、ユーザーにとって意味がある名前の限り、実際には重要ではありません。
唯一の命名規則がプロキシジオメトリに適用されます。
Atoms Crowdは、各ジョイントをプロキシジオメトリグループの下のメッシュと一致させようとします。メッシュ名は、ジョイント名に "_GEO"を続けたものと同じである必要があります。例えば、ジョイントがある場合、 "Hips"、ジョイントに関連付けられているプロキシのGEOは、 "Hips_GEO"という名前を付ける必要があります。
スキンジオメトリには、命名規則はありません。
注意 |
---|
リグをエクスポートする前に、Joint Local Rotation値が常に0に設定されていることを確認してください。 |
注意 |
---|
Atomsビューポートスキニングプレビューは、最大のバーテックスあたり3つのジョイントウェイトのみをサポートします。各バーテックスに最大3つのジョイントを適用すると、ビューポートのプレビューが正しく表示されません。 |
Skeleton Exporter Toolを開く
シーンの準備が整い次第、シェルフボタンを使用してスケルトンとアニメーションのエクスポータツールを開くことができます。 Atomsメニューから開くことができます:Atoms> Export> Rig / Animation Exporter
Rig ExporterのGUIがポップアップします。
「Root Joint」フィールドは、スケルトンのルートジョイントに設定する必要があります。以下のリストは、エージェントタイプページで説明されているように、スケルトンの特定のジョイント(PelvisとLeg)のタグ付け、タグ解除、およびリストを目的としています。
与えられたタグを持つすべてのジョイントを選択するために、それらを使用することもできます。
シミュレーション中にエージェントを正しく地面に配置し、IKとFootlockを適用するには、Atomsはこの情報を把握する必要があります。
タグ付けは、それらのジョイントにいくつかのMaya アトリビュート(またはHoudiniパラメータ)を追加することを意味します。これらのボタンを押した後に、アトリビュートエディタ(またはプロパティパネル)をチェックして、どのアトリビュートが追加されているかを確認してください。
「Extra Joints」リストは、プロップジョイントを追加する場所です。
各ジョイントリストには、リストにジョイントを追加及び削除したりするためのボタン、スケルトンに問題がある場合は、赤く表示されるSanityチェックボタン(クリックするとリグの問題点に関するレポートがあります)およびヘルプボタンがあります。各タグの意味をユーザに知らせるための、ヘルプツールチップが表示されます。各リストには、ジョイントの選択やその他の操作を実行するためのメニューがあります。
「Set bind pose attribute」ボタンは、階層の各ジョイントにBindposeアトリビュートを設定します。シーンをエクスポートして、保存する前にこのボタンを押す必要があります。リグを微調整する(ジョイントを移動または回転させる)場合は、このボタンをもう一度押して、正しいBindposeデータをすべて設定し直す必要があります。
「Proxy」フィールドはユーザーのProxy geosグループを指します。
「Skin」フィールドは、ユーザーのスキン化されたジオグループを指します。
保存先フォルダの場所を設定するには、「Output path」フィールドを使用してください。
注意 |
---|
|
ファイルをエクスポートする
こちらの例では、Atomsに付属のAtomsRobot.maシーンを操作します。このシーンでは、すべてのジョイントとジオがすでに正しく準備されています。
まず、ジョイントにタグを付けましょう。
- Hip関節を選択し、「Root Joint」のラインから「Pick from selection」ボタンをクリックします。
- Hip関節を選択した状態で、「Pelvis Joints」リストの下にある「+」ボタンをクリックします。LeftUpLegとRightUpLegのジョイントを選択して、「Foot Root Joints」リストの下の「+」ボタンをクリックしてください。ビューポートで作成されたばかりの新しいlocatorノードを移動することによって、ikチェーンのポールベクトルを設定できます。ポールベクトルはワールドスペース内のポイントであり、このフットルートのアトリビュートエディタの追加アトリビュート(Extra Attributes)セクション内にこのアトリビュートがあります。デフォルトでは、Atomsは、このフットルートの最初の子ジョイントの位置を使用して、適切な値を見つけようとします。各フットルートのポールベクトルを選択するには、リストのエレメントを右クリックしてメニューからポールベクトルを選択します。
- LeftFootとRightFootのジョイントを選択して、「Foot IK Joints」リストの下の「+」ボタンをクリックしてください。LeftToeBaseとRightToeBaseを選択して、「Foot Tip Joints」リストの下にある「+」ボタンをクリックします。
その後:
- 「Set bind pose attributes」ボタンをクリックしてください。「RobotGeo」グループを選択して、「Proxy」ラベルの隣にある「Pick from selection」ボタンをクリックしてください。ポップアップメニューの「Pick selection」をクリックします。「RobotSkin1」グループを選択し、「Skin」ラベルの隣にある「Pick from selection」ボタンをクリックしてください。ポップアップメニューの「Pick selection」をクリックします。
- atomsskelファイルを保存するファイルパスを選択します。
この時点で、GUIは図のようになっています。
注意 |
---|
ポールベクトルは、エージェントが地面に配置されている時や、AtomsがレッグにIKシステムを適用するときに使用されます。より良いシミュレーションを取得するために、ポールベクトルを設定することを推奨します。ポールベクトルを設定しない場合、Atomsはジョイント配置から推定しようとします。 |
注意 |
---|
ジョイントを「Skip IK」リストでタグ付けすることもできます。これは、レッグを再構築するときにAtomsにIKチェーンの一部としてそれらのジョイントを使用しないように指示します。 |
「Export」をクリックすると、ファイルは正しい場所にエクスポートされます。
こちらの例では、追加の(Prop)ジョイントはありませんでした。念のため、それらを選択して「Set bind pose attributes」ボタンをクリックする前に、プラスボタンをクリックしてください。
カスタムデータを追加する
ジョイントにカスタムデータを追加したい場合は、カスタムメタデータの追加セクションをチェックしてください。