 |
|
 |
Author |
Message |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Sun Jan 22, 2006 12:40 am Post subject: |
|
|
Let's see...
Field\A250AH06.MLD contains 175 textures.
We have textures for Vyse, Aika, Fina, Enrique (including some facial expressions), The Delphinus, The YinYang, Mao, Jao and the Skybox.
There is definitely more than 1 model in each file.
What little I know about the model files is some of the headers used to seperate blocks - NJCM, NJTL,GBIX,PVRT. GBIX/PVRT is texture information. I know something about the PVRT header, enough to have written my own texture ripper.
Now, If I could only get the vertex viewer to work...
Steve |
|
Back to top |
|
 |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Sat Apr 22, 2006 10:32 pm Post subject: |
|
|
Hmm, someone has invoked my name...
I got stopped dead in my tracks by real life. Namely mucho overtime at work, failure of my PC's monitor (using my Digital HDTV monitor right now... while nice and big, it's not good for development work - it has to scale the image to fit on the screen), and learning about managed DirectX code.
We made a lot of progress in parsing the individual elements of the MLD files - we know what we're looking at, datawise - vertices, triangles, colors (no clue on how textures are assigned to triangle groups yet), and various model segments. The trick will be putting them together, to make actual models, in formats that can be used by various software packages (like the old 3ds format), instead of raw triangles...
I hope to get back to work when my new monitor arrives in a few days...
Steve |
|
Back to top |
|
 |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Sun May 07, 2006 2:02 am Post subject: |
