Pendulum
11-10-2006 19:46:56
I'm creating the character art for an Ogre app in 3ds Max. In building the character in Max, it makes sense to have it be made up of more than one object. So for instance, I would like to have the hair be an object separate from the main body. Then I would apply skin modifiers to both of them that refers them to the same skeleton.
A big reason I want these objects separate is so that I can skin them individually. The skinning can be delicate in that, if I delete some vertices on a mesh, its skinning will revert to default, losing all my tweaks. So, for instance, if the hair and body are all one object, if I delete some hair geometry, it can potentially throw out all the vertex-specific skinning I've done on the lips and eyelids.
The problem is, separate Max objects export as separate .mesh and .skeleton objects. The programmer I'm working with tells me there's no easy way to unify those .mesh objects into a single character within Ogre. (I tried parenting the Max objects to a single root dummy object, but that didn't unify the export.)
So I've been working with the hair and body as a single Max object. This is an awkward, inflexible way to work when it comes to skinning. Is there any way around this?
Incidentally, this affects more than just the hair and body. Ideally, I'd like to have the hair, body, eyeballs, jaw, and clothes all be separate Max objects, but exported as a single character, or unified into a single character in the app.
Any thoughts on how to do this?
We are doing something similar. Basicaly you nee dto use the OSM file ofusion exports to tell the engine which meshes are associated together into a single entity.
I'd personaly prefer ogre to have built in support for simple heirarchy of meshes in a single .mesh file. At the moment we set up our engine to enable you to load multiple OSM files into a list that you can parse and grab entities and submeshes from.
It's a bit messy having all those seperate meshes etc, but it does work.
I'm not sure that I get it right and I'm not an 3d artist, but wouldnt it be enough if you just attach all the pieces and export it as one mesh ? I meen attach it just for exporting, but work with multiple meshes... I dont know if this wouldnt mess up the meshes, the skining and the animation, but this is the way i would try to do it
Pendulum
12-10-2006 01:09:47
Evak, thanks for the info.
Ebol,
That's a valid way of approaching it, and I tend to separate and re-join objects all the time. However, the problem is it breaks down when you need to start making revisions to a skinned character. Because the app needs this character to export as a single mesh, my work flow is:
* Work on separate objects: body, hair, eyeballs, jaw, clothes
* Join the objects together as a single mesh
* Assign a skin modifier to the mesh
* Go into skin modifier and assign it bones (based on a Biped that's already in the scene)
* Go through the skinned mesh, and tune the vertex influences by hand With a character such as this that has moving eyes and facial expressions, that's pretty involved. I have to make the eye bones only affect the eyes and nothing else, and I have to tweak all the little lip bones so that the upper lip verts aren't affected by the lower lip verts, and vice-versa
Now, let's say I get the word from on high that the model needs to be changed, they don't like the hair or something. Sometimes it's possible to make changes to the underlying mesh without affecting the skinning, like if you're just moving the verts around. However, if you have to start deleting verts it's likely all the hand-tuned vert influences will get blown away, and you're basically sent back to the above second-from-last step.
If I could keep the separate meshes separate and skin them separately I'd be able to make changes to the hair without resetting the skinning on the body.
I've worked with other game engines, most recently the Torque engine, and I'm used to being able to have multiple objects in a scene, whether skinned or linked. In Torque, they have to all be either skinned or linked to the one skeleton, and they have to named with a trailing detail number so that the exporter knows to export them. I figured a similar system must be buried in oFusion and/or Ogre somewhere.
Now I think I uderstand the problem
Pendulum Thank you for your patience

Like I said, I'm no 3d artist. After you explained me what and how, the solution I was thinking about seems unreal. Well, I was just trying to help
Pendulum
13-10-2006 04:10:37
No problem ebol. I figure the more detail I throw out there, the more likely someone might come through with a solution, if there is one.
This is a pretty good toolset, and it'll only get better the more the creators know the problems artists are running into.
Pendulum
24-10-2006 00:32:01
So no official word on this?
My concerns proved to be valid in this case, because the client came back and wanted the hair changed. As far as I can tell, that drastic a change to the geometry will reset the skin modifier, and I'll have to do the vertex-specific skinning all over again. With a facial rigging this detailed - I have 6 bones for each pair of eyelids for instance - that can take hours.
I'm still learning oFusion, and had to rush into it to get this job done. So for all I know there is a way to export multiple Max objects, and then run them in the engine as a single animated character. But I'm not seeing how.
Am I missing something? Lioric, if you read this, I'd especially appreciate your input, since you seem to be the authority.
Thanks!
[Update: Just doing some tests with 3ds max now, and it seems like it's a little more flexible than I thought as far as how vertex-specific skinning survives changes to the underlying mesh. I have, in the past, seen the skinning reset when I've changed geometry below a Skin modifier, but at the moment I can't repro that problem. However, it still would be more convenient if I could, say, have the eyeballs be separate objects in Max and not be part of the skinned object. And have the whole thing export to a single character.]
Lioric
24-10-2006 17:03:03
You have to consider that CE version is strictly for non-commercial use
As it gets a different level of support, we can log your request and put it in the list, but it cant be implemented right away, as the Pro version users list is first
"Tag nodes" are being tested in the Pro version, with this you can have a single character made of multiple parts, and probably this will be added to the CE version later
About your issue, a possible solution to have single characters made of multiple parts, is to define a strict naming convention for your character objects and for your bone handles, then export each character in its own osm file, then after loading the file you can attach each the separated parts (using the object names) to a specific bone (in pose mode)
Pendulum
24-10-2006 20:34:38
Lioric,
My apologies, I'm basically working with what tools the people I'm working for hand me, and we're having to move rapidly. We've only just come upon oFusion. I can assure you these guys are very legit, and they'll get the commercial version.
Thanks very much for the reply, and the suggestion!