Pages: [1] 2
  Print  
Author Topic: MDL exporter  (Read 64016 times)
andrewj
Member


Cakes 24
Posts: 584



« on: September 02, 2008, 06:48:14 AM »

If you've still got Preach's blender MDL exporter then stick it on speedyshare or commit it to OQ+ svn and I'll try to get it working properly, but no guarantees.
Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #1 on: September 02, 2008, 07:54:47 AM »

hard drive search commenced

p.s. You should really base it on the md3 exporter, as the mdl exporter was based off the very broken md2 exporter shipped with Blender. Some specs:
http://tfc.duke.free.fr/coding/mdl-specs-en.html

Current MD3 exporter:
http://openarena.ws/board/index.php?topic=2139.0
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #2 on: September 02, 2008, 08:37:43 AM »

2/12/2008
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
andrewj
Member


Cakes 24
Posts: 584



« Reply #3 on: September 03, 2008, 12:09:58 AM »

Cheers.

Yes I'll base it off the MD3 converter, but having the MDL export code will save A LOT of time.

Does blender let you assign properties (name/value pairs) to a whole model?  This would be useful for various things (model flags, synctype, whether to use fullbright pixels).
Logged
epicgoo
Member


Cakes 5
Posts: 203


« Reply #4 on: September 03, 2008, 12:55:26 AM »

afaik no
also mdl stores images inside dunno how to do it in python
2-step process might do it
1) export blah.mdl without textures and flags
2) use "mdlBlah.exe blah.mdl blah.cfg" where blah.cfg contains images paths and flags per surface, and mdlBlah.exe pushes them inside the blah.mdl
Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #5 on: September 03, 2008, 04:19:19 AM »

skin width and height would need to be explicitly defined in the mdl as well for the uv maps to be consistent
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
andrewj
Member


Cakes 24
Posts: 584



« Reply #6 on: September 03, 2008, 04:25:12 AM »

a 2-step process might do it
1) export blah.mdl without textures and flags
2) use "mdlBlah.exe blah.mdl blah.cfg"
I've been considering that, mainly because processing of the skin texture by Python code is really slow.

But I'd prefer to keep it as simple as the MD3 exporter.
Logged
andrewj
Member


Cakes 24
Posts: 584



« Reply #7 on: September 04, 2008, 04:13:13 AM »

Does blender let you assign properties (name/value pairs) to a whole model?  This would be useful for various things (model flags, synctype, whether to use fullbright pixels).
I have learned that you add Empty objects to a scene and give them arbitrary names.  So I'll use them to control those niggly little things.
Logged
epicgoo
Member


Cakes 5
Posts: 203


« Reply #8 on: September 04, 2008, 06:02:26 AM »

Menu -> Help -> ID Property Browser, you can set custom values for objects, materials and other things
then in the python script you can use object.properties or material.properties etc
those give http://www.blender.org/documentation/246PythonDoc/IDProp.IDGroup-class.html
Logged
andrewj
Member


Cakes 24
Posts: 584



« Reply #9 on: September 04, 2008, 08:02:05 AM »

Menu -> Help -> ID Property Browser
They put this in the Help menu?
WHAT ON EARTH WERE THEY SMOKING???
(That goes for the whole crazy blender UI)

Anyway now I've got that out of my system, thanks f0rqu3!
« Last Edit: September 10, 2008, 05:56:05 AM by andrewj » Logged
andrewj
Member


Cakes 24
Posts: 584



« Reply #10 on: September 10, 2008, 05:57:30 AM »

Getting there......

« Last Edit: September 10, 2008, 05:59:15 AM by andrewj » Logged
epicgoo
Member


Cakes 5
Posts: 203


« Reply #11 on: September 10, 2008, 06:28:07 AM »

lol
is it gargoyle?
Logged
andrewj
Member


Cakes 24
Posts: 584



« Reply #12 on: September 10, 2008, 06:43:02 AM »

He's a CHTHON replacement in the OQ+ tree.

His face got messed up by poly reducer (too many verts in the original).
Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #13 on: September 10, 2008, 08:37:27 AM »

MDL should support lots of verts
you could also test a model that doesn't have a fullbright skin, like a weapon model
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
andrewj
Member


Cakes 24
Posts: 584



« Reply #14 on: September 10, 2008, 07:40:15 PM »

MDL should support lots of verts
No more than 1024 in id's GLQuake.
Logged
andrewj
Member


Cakes 24
Posts: 584



« Reply #15 on: September 11, 2008, 10:13:06 PM »

Weapons seem OK:

Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #16 on: September 12, 2008, 07:56:55 AM »

that is cool, i can see goraud shading (!!!!)

How does it look in software though? Software is a target too
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
andrewj
Member


Cakes 24
Posts: 584



« Reply #17 on: September 12, 2008, 10:10:01 PM »

Try it yourself, here is pak2.pak with progs/boss.mdl and progs/v_rock2.mdl:
http://glbsp.sourceforge.net/files/pak2.zip

There's a rocket launcher near the start of E1M5, and CHTHON is E1M7.

Also included is the unfinished export script.
Target gamma is hard-coded as 0.5, and fullbrights are OFF.
Works just like the MD3 exporter.

Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #18 on: September 16, 2008, 06:15:34 AM »

holy crap this script saves a lot of time
is it possible to make it read a palette from a palette.lmp file, if available in the same folder of the model or so?
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
andrewj
Member


Cakes 24
Posts: 584



« Reply #19 on: September 17, 2008, 07:09:30 AM »

is it possible to make it read a palette from a palette.lmp file, if available in the same folder of the model or so?
Which palette?  If just Hexen II then I'll add it directly into the script.

BTW I think the normals are not right, when I find a good way to test them I can fix it.
Logged
epicgoo
Member


Cakes 5
Posts: 203


« Reply #20 on: September 17, 2008, 08:56:00 AM »

I think fromhell mean a generic palette (maybe you can have more than one palette)

Oh and I hate normal packing of q1/q2/q3
it is the worst in q1 You need <float float float> to index[ int ]
(I read your code and it should work. dunno. Check md2 exporter[probably you did ])
I was lucky because there is r_shownormals in q3
Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #21 on: September 17, 2008, 09:34:41 AM »

is it possible to make it read a palette from a palette.lmp file, if available in the same folder of the model or so?
Which palette?  If just Hexen II then I'll add it directly into the script.
in the future i might make mini-games on the base engine using completely new palettes from scratch (for competitions) due to the recently reworked pipelines
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #22 on: October 16, 2008, 05:10:13 PM »

A seperate version with the Haktoria palette integrated could be great
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
andrewj
Member


Cakes 24
Posts: 584



« Reply #23 on: October 16, 2008, 09:00:21 PM »

OK will do that soon.

It will only be useful for quick prototyping since I haven't added a
gamma setting yet (still hard-coded at 0.5).
Logged
andrewj
Member


Cakes 24
Posts: 584



« Reply #24 on: October 18, 2008, 05:35:21 AM »

Haktoria Palette Transplant complete, but not tested in-game.

Edit the script and search for 'DEFAULT' if you want to change
the hard-coded target gamma and/or fullbright mode.
Logged
Pages: [1] 2
  Print  
 
Jump to: