Tutorial: Create your own models: Difference between revisions

From Empires Wiki
Jump to navigation Jump to search
(minor changes)
(minor changes)
Line 8: Line 8:
2. Your textures with a power of 2 saved as VTF.
2. Your textures with a power of 2 saved as VTF.


3. A [http://developer.valvesoftware.com/wiki/Qc '''QC'''] file, can be created with any texteditor like notepad.
3. A [http://developer.valvesoftware.com/wiki/Qc '''QC'''] file, can be created with any texteditor like notepad. Some model editors can create the .QC file for you, but i haven't tested it yet.


4. studiomdl.exe , install source SDK to get this file.
4. studiomdl.exe , install source SDK to get this file.
Line 18: Line 18:
Set up a folder to place your project files and materials. I used [http://developer.valvesoftware.com/wiki/VTFEdit VTFEdit] and converted the .VTF 's to TGA 's, because your model editor may don't know the VTF format. Make sure you used the same filenames (except the ending, like .TGA ). To compile the model you don't need the VTF's, but you need them for proper rendering ingame.
Set up a folder to place your project files and materials. I used [http://developer.valvesoftware.com/wiki/VTFEdit VTFEdit] and converted the .VTF 's to TGA 's, because your model editor may don't know the VTF format. Make sure you used the same filenames (except the ending, like .TGA ). To compile the model you don't need the VTF's, but you need them for proper rendering ingame.


Brushes and models use different texture shaders, and models can only use [http://developer.valvesoftware.com/wiki/VertexLitGeneric VertexLitGeneric] shaders. Each textures has an individual VMT file that contains information about the shader to use, which is always the first line. If parts of your model are invisible and you getting warnings in the console your possible not using VertexLitGeneric.
Brushes and models use different texture shaders, and models can only use [http://developer.valvesoftware.com/wiki/VertexLitGeneric VertexLitGeneric] shaders. Each texture has an individual VMT file that contains information about the shader to use, which is always the first line. If parts of your model are invisible and you getting warnings in the console your possible not using VertexLitGeneric.


=== Create your model ===
=== Create your model ===
Line 33: Line 33:
Create your model and texture all faces. '''Faces without a proper texture mapping will be ignored while compiling and won't occur in game'''. Finally save your model as SMD-file.
Create your model and texture all faces. '''Faces without a proper texture mapping will be ignored while compiling and won't occur in game'''. Finally save your model as SMD-file.


{{Note| Make sure your modeleditor created a valid SMD file. I had some difficulties with XSI Demo, which saves only 2 textures and 'forgets' all other. Also Blender SMD-plugins didn't work for me. I found Milkshape is the best solution for me, but you have to edit the generated SMD-file by hand and remove the file endings '.tga' (use Ctrl-H) .}}
{{Note| Make sure your modeleditor created a valid SMD file. I had some difficulties with XSI Demo, which saves only 2 different textures and 'forgets' all other. Also Blender SMD-plugins didn't work. I found Milkshape is the best solution for me, never had broken SMDs yet. }}





Revision as of 23:32, 24 May 2009

Home > Tutorial: Create your own models

Note
This tutorial isn't complete yet and can contain errors. Use at your own risk!

Programs / Files you'll need

1. You need at least one textured model in the SMD format.

2. Your textures with a power of 2 saved as VTF.

3. A QC file, can be created with any texteditor like notepad. Some model editors can create the .QC file for you, but i haven't tested it yet.

4. studiomdl.exe , install source SDK to get this file.

How to create your own models for Empires

Setup

Set up a folder to place your project files and materials. I used VTFEdit and converted the .VTF 's to TGA 's, because your model editor may don't know the VTF format. Make sure you used the same filenames (except the ending, like .TGA ). To compile the model you don't need the VTF's, but you need them for proper rendering ingame.

Brushes and models use different texture shaders, and models can only use VertexLitGeneric shaders. Each texture has an individual VMT file that contains information about the shader to use, which is always the first line. If parts of your model are invisible and you getting warnings in the console your possible not using VertexLitGeneric.

Create your model

You can use any model editors like

but you need to convert your model to a SMD file at the end. Try to get plugins if you don't have native SMD support in your editor.

Create your model and texture all faces. Faces without a proper texture mapping will be ignored while compiling and won't occur in game. Finally save your model as SMD-file.


Note
Make sure your modeleditor created a valid SMD file. I had some difficulties with XSI Demo, which saves only 2 different textures and 'forgets' all other. Also Blender SMD-plugins didn't work. I found Milkshape is the best solution for me, never had broken SMDs yet.


What your SMD-file should look like:

texturename1
0 101.417053 -13.837116 6.270448 -0.673222 0.446155 0.589677 0.000000 1.000000 0
0 106.823196 -11.187776 6.270448 -0.161431 0.795829 0.583607 0.000000 0.000000 0
0 101.342369 -13.836076 2.145702 -0.652646 0.757568 0.012008 1.000000 0.000000 0
texturename2
0 106.823196 -11.187776 6.270448 -0.161431 0.795829 0.583607 0.000000 1.000000 0
0 106.748520 -11.186735 2.145702 0.074252 0.997239 -0.001093 0.000000 0.000000 0
0 101.342369 -13.836076 2.145702 -0.652646 0.757568 0.012008 1.000000 0.000000 0


What your SMD-file look like if your faces have no texture:

0 101.417053 -13.837116 6.270448 -0.673222 0.446155 0.589677 0.000000 1.000000 0
0 106.823196 -11.187776 6.270448 -0.161431 0.795829 0.583607 0.000000 0.000000 0
0 101.342369 -13.836076 2.145702 -0.652646 0.757568 0.012008 1.000000 0.000000 0

0 106.823196 -11.187776 6.270448 -0.161431 0.795829 0.583607 0.000000 1.000000 0
0 106.748520 -11.186735 2.145702 0.074252 0.997239 -0.001093 0.000000 0.000000 0
0 101.342369 -13.836076 2.145702 -0.652646 0.757568 0.012008 1.000000 0.000000 0

Valve developer tutorial - Model Creation

Valve developer tutorial - How to export models

Prepare for compiling

Find studiomdl.exe, by using file search or have a look at <path to steam>\Steam\steamapps\<your steamname>\sourcesdk\bin\ep1\bin.
Note
<your steamname> is your Steam login name. (ex: bob123 , \Steam\steamapps\bob123\sourcesdk\bin\ep1\bin)
Note
<path to steam> is the path to your Steamfolder (ex: C:\Program Files (x86)\ )
Create a shortcut to studiomdl.exe.


Right-click your newly created shortcut and select Properties


Append this to the path in the Target-field:
-game <path to steam>\Steam\steamapps\SourceMods\Empires
click OK.


Now copy your smd file (my is named nf_radar.smd ) to this folder \Steam\steamapps\SourceMods ,right next to the Empires-directory.
The next step explains how to create a new file in the same folder named Empires.qc.
The Empires.qc file tells studiomdl how to handle your model. Use for example notepad to create this file. Open notepad and Copy&paste the example below, modify it, select Save As... *.* and save it as Empires.qc (make sure its not Empires.qc.txt !)


example content of Empires.qc

$modelname nf\buildings\radar\nf_radar.mdl
$cdmaterials nf\buildings
$cdmaterials nf\
$cdmaterials nf\buildings\radar\
$cdmaterials Common\Glass\
$staticprop
$scale 10.0
$body studio "nf_radar.smd"
$sequence idle "nf_radar.smd" fps 30
$collisionmodel "nf_radar.smd" {
$Mass 20
}

explanation of Empires.qc

$modelname is the path and name of your model as mdl. The model nf_radar.mdl will be placed in .\Steam\steamapps\SourceMods\Empires\nf\buildings\radar\nf_radar.mdl after compiling.

$cdmaterials is the path to your materials (VTF 's) in the .\materials folder. If you use more than 1 folder, you can use the '$cdmaterials' command again to set the remaining folders (this includes subfolders).

$scale Scales your model by this factor.

$body main-smd

$sequence smd with animation

$collisionmodel smd file with a collisionmodel

List of all QC-Commands

Compile your model

Execute your created shortcut to studiomdl. studiomdl will read the Empires.qc and compile your smdfile to mdl format and place it in the specified folder. To see the output of studiomdl.exe open the command shell and drag&drop the shotcut to it.

Links

http://developer.valvesoftware.com/wiki/Compiling_Models_Basics

http://developer.valvesoftware.com/wiki/Model_Creation_Overview

http://developer.valvesoftware.com/wiki/Exporting_a_model

http://developer.valvesoftware.com/wiki/3D_Modeling_Programs