Any suggestions for animated models

Hey all,



I am working on a game (actually a paying jME job :D) and have come to the point of evaluating animated models for the characters.



This is kind of a MMORG, but based on a more traditional dungeons and dragons style (dynamic game scripts controlled by a DM).  So there may be up to 50 models viewable at a time (of course different LOD).  The models will be consist of 6 base 'species', and one for each sex; for a total of 12 'base' models.  Each of these will have some changeable clothing and misc, as well as shared items that can be added to any of the species. 



I am hoping to get some feedback on a proper model structure to use (that jME likes) and can facilitate 'realistic' looking characters.  I know that the  current state of jME's skeleton/mesh loaders (collada/MD5) seems to have some issues and be very finicky.  So I am leaning towards using MD2's for all the game models, I can just bake all the animations for the add-on objects individually and add/subtract them as needed (probably need to offset these to get avoid tearing).  My boss, however, would really like to see the most realistic characters as possible (within reason of course, not making Gears of War :D).  I don't think MD3 would work, since most of the models I have seen look worse than MD2s; and I am very curious about the XML/Blender system but I wonder if it's ready for a 'production' game.



The end models will not be created by me, however I will probably be creating the 'recipe' and specifications to create a compatible jME model.  I realize that each of the major modeling programs has a different exporter, and one may not work with jME while another can.  If you have any information regarding the best (jME compatible) program/exporter for a given model type please feel free to share.



(BTW, my boss purchased the Villager model pack from 3dgda.com and the supplied Collada format will not load in jME; it was created and exported with 3DS-Max)



To sum up; I guess this is an invitation to whomever wants to post and give some animated model feedback (maybe I am not the only one who will find it useful).



Thanx in advance

momoko_fan: Is the ogre loader is available at all right now?  I think it would be an amazing addition to jME if we could get it going.  I am most interested in this format due to the flexibility with what modeling program can be used, also the fact that the exports/importers are all from Ogre themselves kinda gives me a 'warm fuzzy'.

basixs said:

and I am very curious about the XML/Blender system but I wonder if it's ready for a 'production' game.

I think the system should be quite capable of doing what you want (morph target animated meshes). Whenever you stumble across any issues, I'll be very happy to fix them as soon as I can. You should really download the system (java code and blender exporter) and try it to see if it does what you need.

MD2 works ok too, but you might be on your own with fixing anything that might be broken with that (I had some problems on rare occasions, but never investigated further).

You might also want to try Momoko_fan's announced OGRE XML support once it is done - maybe he'll chime in here and tell us when that will be!
basixs said:

My boss, however, would really like to see the most realistic characters as possible (within reason of course, not making Gears of War :D).


Wouldn't that really be dependant on how you model your model? There are techniques which can be used to make your characters look realistic.

basixs said:

To sum up; I guess this is an invitation to whomever wants to post and give some animated model feedback (maybe I am not the only one who will find it useful).


Hear hear!
Within a week or so i'm really going to dive deep in the 3d animations, hopefully this topic will give us both the answers we seek. I haven't tested MD5 just yet with jME but I assumed from posts on this forum that is works pretty well? Also the tests in JME give me the impression 3d animations work flawlessly. This topic makes me doubt that. Since I haven't really had a close look at it, what were exactly the problems you ran into?


You might also want to try Momoko_fan's announced OGRE XML support once it is done - maybe he'll chime in here and tell us when that will be!

Mesh.XML takes the best of both MD5 and MD3 together with a very advanced material language and hardware skinning support, I think its much more reliable than any format jME could possibly have an importer for.
In addition Ogre3D's material script is really advanced, allowing you to specify multiple passes, LOD, shaders and multitexturing...

As of right now, the following features are not supported:

  • Vertex animation

  • Most parts of the .material specification.. Only the parts used by modeling tool exporters are imported correctly

  • Weight assignment seems to be buggy, causing some models to look rather wierd.. though it might be a problem in the jME animation system. Still investigating.



Either way it doesn't seem like I would be able to handle this myself.. I think I'll release the code to the public at some point as an open source project so that we can get something working with this.

