Skies of Arcadia World Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

SoA Model Converter
Goto page 1, 2, 3 ... 12, 13, 14  Next
 
Post new topic   Reply to topic    Skies of Arcadia World Forum Index -> Skies of Arcadia
View previous topic View next topic
Author Message
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Sun Jan 22, 2006 12:40 am    Post subject: Reply with quote

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. Smile

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
View user's profile Send private message Visit poster's website
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Sat Apr 22, 2006 10:32 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Sun May 07, 2006 2:02 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Mon May 15, 2006 12:29 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Tue May 16, 2006 5:45 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Tue May 30, 2006 1:44 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
diablo2121



Joined: 31 Mar 2005
Posts: 103

PostPosted: Tue May 30, 2006 1:45 am    Post subject: Reply with quote

Lookin' good.

Can't have Vyse without his belt though, so there's progress.
Back to top
View user's profile Send private message AIM Address
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Thu Jun 08, 2006 8:01 am    Post subject: Reply with quote

Ok, so I'm an incorrigible show off...



Yes, that's Khazim, Tika-tika, and the lovely Fina. Smile

I still have some issues with the positional data and getting things
to link up right, but hey, it's progress. Smile

Steve
(Must...Sleep...)
Back to top
View user's profile Send private message Visit poster's website
diablo2121



Joined: 31 Mar 2005
Posts: 103

PostPosted: Thu Jun 08, 2006 11:24 am    Post subject: Reply with quote

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.Rolling Eyes
Back to top
View user's profile Send private message AIM Address
Spazz
S T E E L


Joined: 24 Mar 2005
Posts: 1265
Location: Chucktown, SC

PostPosted: Thu Jun 08, 2006 11:58 am    Post subject: Reply with quote

You two are amazing.
_________________
Back to top
View user's profile Send private message
The Amigo



Joined: 08 Jun 2006
Posts: 96

PostPosted: Thu Jun 08, 2006 12:07 pm    Post subject: Reply with quote

*ignores all previous posts*

Soo... Can you actually extract these models? Perhaps, say, for use in Gmod? Very Happy
Back to top
View user's profile Send private message Send e-mail
Fenix



Joined: 30 Apr 2006
Posts: 29
Location: Destination

PostPosted: Thu Jun 08, 2006 3:18 pm    Post subject: Reply with quote

Exclamation
Back to top
View user's profile Send private message AIM Address
Kyyp



Joined: 07 Aug 2005
Posts: 1007

PostPosted: Thu Jun 08, 2006 4:39 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Thu Jun 08, 2006 5:17 pm    Post subject: Reply with quote

The Amigo wrote:
*ignores all previous posts*

Soo... Can you actually extract these models? Perhaps, say, for use in Gmod? Very Happy


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...

Cool That's it!

Steve
-
Os iusti meditabitur sapientiam, Et lingua eius loquetur indicium.
Back to top
View user's profile Send private message Visit poster's website
LumensAquilae
I get by with a little help from my friends


Joined: 24 Mar 2005
Posts: 798

PostPosted: Thu Jun 08, 2006 6:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
The Amigo



Joined: 08 Jun 2006
Posts: 96

PostPosted: Thu Jun 08, 2006 11:00 pm    Post subject: Reply with quote

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. Razz

...But besides all that, I'm still excited. Powar to ya.
Back to top
View user's profile Send private message Send e-mail
ADnova



Joined: 31 Mar 2005
Posts: 92

PostPosted: Sat Jun 10, 2006 1:56 am    Post subject: Reply with quote

Looks like some great progress has been made. Smile

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
View user's profile Send private message
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Sat Jun 10, 2006 5:16 am    Post subject: Reply with quote

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. Smile

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? Smile )

Steve
Back to top
View user's profile Send private message Visit poster's website
Kassad
QUOTE, BUY, PRINT!


Joined: 24 Mar 2005
Posts: 371
Location: Land of the Frogs

PostPosted: Sat Jun 10, 2006 8:36 am    Post subject: Reply with quote

Kyyp wrote:
Spazz wrote:
You two are amazing.
This needed to be said again.


And again. This is really cool. Very Happy
Back to top
View user's profile Send private message
Kryslin



Joined: 02 Aug 2005
Posts: 241

PostPosted: Sun Jun 11, 2006 3:14 am    Post subject: Reply with quote

(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. Smile

Now exporting to Wavefront .obj format, too (ASCII, nice, simple, clean, and groups!)

Steve
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Skies of Arcadia World Forum Index -> Skies of Arcadia All times are GMT
Goto page 1, 2, 3 ... 12, 13, 14  Next
Page 1 of 14

 
Jump to:  
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