Modelling for Game Engines

Hello Everyone :slight_smile:

I want to know about the way we work on assets for games. That means like I have been modeling some models for about 24 days from guns to other things (about 95 models till now) for our game. But I am really clue less that how to make these models for game engine ready. That means from Modeling to Texturing to Rigging to Animation. Since only 5 or 7 models need to Rig and Animate but need to know the work flow or the method. What is necessary to make a model like compactable with present game engines.

Is there any video tutorial on this or something like that, if yes please let me know.

What I want to know are some basic things , like do we have to join the parts of the models, should there be only one texture image and all the important things I should do before importing them to any game engine. All the models are inorganic. There is only hand model as organic for FPS game.

I am also looking forward to sell these models if I can on the online sites and forums. The price will be very cheap because I know that there are many peoples want to make game but don’t have very much money with them. :slight_smile:

If you need any other information about me or anything so that you can help me in more good way than please let me know. If you want to know the list what I have made till now and what else I will be working own please let me know.

Please don’t mind my language because English is not my primary language.

Thanks in advanced… I am happy to join this Nice and Good Forum.

Bye bye take care…:spin:

For game modeling, some steps are necessary to take up.

  1. You need to be good at modeling stuff, with lowest possible polygons.
  2. Model Details are handled via Textures , so need to be proficient at using PS/GImp.
  3. Normal Maps, Bump Maps, Spec Maps are the way to get better results in Game Engines.
  4. Consistency in Textures (Color Grading, Type of Material etc) is requried.
  5. Meshes/Models should be more generic and modular in nature, so that you can reuse them wherever and whenever possible.

Most Importantly, you got to know about the Game Engine, for which you want to create your models. Currently 3 Engines (free) are most popular, Cryengine, Unity3d & UDK. Both Cryengine & Unity3d can work with any type of real world measurement system (Very Important in Game World Design) but UDK is bit harsh and wants the developers to create models in power of two (e.g 64, 128,256 so on) and 01 UDK unit is very small to be visible in Editor, so a lot of work around and scaling is required. Also Exporters for UDK are not up to par (last time i checked) , whereas its a win win situation in Cyrengine & Unity3d.

Check out these links

http://wiki.polycount.com/3DTutorials/Modeling%20High-Low%20Poly%20Models%20for%20Next%20Gen%20Games?highlight=(\bCategoryCharacterTexturing\b)

http://www.3dtotal.com/index_tutorial_detailed.php?id=1107&catDisplay=1&roPos=1&page=1#.UMyzyqzBLRA

http://www.3dtotal.com/index_tutorial_detailed.php?id=573#.UMyzzqzBLRI

http://www.thiagoklafke.com/modularenvironments.html

http://www.cgsociety.org/index.php/CGSFeatures/CGSFeatureSpecial/the_top_ten_tips_of_texturing

A very very warm thanks to you Dukejib :smiley:

It is a lot great help for me, like I can never find those such good tutorials , I have just seen them , I will read them with good mind after some time. I really appreciate your help and share. Yes I am targeting UDK and Unity 3D both and maybe Cryengine too.

I am also confused like do we have to join the model at last and is it necessary to keep the model in between the grid before exporting it into FBX or OBJ. I am using blender 2.63 version.

Thanks I will call you all if I have more questions :smiley:

Ok, here are the numbers with which you need to customize your grid system.

1 Unreal Unit = 2 Cm

Open Properties Panel “N” go to “Display” settings and set your grid like this

Scale = 64
Subdivision = 8

This gives you a grid similar to UDK.

You can utilize the same system of modeling in Unity as well, since it doesn’t complain :slight_smile:

I have so many questions, but I can’t understand that I ask them now or what. :frowning:

Thanks once again Dukejib, I really like your help. Also hoping that other members can answer my questions so that you , I can get more help in less time. :smiley:

Thanks again

EDITED :- Hey People please take some interest and help me, I really need some more help on this so please please please Help me with some more stuff and with some more links and tips. :D.

Thanks again

You want to know everything you can about texture baking. First here are some keywords.

(i) uv mapping texture baking

//------------------------------------------------------------------------------------------------------------------------------

Texture baking is the art of creating a texture for your model that matches up with your model’s vertices. I will explain how to do this in two stages so that you will not have to muck around with multiple layers with low and high resolution models. In 5 minutes you should have a model UV-mapped(texture co-ordinates) exported and ready to load into a C/C++, OpenGL, open-source program that you will download for yourself, I will give you the necessary keywords to find yourself one. In 10 mins. you will have a second model built that is based on the first, but much more high resolution. You are going to use this second model to make your primary texture map, and if you are ambitious you will also use this high resolution model to build your second texture map which is called a normal map. This first layer will be the colors of your model. To start, this texture map will be black and white, and it will be based on the extra detail gained by the high-resolution model, then applied to the low-resolution model to give it the illusion of extra detail. You will use the ‘ambient occlusion’ texture baking feature of Blender to make this first texture. I will explain the point further as we go.

