A Cal3d viewer/editor (from now called a Entity Composer) can be seen as both a standalone tool and as a steppingstone for the beforementioned character generator. Possibly based on the existing Cal3d miniviewer sourcecode, the Entity Composer requires the addition of a GUI and extra functionality. The extra functionalities could be added stepwise:

  1. Start with normal viewer but add LOAD, SAVE and SAVE AS .cal files through menu browsing. Also add a refresh-button to reload all files linked within the .cal file. (Much) Later add a PUBLISH option to upload the new character to a media server
  2. Add the option to start new .cal file and add / edit names and locations of Cal3d files. Also add option to edit character scale and browse/add texture/material overwrite data (as done in sear). Bounding box size readout would be useful in order to set the scale correctly.
  3. Add the option to define animations per action by mixing and overlaying multiple animations. Note that Sear does not have this functionality yet.
  4. Add the option to attach rigid meshes (.3ds) to the character or to define rigid mesh attachment points and orientations. This would involve loading a .3ds mesh/dummy mesh, transforming the mesh to the correct position relative to the character, and selecting (by using the mouse) the bone to which the rigid mesh will be attached. Note that Sear does not support attached rigid meshes yet.
  5. In some ways linked to the previous entry, a mode for viewing and editing rigid meshes (.3ds/.obj) could also be rather useful. Sear loads rigid meshes from a script file by object name. the script defines mesh and redefines the textures used by the mesh. A similar and coordinated approach would be useful to follow.
  6. Finally, an option to, based on a script, over time load and view different characters and meshes would be useful for showing our stuff at public occasions. This feature might be built in on an early stage.

Entity Media Description

The Entity Media Description is the file format in which the details of a composed entity are stored. It may contain the following data (currently required items are in bold):