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 "read 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 | Tag the clip as loopable.クリップにループ可能なタグを付与します。 | NO | |
atomsLoopStart | int | The start frame of the clip.整数 | クリップの開始フレーム | NO |
atomsLoopEnd | int | The end frame of the clip.整数 | クリップの終了フレーム | NO |
atomsNumBlendFrames | int | The number of frames used for bleding.整数 | bledingに使用されるフレーム数 | NO |
Agent metadatas
名前 |
---|
タイプ |
---|
説明 |
---|
読み取り専用 |
---|
id |
整数 | グローバルID | YES |
groupId |
整数 | ローカルID(このエージェントグループに対する相対ID) | YES |
groupName |
文字列 | ローカル名 | YES |
direction | vector3 |
エージェントはワールドスペースにおける方向を目標とします。 | NO |
frameRate | double |
エージェントアニメーションの再生に使用されるフレームレート | NO |
localDirection | vector3 |
ローカルスペースにおけるエージェントの方向 | YES |
position | vector3 |
ワールドスペースにおけるエージェントの位置 | YES |
scale | vector3 |
エージェントのスケール。現在、使用されているのはX軸の値だけです。 | NO |
selected | bool |
選択状態のエージェント | NO |
up | vector3 |
エージェントアップベクトル | NO |
turnAngle | vector3 |
エージェントの現在の回転角度 | YES |
velocity | vector3 |
ワールドスペースにおける現在の速度 | YES |
state |
整数 | エージェントの現在のステート(State Machine) | NO |
animatedHf | map |
(内部使用のみ) | YES |
agentType |
文字列 | エージェントタイプ名 | YES |
variation |
文字列 |
エージェントバリエーション | NO |
cacheId |
整数 | (内部使用のみ) | 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 |
ロージオメッシュ | YES |
skinGeo | map |
スキンジオメッシュ | YES |
scaleMultiplier | double |
エージェントタイプのスケール乗数 | NO |
stateMachine |
文字列 | ステートマシン名 | NO |
boundingBox | box |
エージェントタイプのバウンディングボックス | YES |
Joint metadatas
名前 |
---|
タイプ |
---|
説明 |
---|
読み取り専用 | |
---|---|
atoms_bindPoseScale | vector3 |
ジョイントバインドポーズスケール | YES |
atoms_bindPoseRotate | vector3 |
ジョイントバインドポーズ回転(Euler - XYZ order) | YES |
atoms_bindPoseTranslate | vector3 |
ジョイントバインドポーズトランスレーション | YES |
atoms_footHeight | double |
フットの高さ | YES |
atoms_footIK | bool |
フットIKのジョイントタグ | YES |
atoms_footIkHeight | double |
フットIKの高さ | YES |
atoms_footRoot | bool |
フットルートのジョイントタグ | YES |
atoms_footOnGround | bool |
フットダウンのジョイントスケール | YES |
atoms_frameToFootDown |
整数 | 次のフットまでのフレーム数 | YES |
atoms_groundNormal | vector3 |
通常のグラウンド | YES |
jointControlMapping | map |
ジョイントコントロールmappinメタデータの親。このデータは、アニメーションリグのリターゲット機能に使用されます。 | YES |
jointControlMappingMatrix | matrix |
与えられたジョイントのオフセットマトリックス | YES |
jointControlMappingName | name |
リターゲット化するコントロールの名前 | YES |
atoms_origBindPoseRotate | vector3 |
ジョイントオリジナルのバインドポーズの回転(Euler - XYZ order) | YES |
atoms_origBindPoseScale | vector3 |
ジョイントオリジナルバインドポーズスケール | YES |
atoms_origBindPoseTranslate | vector3 |
ジョイントオリジナルバインドポーズトランスレーション | YES |
atoms_pelvisHeight | double |
ぺルビスの高さ(骨盤) | YES |
atoms_pelvisLocalVelocity | vector3 |
ローカルスペースにおけるぺルビスの速度 | YES |
atoms_pelvisVelocity | vector3 |
ワールドスペースにおけるぺルビスの速度 | YES |
atoms_poleVector | vector3 |
IKポールベクター | YES |
atoms_propLocalTranslate | vector3 |
スケルトンルートスペースにおけるプロップの移動 | YES |
atoms_propLocalRotate | vector3 |
スケルトンルートスペースにおけるプロップの回転 | YES |
atoms_propLocalScale | vector3 |
スケルトンルートスペースにおけるプロップのスケール | YES |
atoms_legLength | double |
レッグの長さ | YES |
clipDirection | vector3 |
クリップの方向。このメタデータは、ぺルビスルートジョイントに設定する必要があります。 | NO |
Cloth metadatas
名前 |
---|
タイプ |
---|
説明 |
---|
内部のみ | |
---|---|
clothHideMesh | bool |
レンダリング時にクロスメッシュを非表示にします。 | NO |
vertexPosition | vector3array |
クロスメッシュの位置 | YES |
vertexNormal | vector3array |
クロスメッシュの法線 | YES |
boundingBox | box |
クロスバウンディングボックス | YES |
stackOrder |
文字列 | クロスキャッシュのスタックオーダー | YES |