//------------------------------------------------------------------------------------------------------------------------------

In Blender,
(i)make any basic shape, I would suggest a sphere. With you cursor over the viewport, hit -> ‘t’, this will open and close the 'tool-shelf. Apply smoothing.

//-------------------------------------

(ii)Next, make sure to be in ‘edit mode’

//-------------------------------------

(iii)With you cursor over the viewport, press the ‘u’ button, this will open a short dialogue. This dialogue will give you basic options for building texture co-ordinates for your model. Choose ‘Smart UV Project’. This is just the easiest setup, not necessarily the best option, although with a few extra Blender features this method becomes excellent. We’ll skip those. If you are interested in this right away then I would suggest the “Banana Man” video tutorial series posted on the Buzz 3D website. This page, once you find, it will show you how to use the Blender interface, build a simple game model and how to texture map it properly.

//------------------------------------------------------------------------------------------------------------------------------

(iv)I will now assume that you have only one Viewport, lets make a second one. Find the little diagonal lines at the top right of your viewport. Click and drag it towards the center of your Viewport, this will give you a second Viewport. Locate the icon at the bottom left of this new Viewport and change the Viewport to UV/Image Editor. You should now see a flat representation of your model. These are the texture map coordinates(UV map). By default, you will not be able to see the UV map coordinates unless you have the model selected but there is a little button on the horizontal bar that makes the UV map visible at all times. The icon for this feature is a little rectangle with two highlighted orange dots and a little mouse cursor arrow. These points will all match up with your 3D model but in 2D space. UV is like the X,Y,Z axis, without the Z. U is left and right, V is up and down. This is how your texture map will apply to your model. It is a flattened version of your model.

//------------------------------------------------------------------------------------------------------------------------------

(v) Click "New’ then the ‘New Image’ dialogue will open. Give it a meaningful name, click ‘OK’.

//------------------------------------------------------------------------------------------------------------------------------

(vi) Export your model as both .3DS AND .OBJ. One for both formats.

This will be important because the free, open-source model loader that you find may not like the settings that Blender has activated by default. This will depend on how the model loader you choose is coded! This is why we are trying both. The idea here is to find you a small project that loads a model. Here are some keywords that will help you locate a small source code projects for model loaders. Grab them all. You are going to have to find something that is coded using a style that you are comfortable with. You will also have to choose a compiler. Not every project will work “out-of-the-box” with your compiler of choice. This is why you are grabbing them all. You have to find one that is not going to have error messages for the particular compiler that you choose. You do not have to worry about being discouraged by compiler error messages at this stage of the game.

//----------------------------------------------------------------------------------------------------------------------------

-> openGL C/C++ .obj .3ds model loader tutorial

//----------------------------------------------------------------------------------------------------------------------------

Maybe one of them was built using Visual Studios, maybe another built on a mingW, Linux compiler, and perhaps this Linux compiler is ported to Windows and the project was compiled on Windows, two such examples would be, Code::Blocks or Dev-C++. I suggest you use something that is cross-platform, don’t just think about this year, think about future expansion. If you start installing multiple operating systems on your machine(s) you might have to learn to use a second compiler unless you make the appropriate choice. I’ve been using Dev-C++ 4.9.9.2 for somewhere in the neighbourhood of 7 years. It builds perfectly fine code under Windows and Linux as well as MacOS X using the Wine Emulator, the only problem I have with it’s cross-platformness is that under the Mac Wine Emulator, the GUI is buggy. Perhaps I will try version 5.

Now if you find a model loader that has a pre-compiled .exe program already in the project folder, then, for now, you can skip all of the compiler difficulties. Simply erase or, back-up the provided model and texture files then re-name your model and textures to the names of the two files that came with the loader. Activate the .exe and it should load and display your model and texture map with plain-old, boring, openGL 1.1 ish, lighting, or perhaps no lighting and simply just colored with your texture map. Now you have proof of concept, and if you get this far I will be willing to show you how add half a dozen lines of code that will spit out the basic info necessary for a game model that is in a super easy, clean format that runs much, much faster, and you will now have the option, with this ‘Vertex Array’ format, to load your models into any game programming tutorial that you find. This will be important, whether or not, you choose to use a pre-made game engine, or if you choose to build a game engine of your own from the hundreds of game engine components you will find using the key words listed throughout this post.