Page 1 of 6

Making a Quake MDL in Blender: for dummies, NOT TOTAL MORONS

Posted: Sat Oct 25, 2008 7:00 am
by leileilol
Note that this thread applies to Blender 2.4x AND NOT THE CURRENT 2.6X BUILDS

Image
OK! Here's a tutorial for those who think that crappy crippled shareware QME program is the only solutionwell I got news for youIT'S FREAKING NOT THIS ISN'T 1997-2007 ANYMORE the future is now

This is NOT a tutorial on HOW TO MODEL!!! You're on your own for that one.

Step 0: Install a Blender that doesn't suck
I recommend at LEAST 2.47. Don't use 2.46, they broke alot of stuff in that one. 2.48 is untested but you can try it there anyway.
http://blender.org is the site for it. Don't go searching for it on p2p services, you'll most likely UM GET A TROJAN LOL
We don't care what your operating system is, this tutorial assumes you are using CRAPOPERATINGSYSTEMTHATSOMEHOWRUNSWHATISNECESSARYINTHISTUTORIAL

Step 1: Obtaining and Installing the MDL exporter
First!!
There's this neat script that revolutionized the modeling pipeline for years to come!!! AHEM. You want to scroll down and find a download link to 'pak2.zip'. It's no official download but!! it contains this vital file!! the py file you need!!! YES!!! (this part of the tutorial will be updated when I get around committing this script permanently to fsfps svn)

Open your favorite ZIP tool on that zip file. I don't care what *YOU* use to extract with, but I recommend POWERSPYWAREFILEEXTRACTOR XP PRO 6000 Deluxe Learning Edition. You can download it for free! It's free!!! Free is good!!!

Extract the 'ajmdl_export_055.py' file to your .blender\scripts subfolder in your Blender folder. I WILL NOT HELP YOU FIND YOUR BLENDER INSTALLATION AND HOLD YOUR HAND. If you can't get past this step, then I don't care. Go fail!

Run Blender, and assure you can actually USE the exporter before you advance.
Image
If you don't see that in that menu, then you are CLEARLY DOING SOMETHING WRONG, STUPID!!!

Now that step is over (I HOPE) we go onto

Step 2: Do your model
I'm not going to call the play-by-play on model construction as that's a whole 'nother realm. BUT!!! YOU GET TO WATCH ME CREATE SOMETHING. For this tutorial i'm going to make a blocky crappy gun of sorts. Maybe someone will have a use for it!!! I doubt it.

Step 3: Export your model
I think I am pretty much done! WOW that was fast!!! When you're happy with it, EXPORT IT! Like in the picture seen in step 1, you can now finally CLICK the "MDL" export in there! Then save! OMG!
Since I made a GUN, I want to replace the shotgun view model. I made a new folder in my Quake folder called 'badass', and another new subfolder in there called 'progs'. I took my MDL file, renamed it to v_shot.mdl, and started the game

Image
NOW IM TOTALY BAD ASS

Closing notes READ THESE
A SUPER CRITICALLY IMPORTANT NOTE note: your model MUST BE TEXTURED via TEXTURE ASSIGNMENT and NOT by material assignment. To assign a texture, you have to select all vertices/faces/edges in Edit Mode (just press the A key to select all), then select a texture in the UV/Image Editor panel. If you don't have a texture there, open one. Any one. If you've got a cube, you could open your favorite picture in the whole wide world and export a Quake MDL of just that on a cube. Why am I even doing a WEAPON!!! I am so generous.
Also!!! It can only have ONE TEXTURE. Don't do that MORE THAN ONE MAYBE TWO OR THREE textures crap on it!

ALSO NOTE: Only one object can be exported. There is NO support for multiple models! Though if you're lazy, and you don't care about how jumbled the UVs will get, you can Join two objects and then go in the UV/Image Editor and find the "Consolidate into one image" button. There will spare you the EFFORT of HAVING to copy and paste! You paster.

Another note: We are working with Quake coordinates. Front is side, and side is front. From the Front view, the model should be facing towards the RIGHT. From the Side view the model should be facing the FRONT to your CAMERA.

Also another note: Scale may be too small. Scale it up. This is trial and error to you, i'm not gonna tell you how big your model should be. You're on your own for the model scale but you can figure it out. That is, if you've actually made it to this step that is. I HOPE.

