MD2 files exporteren

 

In deze tutorial leer je hoe je MD2 files met animaties moet exporteren.

 

 

Milkshape 3D

 

Er zijn veel 3Dmodelprogramma’s maar de beste voor beginners én voor programmeurs, is toch MilkShape 3D (www.swissquake.ch/chumbalum-soft/). Dat komt onderandere door de simpele interface en de grote aantal 3dfiles het support. Ook kun je animaties maken.

In deze tutorial gebruik ik MS3D om m’n MD2 file te exporteren.

 

De MD2-file en de qc-file

 

De MD2-file is de fileformat die gebruikt werd door Quake II. Het is al tamelijk oud, maar voor programmeurs en modellers wordt het nog veel gebruikt. Veel stappen over naar MD3, maar dat is een fileformat die een tikkeltje ingewikkelder is.

Het verschil met de andere fileformats, is dat de MD2 verschillende animaties m.b.v. namen kan sorteren. Ook kun je zelf een MD2-file configureren met een qc-file (staat waarschijnlijk voor quake controls). Interessant is, dat MS3D de MD2-file volgens jouw eigen qc-file geanimeert! (zonder qc-file export MS3D alleen de animatie, zonder “sequences”.)

Er zijn wel wat mindere punten, je kan namelijk geen materials. Toch is dit de beste fileformat voor een beginnende developer. Scroll naar “Maximums” om de beperkingen te zien.

 

Exporteren met een qc-file

 

Eerst regel je een qc-file, deze wordt gelezen door MS3D als je het Exporteert. Als je daarna een MD2-file load in je engine, zal hij makkelijker worden ge-animeerd: Je krijgt sequences. Een sequence is eigenlijk een scene, je hebt een scene voor verdedigen, aanvallen, doodgaan of stilstaan. Wat voor sequences je wil, ligt totaal aan jou én je qc-file. Je kunt de standaard qc-file downloaden bij id-Software. Dit is de file die Quake II gebruikt.  Of je kan ook zelf een qc-file schrijven.

Hier is een voorbeel van een qc-file:

 

// qc-file:
$modelname tris.md2     // modelfilenaam
$origin 0.0 0.0 0.0

// skins
$skinwidth 256          // skinwidth
$skinheight 256         // skinheight
$skin skin.pcx          // skinfilenaam

// sequences
$sequence idle 1 10     // sequence “idle” begin 1 end 10

$sequence run 11 23     // sequence “run” begin 11 end 23

 

Het begint met de basic stuff, modelname en origin. De origin is altijd hetzelfde, tenzij je dat anders wil, maar de skins zijn wel belangrijk.

Kun je je die skins herinneren? Die skins waar alle textures van een karakter in één texturefile zitten? Dat zijn skins. Ze zijn meestal vierkant dus “skinwidth==skinheight”.

De skinfile hoeft niet een PCX file te zijn, mag wel, maar hoeft niet. Het kan ook BMP of PNG zijn, whatever you like. Maar je engine moet natuurlijk wel de texture kunnen loaden (D3DXCreateTextureFromFile kan de meeste files wel aan).

Verder met sequences, ik heb hier 2 neergezet, maar er kunnen wel meer in. De nummers erachter zijn de nummers van de frames. Als je animeert heb je een soort frame-balk onderaan. Deze is nodig om te kijken waar een sequence begint/eindigt. Er is wel een maximum aantal frames, zie “Maximums”.

 

Exporteren met MilkShape 3D (MS3D)

 

Als je je qc-file klaar hebt, en ook je model hebt gemodeld, moet je je model animeren.

Dit doe je volgens je qc-file, natuurlijk. Als je daarmee klaar bent kun je gaan exporteren.

 

1)  Noem je qc-file “md2.qc”.

2)     Zet je qc-file in de map X (voorbeeld).

3)     Ga naar MS3D en klik op “File->Export->Quake2 MD2…”.

4)     Een prompt zal je vragen waar je je MD2-file wil hebben, klik naar DEZELFDE MAP als die van je
qc-file. Anders zal MS3D de zeer belangrijke sequences niet vinden.

5)     Klik op Opslaan en klaar!

 

Nu heb je een volledig werkende MD2-file met de sequences die JIJ hebt gemaakt.

 

Maximums

 

Natuurlijk zijn er wel beperkingen aan de MD2-file:

 

* Triangles: 4096            // maximum polygonfaces(met 3 vertices)

* Vertices: 2048             // maximum vertices

* Texture Coordinates: 2048  // maximum vertices(eigenlijk)

* Frames: 512                // maximum aantal animatie-frames

* Skins: 32                  // maximum aantal texturefiles

 

Als deze beperkingen teveel zijn, stap dan over naar de MD3-file, als je die aan kan tenminste…

 

Voorbeeld

 

Ik heb zelf geen tijd om een voorbeeld MD2-file te modellen, maar je kan altijd naar www.planetquake.com gaan en daar zoeken.

Die models zijn gemodeled de standaard qc-file, te vinden op het Net, zoek naar “defs.qc” of “weapons.qc”.

 

See ya nextime, JointJunkie @ vampire-studios.tk (geen emailaddres, duh)