Skip to content

Guide for asset contribution

DarkJymis777 edited this page Jul 3, 2015 · 5 revisions

This page gives details about assets and data, best practices, and explain how the engine manage them.

Models

3D models are used to draw units, projetiles, trinkets and cliffs.

Models are stored into assets/models.

Placement, orientation & scale

OpenRTS considers models in millimeters. So your marine should measure 1800 high.

OpenRTS rotates things around the origin. So your model should have its center at x=0, y=0.

OpenRTS considers the ground at z=0. Your tree should be placed between z=0 and z=5000. A plane should be between -1000 and +1000.

In OpenRTS, a map tile measures 2 meters aside and 4 meters high. Your cliff element should fit inside (x,y,z) -1000,-1000,0 and 1000,1000,4000.

There are three cliff elements, with three base orientations :

  • the orthogonal elements face east,
  • the salient elements face north/east,
  • the corner elements face north/east two.

Bones and animations

You can play an animation with an AnimationActor, specifying the animation's name and cylce to play.

You can also use model's skeleton to give the engine the localisation of model's parts. For example, to spawn flames inside the mouth of a fire-eater, or the trail of a plane, you create a bone at the source and another for the direction.

Morphing is not supported.

Format

This section lacks details and your contribution would be appreciated.

The only known format is the Ogre standard .mesh.xml. Whatever modeling tool you are using (Maya, 3DS-MAX, Blender...) you will need to translate your meshes and skeletons to XML.

You may use the OgreXMLConverter or the jMonkeyEngine SDK.

2D art

2D art are needed for particle sprites, textures, icons, GUI elements, loading and menu screens and of course, concept arts.

All arts are stored into assets/textures.

Sprites are static images or animation grid of any size and format used for particle effects like flames, debris, smoke...

OpenRTS uses textures of any size and format for the terrain. It accepts diffuse and normal maps. It doesn't know specular, bump, displacement or glow maps. The scale is given for each texture in the XML definition.

Textures for 3d assets are linked into assets' material file.

OpenRTS doesn't draw icons in the GUI for now but will need tons of them. Idem for GUI skins, cursors, portraits, etc. Your contributions will certainly motivate coders to implement this part, so feed the repository anyway !

Sounds

OpenRTS doesn't manage sound or music at this time Your contributions will certainly motivate coders to implement this part, so feed the repository anyway !