In Atoms users can create and attach custom data to almost every entity available. We call this custom data "Metadata".
Atoms has already some predefined Metadatas on most entities such as Agent Types, Animation Clips, etc.
All the values explained in the previous sections for the Agent type (State Machine, Scale Multiplier) and Animation clip (Loop, Loop Start, Loop End, etc.) are in fact metadatas.
This custom data can be accessed and often tweaked at simulation time.
For instance, you might want to tag a specific skeleton joint and access it via python or C++ or stick some custom metadata on an agent to define a specific behaviour.
The available Metadata types are: String, Int, Double, Bool, Euler, Vector3, Vector4, Quaternion, Matrix, Box3, Curve, Image and Mesh.
There's also an array type for all these metadatas.
The most powerful metadata are the MapMetadata (a map container for mixed type of metadatas) and the ArrayMetadata (a vector container for mixed type of metadatas)
Metadatas are most useful when used in conjunction with custom python and C++ Behaviour Modules.
Atoms Metadatas
Below you can find a complete list of all metadatas used by Atoms Crowd. Users might edit them during the simulation via python, C++ or using the available tools.
All metadatas marked as "internal only" should not be edited by the users or the editing might lead to unexpected behaviours.
Clip metadatas
...
Atomsでは、ユーザーはカスタムデータを作成して、利用可能なほぼすべてのEntityに添付することができます。このカスタムデータを「メタデータ」と呼びます。
Agent Type、Animation Clipなど、ほとんどのEntityには、既にいくつかの定義されたメタデータがあります。Agent Type(State Machine、Scale Multiplier)及びAnimation Clipのすべての値(Loop、Loop Start、Loop Endなど)は、実際にはメタデータです。
このカスタムデータは、シミュレーション時にアクセスして調整することができます。
例えば、特定のSkeletonジョイントにタグを付与して、pythonまたはC ++経由でアクセスすることや、カスタムメタデータをエージェントに割り当てて特定の動作を定義することができます。
利用可能なメタデータのタイプは、String、Int、Double、Bool、Euler、Vector3、Vector4、Quaternion、Matrix、Box3、Curve、Image、Meshです。
これらすべてのメタデータの配列型もあります。
最も強力なメタデータは、MapMetadata(混合型のメタデータ用のマップコンテナ)とArrayMetadata(混合型のメタデータ用のベクトルコンテナ)です。
メタデータは、カスタムのpythonおよびC ++の動作モジュールと組み合わせて使用すると利便性が向上します。
...
Atoms のメタデータ
以下より、Atoms Crowdによって使用されるすべてのメタデータの完全なリストを確認することができます。ユーザーは、シミュレーション実行中にpython、C ++、または利用可能なツールを使用してそれらを編集することができます。
「Read Only」とマークされているすべてのメタデータをは編集しないように注意してください。編集した場合、予期しない挙動が発生する可能性があります。
Clip metadatas
名前 | タイプ | 説明 | 読み取り専用 |
---|---|---|---|
atomsBlendFramesAfterFootUp | 整数 | フットが地面を離れた後に、ブレンドするために使用されるフレームの数。 | NO |
atomsLoop | bool |
クリップにループ可能なタグを付与します。 | NO |
atomsLoopStart |
整数 | クリップの開始フレーム | NO |
atomsLoopEnd |
整数 | クリップの終了フレーム | NO |
atomsNumBlendFrames |
整数 | bledingに使用されるフレーム数 | NO |
Agent metadatas
name 名前 | type タイプ | description 説明 | read only読み取り専用 | |
---|---|---|---|---|
id | int | The global id.整数 | グローバルID | YES |
groupId | int | The local id (the id relative to this agent group).整数 | ローカルID(このエージェントグループに対する相対ID) | YES |
groupName | string | The local name.文字列 | ローカル名 | YES |
direction | vector3 | The agent target direction in world space.エージェントはワールドスペースにおける方向を目標とします。 | NO | |
frameRate | double | The frame rate used for playing the agent animation.エージェントアニメーションの再生に使用されるフレームレート | NO | |
localDirection | vector3 | The agent direction in local space.ローカルスペースにおけるエージェントの方向 | YES | |
position | vector3 | The agent position in world space.ワールドスペースにおけるエージェントの位置 | YES | |
scale | vector3 | The agent scale. Only the x axis value is used currently.エージェントのスケール。現在、使用されているのはX軸の値だけです。 | NO | |
selected | bool | The agent selection state.選択状態のエージェント | NO | |
up | vector3 | The agent up vector.エージェントアップベクトル | NO | |
turnAngle | vector3 | The current turn angle of the agent.エージェントの現在の回転角度 | YES | |
velocity | vector3 | The current velocity in world space.ワールドスペースにおける現在の速度 | YES | |
state | int | The current state of the agent (state machine).整数 | エージェントの現在のステート(State Machine) | NO |
animatedHf | map | (for internal use only)(内部使用のみ) | YES | |
agentType | string | The agent type name文字列 | エージェントタイプ名 | YES |
variation | string文字列 | The agent variationエージェントバリエーション | NO | |
cacheId | int | (for internal use only) | YES |
Agent type metadatas
name | type | description | internal only整数 | (内部使用のみ) | YES | |
---|---|---|---|---|---|---|
retargetingFactor | double | (内部使用のみ) | YES | |||
collectorDirections | vector4array | (内部使用のみ) | YES | |||
clothSetupOverride | 文字列 | エージェントに異なるCloth設定ファイルを提供するためのOverrideメタデータ | NO | |||
disableIk | bool | シミュレーション中は、ikとFootlockを無効にしてください。 | NO | |||
targetAgentId | 整数 | FollowAgentモジュールによって使用されるターゲットエージェントのGlobal Agent ID | NO | |||
forceClipTansition | bool | Transitionフレームを保有する必要はなく、常にエージェントをステートから外してトリガーする場合は、trueに設定します。 | NO |
Agent type metadatas
名前 | タイプ | 説明 | 内部のみ | |
---|---|---|---|---|
lowGeo | map | The low geo meshes.ロージオメッシュ | YES | |
skinGeo | map | The skin geo meshes.スキンジオメッシュ | YES | |
scaleMultiplier | double | Agent type scale multiplier.エージェントタイプのスケール乗数 | NO | |
stateMachine | string | The state machine name.文字列 | ステートマシン名 | NO |
boundingBox | box | The agent type bounding box.エージェントタイプのバウンディングボックス | YES |
Joint metadatas
name 名前 | type タイプ | description 説明 | read only読み取り専用 | |
---|---|---|---|---|
atoms_bindPoseScale | vector3 | The joint bind pose scale.ジョイントバインドポーズスケール | YES | |
atoms_bindPoseRotate | vector3 | The jointbind pose rotation ジョイントバインドポーズ回転(Euler - XYZ order) | YES | |
atoms_bindPoseTranslate | vector3 | The joint bind pose translation.ジョイントバインドポーズトランスレーション | YES | |
atoms_footHeight | double | The foot height.フットの高さ | YES | |
atoms_footIK | bool | Foot ik joint tag.フットIKのジョイントタグ | YES | |
atoms_footIkHeight | double | The foot IK height.フットIKの高さ | YES | |
atoms_footRoot | bool | Foot root joint tag.フットルートのジョイントタグ | YES | |
atoms_footOnGround | bool | Foot down joint state.フットダウンのジョイントスケール | YES | |
atoms_frameToFootDown | int | Numbers of frame to next foot down.整数 | 次のフットまでのフレーム数 | YES |
atoms_groundNormal | vector3 | The ground normal.通常のグラウンド | YES | |
jointControlMapping | map | Parent for joint controll mappin metadatas. This data is used for the animation rig retargeting feature.ジョイントコントロールmappinメタデータの親。このデータは、アニメーションリグのリターゲット機能に使用されます。 | YES | |
jointControlMappingMatrix | matrix | The offset matrix for the given joint.与えられたジョイントのオフセットマトリックス | YES | |
jointControlMappingName | name | The name of the control to retarget.リターゲット化するコントロールの名前 | YES | |
atoms_origBindPoseRotate | vector3 | The joint original bind pose rotation ジョイントオリジナルのバインドポーズの回転(Euler - XYZ order) | YES | |
atoms_origBindPoseScale | vector3 | The joint original bind pose scale.ジョイントオリジナルバインドポーズスケール | YES | |
atoms_origBindPoseTranslate | vector3 | The joint original bind pose translation.ジョイントオリジナルバインドポーズトランスレーション | YES | |
atoms_pelvisHeight | double | The pelvis height.ぺルビスの高さ(骨盤) | YES | |
atoms_pelvisLocalVelocity | vector3 | The pelvis velocity in local space.ローカルスペースにおけるぺルビスの速度 | YES | |
atoms_pelvisVelocity | vector3 | The pelvis velocity in world space.ワールドスペースにおけるぺルビスの速度 | YES | |
atoms_poleVector | vector3 | The ik pole vector. IKポールベクター | YES | |
atoms_propLocalTranslate | vector3 | Prop translation in skeleton root space. スケルトンルートスペースにおけるプロップの移動 | YES | |
atoms_propLocalRotate | vector3 | Prop rotation in skeleton root space. スケルトンルートスペースにおけるプロップの回転 | YES | |
atoms_propLocalScale | vector3 | Prop scale in skeleton root space. スケルトンルートスペースにおけるプロップのスケール | YES | |
atoms_legLength | double The leg length | レッグの長さ | YES | |
clipDirection | vector3 | クリップの方向。このメタデータは、ぺルビスルートジョイントに設定する必要があります。 | NO |
Cloth metadatas
名前 | タイプ | 説明 | 内部のみ |
---|---|---|---|
clothHideMesh | bool | レンダリング時にクロスメッシュを非表示にします。 | NO |
vertexPosition | vector3array | クロスメッシュの位置 | YES |
vertexNormal | vector3array | クロスメッシュの法線 | YES |
boundingBox | box | クロスバウンディングボックス | YES |
stackOrder | 文字列 | クロスキャッシュのスタックオーダー | YES |