Hevee: thanx for the suggestion, I will definitely put your XML system in the must test category. I thought MD2 was a very safe route since it is a pure mesh and keyframe model type, and jME seems to have good success so far importing the 30 or 40 single and multi-mesh static models I have thrown at it.



Momoko_fan: Wow, I didn't realize the Orge XML system was so mature (nice selection of exporters), its a shame about the weight issue.  How bad is it?  (I would offer my help, but I am swimming in too many projects)





One question about both the XML systems, do they use either of these mesh/skeleton systems? (this was forwarded to me by my boss)


Currently jME has two skeletal animation systems out of the box, and both have their individual problems.

1. The old JointController was created by a dev who left jME long ago. ... but there remains a problem inherent to the older ms3d format JointController is based on: it only supported single vertex/bone bindings, no multiple weighted vertex/bone relationships. If you don't know why this is a problem, this article:
http://msdn2.microsoft.com/en-us/magazine/cc301765.aspx
might help you - it contains a paragraph "gain weight and look good" with a brief explanation of the matter. The article also explains a lot more which might sound obscure in this mail.

2. The new SkinController/SkinMesh/Bone system created by mojomonkey, the original creator of jME. ... this system does have an inherent problem as well: it is not well suited for shader-based skinning. I am not sure if jME/lwjgl support the required Matrix Palette extension yet, but I'd at least want to see a skelanim solution with a good foundation for hardware supported skinning.


Edited: Should have edited before posting.

Hevee: thanx for your replies.  I will talk to my boss and see where he wants to go.  Probably a bunch of testing on my part.



I extend my sincere apologies about mis-stepping boundaries and posting a personal email.  You are right in bringing me to task on this, one of the biggest reasons this forum is the way it is is due the respect giving to all people (even newbies which is a rarity).  I have edited the post removing anything that someone may take offense to or have hurt feelings by.  Before posting I did ask myself how I would feel if I was one of the parties that you wrote about.  I don't think I would in either case, and I am a rather sensitive person; however I was completely in the wrong.  You are right, a personal email is generally written in a different style than a forum post; I should have respected that and just paraphrased.



For all the busy bodies dying to see what was in the email, know that he gave an honest opinion about the quality of both products.  All were good comments, there was no bashing or demeaning tone what so-ever; however one persons critique can easily become another's ridiculing.  To sum up his professional quality critique.  The first paragraph talked about the developers coding style and mentioned that he created difficult to read code, which is often the case for people that are natural programmers; I myself am not and prefer code that can be read like a book.  The second paragraph talked about the time crunch that mojomonkey was under when he developed his skeleton animation system, this lead to a slight lack of commenting (which is often the case when under a hard deadline).  I feel both these developers deserve my respect, both have been contributing members to jME and without contributions from all able-bodied parties jME would probably not be nearly as robust as it is.

My XMLIO uses only vanilla jME features - that's kind of the whole point to it. For skeletal animation, I am using mojmonkey's skeletal animation system, as described under 2. in your quote. I guess it's just the same with Momoko_fan's Ogre XML importer.



BTW, I am responsible for writing the paragraph you quoted.

It was in  a personal email to your employer, and I would have thought about the wording in parts of it more cautiously if i had known it would be posted here, in order to prevent misunderstandings.

That's not to say that I don't stand behind what I wrote, but in my experience it is best to triple check forum postings before publishing them. People all across the world are reading this forum, and I don't know half of what somebody with a different background might find offensive or rude. With a personal email, as the one the above quote was taken from, things are very different because you know who will be reading it, and how it will be received - or at least that's what I thought.

But now that this has arrived on the forum I think it is best that I "admit" that it was I who wrote it.

Momoko_Fan said:

  • Weight assignment seems to be buggy, causing some models to look rather wierd.. though it might be a problem in the jME animation system. Still investigating.


Just in case you are not aware, I have experimented with that some time ago - unfortunately to no avail. But the thread might still save you some work.
http://www.jmonkeyengine.com/jmeforum/index.php?topic=6277

I like the way this was handled :slight_smile:



And once I get to the Diplomatic AI in my project, I will get basixs to give me pointers or just write the dialogue :slight_smile:

lmao



I never, never thought I would be called diplomatic (maybe an arse).  :smiley:

