Tutorial Empire Earth Modification Tools - EE-modders/Empire-Earth-toolbox GitHub Wiki
Authors: v.1.0 - Matthew Hastings (MJHastings#1986)
This tutorial shows how to extract game data and import to/export from Blender. This is not a tutorial for how to use Blender. To learn Blender, it is best to watch the many tutorial videos and walkthroughs on the internet.
The following is a list of the software tools required to extract and modify Empire Earth models and textures.
- Empire Earth Studio II (EESII) - This is used to extract all of the game data and to convert modified texture files back in to a format that Empire Earth can read.
- Blender - This is used to make and edit 3D models and to map 2D textures in on to 3D models.
-
GNU Image Manipulation Program (GIMP) - This is used to edit 2D textures. (Many other options are available).
This document was created while using EESII v0.2.2, Blender 2.91.0, and GIMP 2.10.22 and the instructions may go out of date.
To avoid having to constantly move around File Explorer or having to have several File Explorer windows open at once, I would recommend adding shortcuts between the modification folders and the game data folders. With this structure, you can drag files from your working folder directly to the game data folder. For example:
EE Editing
... Game Data
......... extracted_decompressed
... Modifications
...... Models
............ Models_Shortcut (shortcut to ...Empire Earth\Data\Models)
............ Model_1
.................. .cem & .blend files
............ Model_2
.................. .cem & .blend files
......... Textures
......... Texture_Shortcut (shortcut to ...Empire Earth\Data\Textures)
............ Model_1
.................. .cem & .blend files
............ Model_2
.................. .cem & .blend files
Also, have a return shortcut from the game data locations to the modification area - from Empire Earth\Data... \Models or \Textures --> EE Editing... \Models or \Textures.
There is already a Models folder in the games Data folder, but, depending on the version of Empire Earth installed, the Textures folder may have to be created manually in the games Data folder.
This section explains how to extract the games data using EESII.
- Run EESII.
- In EESII, select the Archives (SSA) tab, select the Output folder button (a dialog box will apear).
- In the dialog box, navigate to your modification area and select the folder in which you want to store the extracted game files. Select the Select Folder button.
- In File Explorer, locate the game data archive - data.ssa. (If using the GOG version, it will be something like C:\Program Files (x86)\GOG Galaxy\Games\Empire Earth Gold\Empire Earth\Data\data.ssa.)
- Drag the data.ssa file from File Explorer and drop it onto the Archives (SSA) tab. (If this has worked, you will see a list of game files in the central box; for example, civilisations\assyrian empire.civ.)
- In the Archives (SSA) tab, select the UNPACK button. (This may take several minutes; you can see the progress in the black EESII kernel window.)
- When the Done! window appears, close EESII.
This section explains how to prepare Blender for .cem files and how to import them.
CEM files are not supported by vanilla Blender, so an import/export add-on must be installed. All credit for the import/export add-on goes to zocker_160.
- Download the Blender .cem add-on zip file. (download - contact
zocker_160#5285
on Discord if you got questions or problems) - Run Blender.
- In Blender, select Edit < Preferences (a dialog box will appear) < Add-ons < Install... (a second dialog box will appear.)
- In the second dialog box, navigate to the location of the zip file and select it < select Install Add-on.
- In Blender, select File < Import < Empire Earth (.cem) (a dialog box will appear.)
- In the dialog box,
... navigate to the location of the .cem files (If you used the suggested file structure, he path to the .cem files will be C: \ ... \ EE Editing \ Game Data \ extracted_decompressed \ models) < select the desired .cem file.
... select clean whole scene (!) on the right. (This removes the default 'collection', containing a camera and a light source. If this 'collection' were not removed now, it would have to be deleted manually before export, or the export add-on to fail.
... select Import CEM
Thanks to zocker_160 and Philla_007 for taking the time to explain how everything in this section works.
- The origin of all parts must be at 0,0,0. To make sure that this is the case, when you are ready to export the model, select Object Mode < un-hide all parts < select all parts < Ctrl-A (or Object < Apply) < All Transformations.
So that the export add-on knows what is what, the Blender file must have a specific structure and naming convention, as follows:
A 'scene collection', containing...
... a 'model collection', containing ...
......... a set of 'part collections', each containing ...
............... a 'collection' named 'tag points' & one or more 'objects'.
An example of a 'model collection' name is 'M:bld_settlement_01.cem.LOD 0', which shows that:
- it is a Model
- the file is called bld_settlement_01.cem
- the Level Of Detail is high (0)
- lower number = greater detail at a certain distance from the camera.
- 0 is highest detail, 10 is lowest.
An example of a 'part collection' name is '1:Scene Root', which shows the 'part collection' number : name.
- Static objects normally have only one 'part collection'.
- Moving objects have the same number of 'part collections' as there are parts that move independently.
- The 'part collection' can have any name, but it is best to make it descriptive.
- The 'part collection' for the parent part of the model must be numbered 1.
- In many models, after the parent, you have the child parts, such as turrets, wheels, propellers, and a few others.
- Like the parent part, every child part must have the correct location, scale, and rotation; they must also have the 'tag points' collection.
Turrets:
- 2:turret_1 is usually used by tanks and boats.
- If you have more than one turret, they will have sequential numbers and unique names:
- 3:turret_2 || 4:turret_3 || 5:turret_4 ...
Propellers:
- 2:orbital_ccw_450_1 is usually used by aircraft and buildings (the RADAR Center's rotating antenna dish, for example).
- 'ccw' in the name means counter-clockwise rotation; 'cw' would mean clockwise rotation.
- The number represents the speed of the rotation (it is nor r.p.m. ... we still haven't figured how is it measured ... just that a higher number gives a faster rotation speed).
- If you have more than one propeller, they will have sequential numbers and unique names:
- 3:orbital_ccw_450_2 || 4:orbital_cw_750_3
Wheels:
-
2:wheel - wheels have sequential numbers, like propellers and Turrets, but do not have unique names.
- 3:wheel || 4:wheel ...
- A wheel's location, rotation, and scale must be correct in order to work.
- Wheels use only one fixed position.
See the full Child Model Tutorial (WIP)
tag points are the locations on the model where certain things happen in the game. For example:
- Impact Point - the point where hit effects are shown.
- Attack Point - the point on the object where it is targetted (for example, if the attack point is on the turret of a tank, enemies will shoot at the turret).
- Weapon Mount - the point from where object fires it's weapon.
- Explosion - the point where the object explodes on being destroyed.
- Light - a point where the object has light (some numbers represent time of blinking and some represent color of light).
- Water Ripple - the point where water surface effects are shown, such as ripples and ship wakes.
See the full list of Tag Points