http://db.tt/5hKTlxiL
Common japanese model format, since it is a very simple format and easy to understand.
The tool is also pretty easy to use as well and has a bunch of plugins.
A good format for getting to know how the basics in 3D work since you can just throw together some 3D model in the editor and then look at the file in notepad.
Also a good exercise for text parsing.
How I'm parsing it is actually pretty crude; especially when extracting the different values.
Anyone have any better ideas how I should be parsing the file?
Actually, I think trying to split each field in each line is actually a great programming exercise LOL
Some samples from FF11
https://docs.google.com/open?id=0BxmE9E ... EyYzkyMGJl
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Metasequoia MQO
-
- VIP member
- Posts: 1330
- Joined: Wed Nov 05, 2008 12:16 pm
- Has thanked: 2710 times
- Been thanked: 884 times
Re: Metasequoia MQO
Thanks for sharing, there is also an *.mqo import/export plugin that works with the free Softimage Modtool 7.5 explained here:
http://nullorempry.jimdo.com/work-list/softimage/
You can download it here:
https://skydrive.live.com/?cid=CE4C74ED ... 3245%21164
http://nullorempry.jimdo.com/work-list/softimage/
You can download it here:
https://skydrive.live.com/?cid=CE4C74ED ... 3245%21164
-
- M-M-M-Monster veteran
- Posts: 2382
- Joined: Sat Apr 09, 2011 1:22 am
- Has thanked: 170 times
- Been thanked: 307 times
Re: Metasequoia MQO
Cool, it's nice to see more MQO support out there lol
But man, how do I actually parse these things.
I guess I'll need to come up with a regex to split this...
EDIT: stackoverflow is awesome.
But man, how do I actually parse these things.
Code: Select all
"textureAlexander0" col(1.000 1.000 1.000 1.000) dif(1.000) amb(0.250) emi(0.250) spc(0.000) power(5.00) tex("Alexander0.bmp")
EDIT: stackoverflow is awesome.
-
- M-M-M-Monster veteran
- Posts: 2382
- Joined: Sat Apr 09, 2011 1:22 am
- Has thanked: 170 times
- Been thanked: 307 times
Re: Metasequoia MQO
Here's something I hacked together.
Clearly text parsing can get a little messy especially when trying to convert values from string to float/int, with calls to the map function everywhere (it's similar to the map function in lisp languages). A simple analysis would show that there's huge overhead just to throw stuff in one place, then pick them out and throw them into another place while converting from string to float to bytes...
It's even worse when UV's are stored per-face.
http://db.tt/2yDxygHC
Maybe I should try doing it in immediate mode to see if it is any better.
Clearly text parsing can get a little messy especially when trying to convert values from string to float/int, with calls to the map function everywhere (it's similar to the map function in lisp languages). A simple analysis would show that there's huge overhead just to throw stuff in one place, then pick them out and throw them into another place while converting from string to float to bytes...
It's even worse when UV's are stored per-face.
http://db.tt/2yDxygHC
Maybe I should try doing it in immediate mode to see if it is any better.
Re: Metasequoia MQO
There is a java applet you could rip the parser out of, it's down atm, so uploaded the java code for you as well.
Applet :- http://d00.cool.ne.jp/metase/mqov/v1_3/ku.html
Java code :- http://uppit.com/w6c0zl719mol/mqo3k.zip
There's also 3dsmax plugins for this format.
I hate writing mqo converters, when exporting to that format I always resort to dumping the UVs to a temp file - lazy.
And for importing mqo files, you got to evade the vertex colors, weights and blobs, as well as contend with 2,3 and 4 vertex polygons.
Seriously though, it is pretty easy to convert, and very useful software, my main modeler, use 3dsmax for the stuff it can't do, like render.
Use it to view vertices only, 2 V(0,0), great for making random point clouds.
Applet :- http://d00.cool.ne.jp/metase/mqov/v1_3/ku.html
Java code :- http://uppit.com/w6c0zl719mol/mqo3k.zip
There's also 3dsmax plugins for this format.
I hate writing mqo converters, when exporting to that format I always resort to dumping the UVs to a temp file - lazy.
And for importing mqo files, you got to evade the vertex colors, weights and blobs, as well as contend with 2,3 and 4 vertex polygons.
Seriously though, it is pretty easy to convert, and very useful software, my main modeler, use 3dsmax for the stuff it can't do, like render.
Use it to view vertices only, 2 V(0,0), great for making random point clouds.
-
- M-M-M-Monster veteran
- Posts: 2382
- Joined: Sat Apr 09, 2011 1:22 am
- Has thanked: 170 times
- Been thanked: 307 times
Re: Metasequoia MQO
MQO is structured pretty well so if I'm reading a struct that I want, I can parse it, else I just skip. The regex I got for parsing each line into tokens makes it much easier to work with.
I use a "skip to next struct" function which will just keep skipping lines until I read a line starting with Scene, Material, Object, or EOF. Of course atm noesis will crash on non-utf8 strings cause I can't specify the encoding I want to use when reading lines.
I think the main problem I'm having with per-face formats is that...well it's per-face lol the output looks kind of funny and wrong when I use immediate mode rendering for unknown reasons.
I use a "skip to next struct" function which will just keep skipping lines until I read a line starting with Scene, Material, Object, or EOF. Of course atm noesis will crash on non-utf8 strings cause I can't specify the encoding I want to use when reading lines.
I think the main problem I'm having with per-face formats is that...well it's per-face lol the output looks kind of funny and wrong when I use immediate mode rendering for unknown reasons.
-
- M-M-M-Monster veteran
- Posts: 2382
- Joined: Sat Apr 09, 2011 1:22 am
- Has thanked: 170 times
- Been thanked: 307 times
Re: Metasequoia MQO
Wow, the author decided to mix binary data and text data together...
I mean I guess everything can be parsed as a binary file, but really..? It looks like it was meant to be a text file!
This occurs in the Object struct where it says "BVertex" rather than "vertex". The file uses 3 floats, in binary, to define the coords.
I mean I guess everything can be parsed as a binary file, but really..? It looks like it was meant to be a text file!
This occurs in the Object struct where it says "BVertex" rather than "vertex". The file uses 3 floats, in binary, to define the coords.