[TUTORIAL] Blender - Getting a simple ship in game

This is the long-awaited Blender equivalent to my first 3DSMax tutorial:

It relies on the fantastic work done by @DKesserich and his YouTube tutorial:

Tools used in this tutorial:

  1. Blender (version 2.76b to be precise)
  1. HODOR

+++ STEP 1 - IMPORT (optional) +++

Download the Kadeshi Swarmer example to your hard drive. Import the .DAE file using File > Import > HWRM DAE. This is what you will see:

The most important things to look at first are “LOD0”, which is the visual model (what you will see in game) and “Collision mesh”, which is the physical model (this defines where missiles “hit” the ship, etc.). LOD = Level Of Detail, which is a hangover from older times and seems not to be used in HWRM, so LOD1-3 are not needed for this example.

If you want to see the textures you will need to change to “material” viewport shading and add a lamp or some other light:

The second important things to look at are the crosses (dummies/empties/nodes). The dummies contain information like the positions of weapons, lights and engines.

The model also has a hierarchy, like a family tree, in which some items are linked to others. It is vital that this is correct, or the model will not work. Have a look at the tree on the right hand side. This is what you will see.


+++ STEP 2 - TEST (optional) +++

We are going to create a new ship with our own ship model.

But first if you want to you can test the example file by exporting the file as a DAE (name of your choice). Skip forward to step 5 to see how to create a HOD from the DAE file and to set up the HWRM mod shortcut.

If you launch the game using your shortcut and build a scout, you should see your new Kushan Scout, which is actually a Swarmer!


+++ STEP 3 - MODELLING +++

Create a new file and make a ship by modelling it in Blender or by importing a model you have made in some other 3d modelling software. My ship is a box, yours could be more interesting(!)

You now need to use the “HW Joint Tools” tab to:

  1. Name the mesh
  2. Convert it to a “ship”
  3. Create a collision mesh as a copy of your ship mesh

The collision mesh will be on top of the main ship, you may want to move it to the side by selecting the ROOT_COL dummy and moving it. Note that the tree is now populated with a hierarchy of dummies and meshes, like the imported Kadeshi Swarmer file was.

This will not affect the rigging.

We will now create some dummies for the engine and weapons. Use the HWR Joint Tools to do this, and move the objects to their desired location and rotation. Take care to move the root node of each item, because relative positions matter:

Finally, the Kushan scout requires a “marker” node for an effect. This node must be created by hand (or just duplicate one of the nodes used for the engine or weapons) and it must be a child of ROOT_LOD[0]. It must be named MARK[SpeedBurst]:


+++ STEP 4 - MATERIALS +++

Now we need to create some materials for the ship. This is done as follows and must follow a strict naming convention.

First, create a new material, name it and choose “phong”:

Second, create a new texture, open the Kadeshi Swarmer “DIFF” image:

The tree should now look like this when fully expanded:


To see this texture applied:

  1. Add a sun lamp or other light source to the scene (remember to delete it before exporting)
  2. Select your ship and press tab (for edit mode)
  3. Select all the faces
  4. Press “u”
  5. Select “unwrap”

Now we need the engine textures, which are stored separately. Create a new material in the same way as before, now named MAT[New_ShipThruster]_SHD[thruster] and apply/assign it to the faces that make up the engine area of your ship as follows:


+++ STEP 5 - EXPORT +++

Now we can export the model and try it out in the game!

Export using File > Export > HWRM Collada

If you didn’t do step 2, you now need to create a script for HODOR, which will control the transfer from DAE to HOD (which is the file used by the game). Paste the following into a text editor and save it as a “.hodor” file:

= -$HWRM_BASE=C:\Program Files (x86)\Steam\steamapps
= -$SHIP_NAME=New_Ship
= -$HOD_SAVE_OPTS=ForceScars FilterScars=thruster,bay
= -$CONVERT_IN=pathtoyourdaefile
= -$CONVERT_OUT=C:\Program Files (x86)\Steam\steamapps\common\Homeworld\HomeworldRM\Data\ship\kus_scout\kus_scout.HOD
= -do=convert
= -action=null

The script tells HODOR to take your DAE file and create a HOD file in the appropriate area for the Kushan Scout within the HWR directories. Note: Force8888 produces a HOD file quickly, but it will be a big HOD file. When you are ready to produce your final HOD, change this parameter to ForceMAP, which will compress the texture files and produce a HOD with a more manageable file size

Next open a command window where HODOR is installed (if you subscribed to the example, you should have HODOR now) and type the following:

HODOR.exe -script=pathtoyourhodorscript

In order to run the game and see your modded scout, you will need to run the game with a command line option. To do this create a shortcut to HomeworldRM.exe and add the -overrideBigFile tag to the end. Mine looks like this:

"C:\Program Files (x86)\Steam\steamapps\common\Homeworld\HomeworldRM\Bin\Release\HomeworldRM.exe" -overrideBigFile -dlccampaign HW2Campaign.big -campaign Ascension -moviepath DataHW2Campaign -mod compatibility.big

If you launch the game using your shortcut and build a scout, you should see your new Kushan Scout!



This should be added to the tutorials master list, shouldn’t it?

Or maybe here too:

It’s already on the list…

Before the Rosetta Stone, archaeologists could not read hieroglyphs. Before this tutorial, I could not use Blender.


And here is how to do badges…

First, you need to cut some polygons in a square (because badges are square…):


Next, you need to create a material with the badge shader (don’t forget to set it to “phong” as before). The new material will need the same “DIFF” texture as the main ship material (you can just select the same texture from the drop-down list, no need to recreate it:

Then, select the ship model itself and take it into edit mode (tab). Add a new UV map for the badge:


Now, still in edit mode, select the badge polygons and “assign” them to the new badge material. Do not touch the main UV map (which is called “UVMap” by default), but modfiy the UV mapping of the new UV map (I renamed mine “UVMap_badge” for clarity) so that the polygons fill the square grid:

Now export your ship to DAE (you may get an error about textures and “NoneType” - if this happens, save and reload, then re-export and it should work…):

My badge is not too obvious because the textures are a mess, but you get the picture! You can have multiple badges all using the same badge material.