比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

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.

注意

AtomsHoudini supports only rig made of null-bones objects for each joint. Usually this type of rig are used by the houdini fbx importer. Native houdini crowd rigs (made by bones only) are not supported by Atoms.

注意

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.

Image Removed

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

シミュレーションで使用する前に、キャラクターを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つのジョイントを適用すると、ビューポートのプレビューが正しく表示されません。


Image Added


Skeleton Exporter Tool を開く

シーンの準備が完了したら、シェルフボタンを使用してスケルトンとアニメーションのエクスポータツールを開くことができます。

Atomsメニューから開くこともできます:Atoms> Export> Rig / 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 houdini parameters on those joints. Please check the 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.

注意
  • Your root joint must always be tagged as pelvis.
  • For any IK chains you have to set up manually the pole vector on your foot roots. The pole vector is a point in world space. This is an attribute on your foot root joints.
注意

You can also tag joints with the "Skip IK" button. This will instruct Atoms not to use those joints as part of the IK chain when rebuilding the leg.

 Image Removed

Exporting your files

For this example we're going to work with the AtomsRobot.hip scene shipped with AtomsHoudini inside the AtomsHoudini/data folder. In this scene all the joints and geos are already prepped correctly.

First let's tag our joints:

  • Select the Hips null node and click on the "Pelvis" button, then "tag".
  • Select the LeftUpLeg and RightUpLeg null nodes and click the "Foot Root" button, then "tag".
    You should also set a pole vector, go at the bottom of Houdini property panel on these two nodes 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.
  • Select the LeftFoot and RightFoot nodes and click the "Foot IK" button, then "tag".
  • Select the LeftToeBase and RightToeBase and click the "Foot Tip" button, then "tag".

    Then:

    • Select the Hips node again and click on the "Refresh" button next to the "Root Joint" label.
    • Click on the "set bind pose attributes" button
    • Select on "RobotGeo" null node and click on the "Refresh" button next to the "Geos" label.
    • Select on "RobotSkin1" null node 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.
    Image Removed

    Click on Export and your files will be exported in the right location:

    Image Removed

    In this example we did not have any extra (prop) joint or chains detached from the root. 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

    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に接続されています。以前のバージョンでは、手動で設定する必要があります。




     Image Added


    ユーザーのファイルをエクスポート

    この例では、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チェーンの一部として使用することはありません。


    Image Added

    「Export」をクリックすると、ファイルは正しい場所にエクスポートされます。

    Image Added


    この例では、ルートから切り離された余分な(Prop)ジョイントやチェーンはありません。念のため、それらを選択して「Set bind pose attributes」ボタンをクリックする前に「+」ボタンをクリックしてください。


    カスタムデータの追加

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