|
|
And just to show how far along I was parsing a model file...
Here's a partial dump from mldparser.exe of MA000000.NJ
I know what I'm looking at, I can read valid data, but I have no clue on how to put it all together to make a model, even if it's raw triangles...
Code: | MA000000.NJ Dump Results:
Offset | ID Seg Type Attached Child Joint
-----------+-------------------------------------------------
0x000000E4 | NJCM NJCM Block Start
0x000000EC | SEG 0x00000008 0x00000000 0x00000034 0x00000000
| (0x000000EC 0x00000120 0x000000EC)
| position (0.00 , 0.13473 , 0.00)
| rotation (0.00 , -1.#QNAN , 0.00)
| scale (10.00 , 10.00 , 10.00)
|
0x00000120 | SEG 0x00000007 0x00000160 0x00000178 0x000087B8
| (0x0000024C 0x00000264 0x000088A4)
| position (0.00 , 0.00 , 0.00)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
| attach (0x0000024C)
| vertex data present @ 0x00000180
| vertex type 0x00000029
| x, y, z, nx, ny, nz (0x18 bytes)
| 8 vertices.
| poly data present @0x00000154
| alpha type 0 = 4
| alpha type 1 = 5
| alpha type 2 = 19
| Diffuse Color ARGB 0x00FFFFFF
| Specular Color -RGB 0xFFFFFFFF
| (0x00000008) bytes
| 1 triangle strips.
| Indexes only (0x02 Bytes)
|
0x00000264 | SEG 0x00000006 0x000005C4 0x000005DC 0x00000000
| (0x000006B0 0x000006C8 0x000000EC)
| position (0.00 , 9.5906 , 0.00)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
| attach (0x000006B0)
| poly data present @0x00000298
| alpha type 0 = 4
| alpha type 1 = 5
| alpha type 2 = 19
| Diffuse Color ARGB 0xFFFFFFFF
| Specular Color -RGB 0xFFFFFFFF
| (0x00000008) bytes
| Extension Header Found.
| 4 triangle strips.
| Index/ UV Coordinates (0x06 bytes)
|
0x000006C8 | SEG 0x0000000C 0x00000000 0x00000610 0x00003800
| (0x000000EC 0x000006FC 0x000038EC)
| position (0.00 , -0.009427 , 0.059568)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
|
0x000006FC | SEG 0x00000005 0x000008D4 0x000008EC 0x00000000
| (0x000009C0 0x000009D8 0x000000EC)
| position (0.00 , 0.00 , 0.00)
| rotation (0.00 , 0.00 , -1.#QNAN)
| scale (1.00 , 1.00 , 1.00)
| attach (0x000009C0)
| vertex data present @ 0x00000730
| vertex type 0x00000029
| x, y, z, nx, ny, nz (0x18 bytes)
| 16 vertices.
|
0x000009D8 | SEG 0x0000000E 0x00000000 0x00000920 0x00000FCC
| (0x000000EC 0x00000A0C 0x000010B8)
| position (3.385393 , 0.000001 , 0.00)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
|
0x00000A0C | SEG 0x0000000C 0x00000000 0x00000954 0x00000B7C
| (0x000000EC 0x00000A40 0x00000C68)
| position (-4.586915 , -0.051598 , -1.004521)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
|
0x00000A40 | SEG 0x00000005 0x000009E8 0x00000A00 0x00000000
| (0x00000AD4 0x00000AEC 0x000000EC)
| position (0.00 , -0.000001 , 0.00)
| rotation (0.00 , 0.00 , -1.#QNAN)
| scale (1.00 , 1.00 , 1.00)
| attach (0x00000AD4)
| vertex data present @ 0x00000A74
| vertex type 0x0000802C
| x, y, z, nx, ny, nz, flags (0x1C bytes)
| 3 vertices.
|
0x00000AEC | SEG 0x0000000E 0x00000000 0x00000A34 0x00000000
| (0x000000EC 0x00000B20 0x000000EC)
| position (1.290707 , 0.00 , 0.00)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
|
0x00000B20 | SEG 0x0000000D 0x00000000 0x00000A68 0x00000000
| (0x000000EC 0x00000B54 0x000000EC)
| position (-0.000001 , 0.00 , 0.00)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
|
0x00000B54 | SEG 0x00000005 0x00000B30 0x00000B48 0x00000000
| (0x00000C1C 0x00000C34 0x000000EC)
| position (0.00 , -0.000002 , 0.00)
| rotation (0.00 , 0.00 , -1.#QNAN)
| scale (1.00 , 1.00 , 1.00)
| attach (0x00000C1C)
| vertex data present @ 0x00000B88
| vertex type 0x00008029
| x, y, z, nx, ny, nz (0x18 bytes)
| 3 vertices.
|
0x00000C34 | SEG 0x0000001E 0x00000000 0x00000000 0x00000000
| (0x000000EC 0x000000EC 0x000000EC)
| position (1.354057 , 0.00 , 0.00)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
|
0x00000C68 | SEG 0x0000000C 0x00000000 0x00000BB0 0x00000D68
| (0x000000EC 0x00000C9C 0x00000E54)
| position (-2.492017 , -0.048535 , 0.00)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
|
0x00000C9C | SEG 0x0000000D 0x00000000 0x00000BE4 0x00000000
| (0x000000EC 0x00000CD0 0x000000EC)
| position (0.00 , 0.00 , 0.00)
| rotation (0.00 , 0.00 , -1.#QNAN)
| scale (1.00 , 1.00 , 1.00)
|
0x00000CD0 | SEG 0x0000000E 0x00000000 0x00000C18 0x00000000
| (0x000000EC 0x00000D04 0x000000EC)
| position (1.265254 , 0.00 , 0.00)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
|
0x00000D04 | SEG 0x0000000C 0x00000000 0x00000C4C 0x00000000
| (0x000000EC 0x00000D38 0x000000EC)
| position (-0.023701 , -0.006161 , 0.00)
| rotation (0.00 , 0.00 , 0.00)
| scale (1.00 , 1.00 , 1.00)
|
0x00000D38 | SEG 0x00000005 0x00000D1C 0x00000D34 0x00000000
| (0x00000E08 0x00000E20 0x000000EC)
| position (0.00 , 0.00 , 0.00)
| rotation (0.00 , 0.00 , -1.#QNAN)
| scale (1.00 , 1.00 , 1.00)
| attach (0x00000E08)
| vertex data present @ 0x00000D6C
| vertex type 0x00008029
| x, y, z, nx, ny, nz (0x18 bytes)
| 3 vertices.
|
|
Steve |
|
Back to top |
|
 |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Mon May 15, 2006 12:29 am Post subject: |
|
|
I've picked up where I left off on MLDNet, and have made progress...
I'm pulling vertices out (easy), and the first chunk of triangle strips (somewhat easy)...I might actually have a raw triangle exporter here within the week, because I'm working on parsing the triangle strip data right now...
Right now, though, I need a break.
Steve |
|
Back to top |
|
 |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Tue May 16, 2006 5:45 pm Post subject: |
|
|
Some progess (and to show that I'm not blowing a lot of hot air)
I'm having some difficulty walking through the model in the proper fashion, but I've gotten some geometry out of it... It's Vyse (his torso, with his head smashed down into it, anyway...)...
This is not from the program, which just creates a list of triangles; This is from the preview render window of my fave 3D program, Rhino3D 1.1...
More later.
Steve |
|
Back to top |
|
 |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Tue May 30, 2006 1:44 am Post subject: |
|
|
More progress on the MLDNet model extractor...
I can look at most of the weapons used by the main 5 characters now,
though there are some crazy results I'm still trying to piece together. I've gotten a little more of Vyse to show (a belt), but nothing usable...
Enjoy!
Steve |
|
Back to top |
|
 |
diablo2121
Joined: 31 Mar 2005 Posts: 103
|
Posted: Tue May 30, 2006 1:45 am Post subject: |
|
|
Lookin' good.
Can't have Vyse without his belt though, so there's progress. |
|
Back to top |
|
 |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Thu Jun 08, 2006 8:01 am Post subject: |
|
|
Ok, so I'm an incorrigible show off...
Yes, that's Khazim, Tika-tika, and the lovely Fina.
I still have some issues with the positional data and getting things
to link up right, but hey, it's progress.
Steve
(Must...Sleep...) |
|
Back to top |
|
 |
diablo2121
Joined: 31 Mar 2005 Posts: 103
|
Posted: Thu Jun 08, 2006 11:24 am Post subject: |
|
|
You're too modest. You're doing a great job so far. I feel like your groupie since I seem to be the first one to compliment you after every screenie. |
|
Back to top |
|
 |
Spazz S T E E L

Joined: 24 Mar 2005 Posts: 1265 Location: Chucktown, SC
|
Posted: Thu Jun 08, 2006 11:58 am Post subject: |
|
|
You two are amazing. _________________
 |
|
Back to top |
|
 |
The Amigo
Joined: 08 Jun 2006 Posts: 96
|
Posted: Thu Jun 08, 2006 12:07 pm Post subject: |
|
|
*ignores all previous posts*
Soo... Can you actually extract these models? Perhaps, say, for use in Gmod?  |
|
Back to top |
|
 |
Fenix

Joined: 30 Apr 2006 Posts: 29 Location: Destination
|
Posted: Thu Jun 08, 2006 3:18 pm Post subject: |
|
|
 |
|
Back to top |
|
 |
Kyyp

Joined: 07 Aug 2005 Posts: 1007
|
Posted: Thu Jun 08, 2006 4:39 pm Post subject: |
|
|
Spazz wrote: | You two are amazing. | This needed to be said again.
Also, Amigo, perhaps instead of ignoring posts, you should actually read them.
Maybe you will find your answer then. |
|
Back to top |
|
 |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Thu Jun 08, 2006 5:17 pm Post subject: |
|
|
The Amigo wrote: | *ignores all previous posts*
Soo... Can you actually extract these models? Perhaps, say, for use in Gmod?  |
Kyyp wrote: | Spazz wrote: | You two are amazing. | This needed to be said again.
Also, Amigo, perhaps instead of ignoring posts, you should actually read them.
Maybe you will find your answer then. |
First, thanks for the compliments. I'm really nothing but a newbie code hack, but a determined one.
I heartily second the recommendation that previous posts in this topic not be ignored.
Right now, as I said, there are some problems with the exporter:
(There's your answer - this program exports the .NJ models found within .MLD files to RAW triangles).
1) It only outputs to the .RAW (ASCII raw triangle data) format. I have exactly 1 working 3D program that reads it - Rhino 3D 1.1. I don't know if Milkshape reads RAW triangles. XSI/Softimage does not, neither does GMax. Haven't tried Blender. Deleted my copy of ZModeller. I might try for the 3DS 1.1 file format. If someone knows of an ASCII mode file format that a lot of modelling software can read, let me know....
2) It may not look like it, but there are problems with normals in the triangles the make up the mesh - some are reversed, some are not (I have the render backfaces option on when I render these, so everything shows up). This is easily solvable, but it will require some extra processing (each vertex pulled has a normal; by averaging them, I can get a face normal; I can then compare this to a computed face normal for the triangle, and change what I need to to make 'em match...)
3) There are still some massive geometry errors - fina's right leg, Khazim's and TikaTika's right arm. As the realm of 3D Model files (and working in VB Net) is still very new to me, I'm learning as I go. It may take a while for me to puzzle it out.
4) If you want 'em textured, skin 'em yourself. The tools are there for you to extract your own textures from the ISO, and many applications are out there to help you with skinning a model. This is the one part of the process that gives me fits (It took me 4 hours to skin my little light fixture for the Delphinus map...!), and there are many people out there who are much better at it than I...
5) And before anyone asks, do not request models/textures/ISO from me. Find your own uncompressed ISO, and I'll gladly provide MLDNet when it's finished (which it isn't).
6) MLDNet is very much a work in progress. It will be finished whenever it is finished. When I get done parsing the single model
files (for monsters, weapons, characters), then I work on the files in the field directory (which have more than one model).
7) I'm sorry if I'm sounding like an asshole, But I want to forestall a whole lot of PM's and posts about "can you send me..." models or textures or etc...
That's it!
Steve
-
Os iusti meditabitur sapientiam, Et lingua eius loquetur indicium. |
|
Back to top |
|
 |
LumensAquilae I get by with a little help from my friends

Joined: 24 Mar 2005 Posts: 798
|
Posted: Thu Jun 08, 2006 6:05 pm Post subject: |
|
|
Can you send me...
Anyway great work. And I checked and Milkshape3d can both read and write models in the .RAW format. |
|
Back to top |
|
 |
The Amigo
Joined: 08 Jun 2006 Posts: 96
|
Posted: Thu Jun 08, 2006 11:00 pm Post subject: |
|
|
My apologies for my ignorance. This is awesome. I know pretty much nil about coding and whatnot, so I don't understand much. I've never worked with 3d models apart from random shapes.
...But besides all that, I'm still excited. Powar to ya. |
|
Back to top |
|
 |
ADnova

Joined: 31 Mar 2005 Posts: 92
|
Posted: Sat Jun 10, 2006 1:56 am Post subject: |
|
|
Looks like some great progress has been made.
It might be a good idea to make a seperate topic for your model extractor though, since:
1) It's worthy of it's own topic
2) I had nothing to do with it, it's all Kryslin's great work
3) It is a seperate project from the editor. |
|
Back to top |
|
 |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Sat Jun 10, 2006 5:16 am Post subject: |
|
|
Yes, but as soon as the source code is finalized in VB Net, it's off to C# and a version for you to add to the editor.
Isn't it nice how that works out...?
Actually, it was your vertex viewer that started this whole model viewer thing, so you deserve some credit (or maybe blame? )
Steve |
|
Back to top |
|
 |
Kassad QUOTE, BUY, PRINT!

Joined: 24 Mar 2005 Posts: 371 Location: Land of the Frogs
|
Posted: Sat Jun 10, 2006 8:36 am Post subject: |
|
|
Kyyp wrote: | Spazz wrote: | You two are amazing. | This needed to be said again. |
And again. This is really cool.  |
|
Back to top |
|
 |
Kryslin
Joined: 02 Aug 2005 Posts: 240
|
Posted: Sun Jun 11, 2006 3:14 am Post subject: |
|
|
(Steve puts on some arctic-type outdoor wear)
This is even cooler...
I believe everything is now showing up where it ought to be. At least, with these 3 models.
Now exporting to Wavefront .obj format, too (ASCII, nice, simple, clean, and groups!)
Steve |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|