Of course, I come at this from a "going for really good but not pro" hobbiest (I have a day job coding stuff for a different field) perspective: after I got past the initial learning curve with jME (which was really quick - thanks devs!) and decided to research modeling systems that would support decent realism/skinning and animation, I finally (after trying blender and a host of export formats) settled on MilkShape3d as it worked straight "out of the box" without any issues and integrated easily into my workflow.  I'm not doing anything very complex with the animations (walking, running, jumping, etc) or the realism yet (since I'm progging, modeling, and animating), but its a good fit for my current work.



I don't know if it would help, but here's a blog post on my current dev environment and a demo vid of some recent work/tests that shows one of my "too many polys!" ms3d models (Starman) in action/animation:



One by Four by Nine: Updated Development Environment and Technology



One by Four by Nine: Whoa! Back At It!


When I tried md2 I had a kingpin-style wobble on the model and texture. I had no problems with the keyframes though. Still, it made me feel ill so I moved on… I'd maybe reccomend it for uniformly textured models which dont move much. Like ninjas.



I then tried ms3d and that was alright, but I had a problem with the keyframes of the free model I got, and my modification to it hadnt been assigned bones properly so it looked messy.



I'd use md5 but there isnt an editing program I feel comfortable using that exports to it, and I also couldnt find many free models for that format. Having something that moves the bones and copes with multiple meshes interests me a lot, but making something myself doesnt…



I'm hoping that someone releases a neverwinter mdl reader (at least two people have projects which use these model resources) that I can use with the various nwn resources out there.

Thank you basixs for editing the quote, for the apologies and for the kind words. And thank you for even taking the task of re-phrasing off my shoulders! I think that you have resolved this in the best possible way. Thanks once more!

And now enough with the off-topicking. Or how ever in the world you would write that word :smiley:

Actually, the Bone and mesh code, especially the math, was done mostly by me (been awhile now, hasn't it!)  I think it was mostly based on some articles from the gems series, but I can't honestly recall anymore.  Mojomonkey was responsible for the AnimationManager portion of it.



It was my own first attempt at a skinning system and yes, as has been pointed out on here before it's not well suited for hardware use.  It's something I've been meaning to go back to for a while, but never got a chance to with everything else that has been on my plate.  (it works and things that don't have been more important.)



Someone post some improvements already.  :stuck_out_tongue:

renanse: I think it is an amazing first go, generally my first tries at things become prototypes rather quickly and I start over from scratch at least once.  And there are probably 100s of things more important than refining working stuff (like jME 2.0 :D).  You and the other 'parents' of jME really have something special going here and have my admiration.  Hopefully I can find some contributions I can make back to the skelanim system.



hevee: not a problem at all, thank you for your warm thanx :slight_smile:



Let's keep the great conversation and suggestions going, maybe someone has some skelanim development links they can post…



(So far that is 3 very possible systems I didn't really even consider, although I am not fond of learning Milkshape3D and making it a requirement when it comes time to outsource the model creation.  I already have enough work trying to be proficient in blender, and have usable Maya and 3DS skills.  Although I recently tested MS3D out to see about importing/exporting models, so it is going into the possible category; it's good to know that people have been having success with it.)

You can download the Radakan source (and the MESH.XML importer) from the sourceforge SVN repository

http://sourceforge.net/projects/radakan/

http://radakan.svn.sourceforge.net/viewvc/radakan/trunk/radakan/src/com/gibbon/meshparser/

hey momoko_fan



I grabbed the mesh importer, and have tried a couple of different models.  However I keep getting this error:



Apr 28, 2008 2:37:08 PM com.gibbon.meshparser.OgreLoader loadModel

SEVERE: null

org.xml.sax.SAXParseException: Content is not allowed in prolog.



I have tried the ninja model from the Ogre3D viewer (one of the included test models), and also a model I exported from milkshape.  Got any ideas?

The error is thrown by Java's XML parser when the XML file has errors (incorrect encoding specified or the format is incorrect). Make sure the encoding is correct, there are no extra whitespaces, all tags have a closing tag, the file actually exists, etc.

Run it through a validator (internet explorer is sort of a good validator, it can open xml files and display them as a tree). If you still can't figure it out, post the XML file with the error here.