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.
The available Metadata types are: String, Int, Double, Bool, Euler, Vector3, Vector4, Quaternion, Matrix, Box3, Curve and Mesh.
There's also an array version type for all these metadatas.
The most powerful metadata is the MapMetadata, a map container for mixed type of metadata.
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
Joint metadatas
name | type | description |
---|---|---|
atoms_bindPoseScale | vector3 | The bind scale |
atoms_bindPoseRotate | ||
atoms_bindPoseTranslate | ||
atoms_footHeight | ||
atoms_footIK | ||
atoms_footRoot | ||
atoms_footOnGround | ||
atoms_frameToFootDown | ||
atoms_groundNormal | ||
jointControlMapping | ||
jointControlMappingMatrix | ||
jointControlMappingName | ||
atoms_origBindPoseRotate | ||
atoms_origBindPoseScale | ||
atoms_origBindPoseTranslate | ||
atoms_pelvisHeight | ||
atoms_pelvisLocalVelocity | ||
atoms_pelvisVelocity | ||
atoms_poleVector |