once again ANOTHER NOTE: Quake's frame numbers start at 0. Blender's frame numbers start at 1. You'll have to do some MATH in your HEAD to create frames relative to those of Quake! Like Quake frame + 1. This is important if you're a QuakeC coder making new cool things no mod had ever (WE NEED MORE OF THOSE BTW WE'RE IN A CREATIVITY CRISIS)

oh and final and very important note: The exporter exports all frames up to the currently selected frame in the 3d view. Go to Frame 8, and the exporter will export the first 7 frames of the model! Go to 1, and you'll have a one frame model! Go to frame 9003, and you'll have a 9002 frame model! (OR NOT?!)

also an obligatory don't forget note: DON'T FORGET TO SAVE YOUR TEXTURE IN UV/IMAGE EDIT PANEL! File>Save does NOT save the texture, unless it is an image PACKED into the file. (cmiim) I made the mistake in this tutorial by not saving the painted texture in the video. That's why the gun looks funny in the GIF file. Oh well :(

oh and final note for real: The exporter saves the UVmaps and texture upside down as well as not saving the normals properly. This will be fixed. You can fix the normals in QME and set model flags there as well, but I don't want to recommend QME anymore. It's just a minor 'missing feature' yet to be fixed and added.

Posted: Sat Oct 25, 2008 9:06 am
by Baker
Very nice tutorial, sir.

Posted: Sat Oct 25, 2008 3:27 pm
by ceriux
nice, seems easyier than anything i have to do atm lol :D

Posted: Sat Oct 25, 2008 6:24 pm
by CocoT
That's an interesting tutorial. It would be nice to have it posted somewhere in the I3D tut sections (minus the annoying caps and the noob-bashing, of course).

Now, just to clarify one thing for those who cannot find their "scripts" subfolder: don't look into the folders where you actually chose to install blender, go to your "c:/documents and settings/yourname/applications and data/blender foundation/blender/.blender/scripts" folder.

Posted: Sat Oct 25, 2008 7:32 pm
by leileilol
CocoT wrote:It would be nice to have it posted somewhere in the I3D tut sections
that would suck because I would not be able to revise it myself.

Posted: Sat Oct 25, 2008 10:02 pm
by CocoT
Well, we could wait a little while until you're happy with the version you have, then have someone post it there. And I'm sure we could still make changes afterwards if you feel it's needed. I just thought it'd be nice to habe easily accessible.

Posted: Sun Oct 26, 2008 4:04 am
by Lardarse
CocoT wrote:Well, we could wait a little while until you're happy
Stop. leilei will never be happy. The sooner you realise that, the sooner you will realise that he isn't as overly opinionated as you thought he was...

Posted: Sun Oct 26, 2008 4:55 am
by r00k
Excellent! This is just what i need. :D

Posted: Sun Oct 26, 2008 8:42 pm
by ceriux
i exported my model into a 3ds format, but when i imported it the texture wasnt on it, so i couldnt export to mdl.

Posted: Mon Oct 27, 2008 5:15 am
by leileilol
ceriux wrote:i exported my model into a 3ds format, but when i imported it the texture wasnt on it, so i couldnt export to mdl.
I'm willing to bet you didn't read the tutorial and get past step 1.

Posted: Mon Oct 27, 2008 5:24 am
by DireBetaFiend
whew! nice one leilei, much obliged! :)

i had to save the .flv video and slow it down in mplayerc in order to fully capture what you did step by step.

i will try to import something i made in max into blender and then export it. props to andrewj

having trouble, i tried doing texture paint and doing save as and then exporting, didnt work:

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\David\Downloads\blender-2.48-windows64\Blender248\.blender\scri
pts\ajmdl_export_055.py", line 19, in <module>
import struct
ImportError: No module named struct

also tried importing some .bmp quake model texture i had and it still did not work same error.

Posted: Mon Oct 27, 2008 6:55 am
by ceriux
leileilol wrote:
ceriux wrote:i exported my model into a 3ds format, but when i imported it the texture wasnt on it, so i couldnt export to mdl.
I'm willing to bet you didn't read the tutorial and get past step 1.
wrong i did go past step 1, it may have just been the format of texture i used but im doubting it... although iv never used blender before so, i may have just done something wrong.

Posted: Mon Oct 27, 2008 11:51 am
by Spike
DireBetaFiend wrote: Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\David\Downloads\blender-2.48-windows64\Blender248\.blender\scri
pts\ajmdl_export_055.py", line 19, in <module>
import struct
ImportError: No module named struct
2.48 is untested but you can try it there anyway
Sounds like 2.48 isn't compatible after all.

Posted: Mon Oct 27, 2008 3:59 pm
by DireBetaFiend
a great success! got it workin. screenshots another time

Posted: Mon Oct 27, 2008 6:50 pm
by Dr. Shadowborg
ceriux wrote: wrong i did go past step 1, it may have just been the format of texture i used but im doubting it... although iv never used blender before so, i may have just done something wrong.
The problem here I suspect is that the .3ds exporter / importer is still broken. It's the one complaint I have with blender. (it has a bunch of imports / exports, but most of them don't work because the people who made them can't seem to be bothered to remake them so that they actually work. :x [though I can't say that I blame them all that much...the people who make blender seem to have a tendancy to break blender such that scripts that worked back in one version, no longer work in later ones])

Just my opinion though. :P