Smoothing Groups + normals + 3ds + Material = need help

You are correct there will be no Loader or Model in the future because there won’t be a need for them. Everything will come from JmeBinaryLoader() and if a user wants to load ms3d or md2 they first convert it to JmeBinary with our conversion utilities. I decided not to move around the Model classes though because I wanted users to still test out the current way we load models with the current release. I wasn’t planning on cleaning that up until either release time or the current model loader has been stress tested. Until then I thought the safest bet was to just leave things as they are.


Just curious what the benefit would be to having only one (home grown, I'm guessing?) model format supported?


One advantage is for example the MaxScript that can export models into the jME format. With jME XML such a thing is extreamly easy to do. Another advantage is load time. Loading ms3d or ... 3ds.. files requires the file to be processed and then loaded. With jME binary, the processing is already done (in a way) so the loading is extreamly quick. Also all the classes that the jME binary format uses for things like animation and rendering are tested and speed optimized (in the future) so that if someone wants to load format MD8, after they convert MD8 to XML they can be guaranteed that it is displayed in the fastest way posible. Another advantage is JmeBinaryWriter(). That class can take a Node in jME and write its contents to jME format. This allows users to save/load entire scenegraphs at once, while jME is running.


I was planing on adding static void main(String args[]) functions to the Md2ToJme or ms3dToJme classes so that users could do something like this

c:jmejava -jar jme.jar jme.scene.render.model.ms3dToJme Runner.ms3d Runner.jme

and it would convert.

add a GUI to your last comment, and you have my plan :smiley:



So il leave it to you then, as you have more information about the subject than me.



DP

isn't skeletal animation the same as joint animation?


I'm not sure about this !
Joint animation in my opinion only supports changing position of parts of a body one to another versus skeletal also supports deformation of meshes bound to the bones ?

regards
Martin

They may not be the same, I’m into the code not the symantics :slight_smile:



But I do know .ms3d can use diffrent joints to deform vertexes in the same mesh.

it was mainly related to directx x files “history”.



Dx 7 x files where actually “jointed” models. That was something Truespace 3(and old versions of Anim8or, as well as Darbasic Classic game engine) could do. Separate pieces would be jointed to animate the puppet.



dx 8 x files brough a much more advanced way. A single piece human model could be animated using bones. The advantage of an x dx8 file in relation with a milkshape file is clear (and very important) : An x dx8 file support weights different than 1.0. So I can for example tweak a lot a shoulder, not needing extra bones that anyway will never be as perfect.



Character Fx animation software was born to fill this gap in Milkshape. For many of us -game artists- it became a better tool fo ranimating than Character fx. Also, this software was the first available for cheap (15$) to provide weighted format export (and x file)

And has been used largely in many game comuinities.





I think md5 is a great format to support. I do think also, x file (though being from microsoft is totally free to use in any way, as well as the dx SDK) is better chance, as md5 is from the leaked alpha of doom3, and though is ok to use it (once again, id formats are free, not their tools) and surely it’ll require small changes once Doom3 is released, x is mor estable in that: a dx8 file will be always a dx8 file, and the situation now is :





dx8 x files are exported by :



Max 3,4,5,6 with Panda Exporter (free , very powerful, with weights)

maya with a free x plugin

Lightwave with a free x plugin (for 7.5)

XSI(the one which makes HL 2 ) by other free plugin

Ultimate Unwrap (animation converter and uv mapper)

Character Fx

3d Canvas

Truespace and Gamespace by comercial plugins

Blender (by a plugin. I have been in the testing team.With weights, bones, etc)

hash ANimation master by a plugin (comercial but very cheap)

Milkshape (yep, but as I said, weights aren’t used :frowning: )



…and those are of which I can remember in some seconds.





md5, while is probably one of the most supported weights and bones formats (there are very few formats supporting this features) is only :



-blender (with the advantage is a bit more solid export than the x one, I have been told, but is a matter of time, Blender x exporter willbecome solid too)

-Maya(not problem free I think I read) and max.





I’d go for the x one. But I respect each opinions, and md5 is very good too (indeed, is probably more advanced, supporting normal maps and shadows, etc)



There’s a md5 viewer, excellent one, that has a GUI and shows all the possibilities and teach you much more about the format.





I just though this info would be useful.



An md5 supposedly will also work for static meshes (like md3 does) .And I am totally sure an x files can even be used fo rscneries, objects…as well as using bones and weights, it excells for character animation.



Oh, about bone sand weights, the only problem I see in that jme binary is that it may support not bones, or bones but not weights…then, the exported info would be lost, in that area…in case it does not support those features.

Mm the X format is sounding good, especially because it’ll have official documentation to look at. And I’ld make a joint controller that supports weights if I wrote the X format so that wouldn’t be a problem. 3DS is almost done, then I’ll see…

ignore me if im being stupid here. But is normal mapping format dependant? I know md5 can do normal mapping, but im not sure about X.



DP

well, there you caught me, as I simply don’t know.As I am an artist, there’s some points where my field “ends”.



What i kno wis I have seen many people do normal maps for other than doom3 engine-like, or engines importing md5.

So it must be possible. Indeed, is not the only one house producing normal maps. There was crytek and others.



I thought that normals maps is more a stuff from the engine; it should not matter, probably is only that md5 already comes with it leavng it all more “packed” , but if I understood ok, is just that a normal map requires an special tga (a bitmap, the normal map) a hi res version and low res version of a model. But fo rthe engine, is only the low res version of the model, and the bitmap. As what is done with art tools (like the free ones Melody or Orb) is generate a simple bitmap witch is a 2d “dump” of the high res modelled model (which is a pain to do; normal maps are a pain for artists) .The engine then (md5 or not) must be qualiified for loading that bitmap and generate the fake volume according to lights in each scene , each moment (I think is done in th egraphics card only, and so, depends of graphic cards…pixel shader stuff, I think I read, but I only know for reading quick here and there, not true knowledge, you see :wink: )



If there are dx based engines using normal maps, there must be then o obstacle. I dunno about dx 9.0b, but dx 8 I think those x files do not carry normal maps info, but neither sure…



Anyway,. that’d be going to high at first, no? I mean, there’s lot of optimizing till you can get that hi stuff…or maybe not. I don’t know, I am not a coder. Of course it’d be lovable to use normal maps, though it’d mean loads more time in art production. These days games are starting to use it more than before.

http://www.devimg.net/?View=50



this engine seems be dx8 based, and has normal maps and loads of effects.





But I dunno, someone better informed could enlighten us.

hey, not to sound like waving, but have been talking with an experienced dx coder, and he says he prefers now md5, because is easier, and because seems the format wont change much, and as he says he thinks id formats maintained stablished in time, while there’s problems of compatibility in versions of exporters (dx8, dx9b…) between packages.



He also thinks new exporters will appear once doom3 is out. Also as people like more Id Software than Microsoft…



Well, I still, as an artist, prefer x, as I have more exporters for it, and also know it well, but I have been told about these facts today (as I asked to grab more information for you) and thought it was important to tell you.



Also he thinks x is more multi OS.



Anyway, I think personally you will not go wrong with any of both



(as md5 has only maya, max , blender, but those are the main packages. Though mid cost packages for now get left out…well, I just don’t know. )

personally, just by looking at who made em, i would prefer ID’s md5. I have serious issues with trust with Microsoft. Besides, what do Microsoft know about making games? They haven’t made anything good (in my opinion ) for ages.



My 2 pence.

DP

I can say now Blender has the two exporters (the x one is being finished now, I’m testing it from the author for the final bits, after that will be released)





I have not tested md5 Blender exporter, and that worries me, but the one who made it, Der_ton at doom3world, and Elysiun (a blender site of forums) I should totally trust it also works good.



SO I’m in the point I’m ok with any of those.



Anyway, the other software well supporting them is Max, my favourite high end software…good if I end again in company…as Max is pricey…



But to me, Blender will do the stuff…many think blender is very hard (well, indeed it is) but now I love it.



So I’m ok with both exports.



BTW…maybe MS didn’t , but lots of people have make good games with dx… :wink: