Of all the stuff that can be modded in this game, ships have been addressed the least of all. There are a few ship mods out there, but not many.
In the past I've done some modeling for Freelancer. And although it's quite some time ago, the enthusiasm for modeling is still there. After all, there is not much better than designing something with your own creativity and then later being able to actually see it and fly it in a game.
Recently I've noticed that there are a couple of other guys who either have experience in modeling, or like to try their hands on it.
So I've come up with the idea of creating this community project with the goal of bringing both professional modelers as well as enthusiasts together which will hopefully help everyone involved in learning the skills of eventually putting a ship of their own design in game.
Everyone with an interest in modeling sips is welcome to take part in the project. The purpose of this thread is to share ideas, but most of all to come together and discuss [strike]problems[/strike] challenges (which will definitely be there), talk about different techniques etc, but most of all, ask questions. Don't be afraid that your question might be seen as 'noobish' by others - they will not. Everyone needs to learn and even the most seasoned modelers have had to ask questions to get where they are now. The idea here is that we can learn from each other. I myself certainly don't know everything about modeling, but only what I have learned for Freelancer. Which is probably only a tiny percentage of what can be learned.
Although the process starts with modeling a ship from scratch, that may be a bit too difficult to start out with. Besides, you can find really helpful tutorials on the net, both in writing as well as on Youtube if you do a quick search for them. Most people will probably take this approach and practice in their own time.
So I thought it would be wise to start out with discussing how we get a ship properly in the game. There are quite a lot of ins and outs to discuss here.
So I've done some looking around and managed to get my hands on a couple of (royalty free) models. Working with an already modeled ship will save us a lot of time and frustration in the beginning, while at the same time they provide for excellent practice if you want to see how a model is made up and how you can use the controls of your 3D modeling program to change it.
Here they are (download links at the bottom of this post):
The 'SX3', 6466 polys:
The 'SX1', 1526 polys:
The 'HF2', 905 polys:
The 'Gryphon', 55.812 polys (woooooot!):
The 'Feisar', 889 polys:
Although the game could probably deal with up to 32.000 polys per mesh, this will probably stress out most computers. The reason for this is that each model needs to be rendered by the game (and your computer) in order to see it. The more polys a model has, the more resources this will take. If you are flying around in space and you have let's say 10 ships with over 20.000 polys each also flying around on your screen, you need a pretty good computer to deal with all that. So when it comes to that, the less polys, the better is basically what it comes down to. However, maintaining a max poly limit of around 2000 per mesh / model should be a very save limit for most computers. You could probably go as high as 10.000 polys per mesh, depending on your computer specs.
From the ships shown above, the Gryphon is way beyond the save limit for polycount, and I really just listed it because it looks awesome (maybe not in the screenshot, but certainly in a 3D program) and it provides for a really good example to see how a high poly model is put together. For EM however, it has no real practical use.
There are three ships that lend themselves perfectly for EM because of their relatively low polycount: The SX1, HF2 and Feisar. I would recommend these models to work with. The SX3 looks stunning as well, but its polycount may be a bit too high for some players. Nevertheless you could pick it up to play around with it.
What I was planning to do to start with, is pick one of the 3 suitable models, and put them in game. This may sound simple (and like with all other things, it probably is when you know how it's done and what to pay attention to), but there are a few challenges in the process.
So what do we need for this to succeed:
- First of all, the CustomKit provided with this game. You can download it >>here<<.
We need the customkit to check how we should export files the right way, and how to name them correctly. - A 3D modeling program, such as 3dsMax, Blender, Lightwave, Cinema4D, etc.
Obviously, we will need a program like this to design or edit the ship mesh.
Most of the programs I mentioned are all professional (and excessively expensive!) programs, but there are also free ones that will do what we need. Do a search on the net and you will find it.
Blender is open-source and 100% free. It is also a very popular 3d modeling program. You can download it >>here<<.
Autodesk, the producer of (among others) 3dsMax, offers student versions of his programs. They are free to use and have no limitations but leave a watermark if you render the model. Besides that it will do the same as the normal (expensive) 3dsMax. you can download it >>here<<. - A graphic design program, such as Photoshop, Paint.NET, Gimp.
We need a program like this to design or edit the texture of the ship.
As most of you will know, Photoshop is also extremely expensive, but there are a lot of good graphic design programs out there such as Gimp and Paint.NET. the best alternative to Photoshop is probably Gimp, which is open-source and free. It can do the same and arguably even more than Photoshop. You can download it >>here<<. - Vice has made a post listing a collection of very useful programs needed to mod files. As far as I know, all the programs he has listed are free to use. You can find the topic >>here<<.
- In addition, I would like to recommend Milkshape3D. It's hard to call it a full 3d modeling program. It is a bit of a buggy program though. For example, sometimes you have to re-assign materials even though you saved it properly, or it may randomly flip a model around its axis when you export it. It can come quite in handy sometimes, but nevertheless I recommend using it only for scaling / orientating models. Exporting the models into their final DirectX format is best done by one of the other programs using a proper exporter.
You can download Milkshape3D for free >>here<<.
Personally I use 3dsMax for modeling, Gimp for graphics work (designing textures and maps) and have Milkshape3D on the side for small chores, so I will be able to answer most questions related to those programs.
Since I'm a big supporter of open-source programs however, I will also look into Blender in the time to come.
And here are the download links for the ship models. I have provided all models in .OBJ format, which as far as I know is the most commonly used file format for 3d models, and supported by most if not all 3d modeling programs. Along with the .obj file comes a .mtl file. It holds the maps and textures for the model. You don't need to actually use this; the 3d program you'll be working with needs this when it imports the .obj file to project the textures on to the model.
If anyone is experiencing issues with the download files linked below, please let me know about it.
- >>Download the SX3 ship model<<
- >>Download the SX1 ship model<<
- >>Download the HF2 ship model<<
- >>Download the Gryphon ship model<<
- >>Download the Feisar ship model<<
The SX3 model has been resized properly to fit the other ships in the game for the upcoming expansion, where all of the ships are a bit larger than they are now. I have done this to save you some work in rescaling and provide for a size sample for when the expansion is released. It is however still a bit too large for the current version of EM, so if you want to use it in the current game, you will need to scale it down a bit still. You can use the 'frame40-SampleMesh' from the customkit for this.
What do we need to do to get a ship model in game:
- Import it into your 3d modeling program.
- Change the model as you see fit, or just run with it the way it comes.
- Resize it to a proper size for EM.
- Export it as a DirectX (.X) file. When doing this, pay attention to the following options:
- Export as ASCII/text (not binary).
- Include UV mapping data (can also be referred to as 'export textures' or similar).
- Include normals. If you don't include normals you will probably not see a texture in game.
- Make sure you export the model as a single mesh. If you get an error while loading the game that says something like 'you need to connect limbs', or words of similar meaning, you know that this has probably gone wrong.
- Create a good texture for the ship, edit the one it comes with or just use it as is.
Note that texture maps need to be saved as .DDS files, using the DXT5 compression method. - Create additional specular, normal and emissive maps for the ship, or use the ones it comes with.
- Assign the proper names to each file and apply the correct compression methods.
Everyone who would like to have a crack at this, please feel free to join the party. If you run into any issues - ask away.
And don't forget to post your screenshots when you get your model in game!
Good luck!
~ Viper.
[Edited on 11-15-2012 by Viper]