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.) Simulation Events are in fact metadatas.
This custom data can be accessed and 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.
...
name | type | description | read only |
---|---|---|---|
atomsBlendFramesAfterFootUp | int | Number of frames used for blending after the foot leaves the ground. | 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. | NO |
Agent metadatas
name | type | description | read only |
---|---|---|---|
id | int | The global id. | |
groupId | int | The local id (the id relative to this agent group). | 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 localspacelocal space. | YES |
position | vector3 | The agent position in world space. | YES |
scale | vector3 | The agent scale. Only the x axis value is used currently. | 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). | 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 |
---|---|---|---|
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 |
...
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. | YES |
atoms_footIkHeight | double | The foot IK height. | 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. | 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. | 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 |