Home Technical Talk

splitting off model bits without seams: maya 8.5

mod
Offline / Send Message
rooster mod
we're looking at using morph targets for character facial expressions- the coders want us to split off the front of the face so that it's a seperate model (so that they only store vert positions for the face)

sounds ok to me, but I'm concerned that the head being 2 seperate meshes will cause a nasty seam down the sides. Does anyone know how to seperate the front off without affecting the vert normals on the edges? or average them once they're seperated?

I know I can edit them by hand, and that kind of works but its tricky and time consuming, I'd like to get the normals as they were when the surface was set to smooth

Replies

  • CheeseOnToast
    Options
    Offline / Send Message
    CheeseOnToast greentooth
    It's not easy rooster.You can use "average normals" across multiple objects, but it locks the normal in world space so goes FUBARed when you move the model. A better approach (and I think Source uses this) would be to keep the model intact, and only store the info for any verts that have moved. So when storing the morph target for for a smile, it would only store those verts that have changed from the reference model (in this case, around the mouth). That way you're not storing the entire model's vert positions for each morph target. Should really be down to code to sort this out.
  • rooster
    Options
    Offline / Send Message
    rooster mod
    yeah I'll ask them about doing it a different way, but we're up against it and they have quite a high pile of stuff on their plate.. I have a feeling I'll get a 'cant do that' response
    edit: yeah thats a negative hehe. its the difference between just blending static models or getting the skinned position of the base mesh then getting the skinned position of the target mesh then blending them.. we don't have the power captain
  • Rob Galanakis
    Options
    Offline / Send Message
    Well as Cheese said, this SHOULD be something handled by the programmers... Pose/morph targets should only store vertex information for vertices that change position. Try to press them a bit more or maybe even postpone a solution... pipeline for something like this is going to be a bitch, likely...

    Anyway, in 3dsMax, you just select both objects, then apply an "Edit Normals" modifier. Go down to "Average," click "use threshold," reduce the threshold to something very small, drag and select all normals (or just those you want to unify) and select "Selected."

    If you are using Maya, select the vertices on both objects, and use "average normals" under "Edit Polygons-Normals".

    EDIT: Whoops, read the title, see you are using Maya 8.5... I will leave the 3ds instructions in there in case they are useful to anyone, though.
  • rebb
    Options
    Offline / Send Message
    rebb polycounter lvl 17
    Maya allows you to "Lock" Normals in the Direction they are currently in - so when you move Vertices around they still stay as they were when they were locked - until you unlock them again.

    So you could try going along the "Cut Lines" and locking the Vertex Normals there, then detach the respective parts.
  • rooster
    Options
    Offline / Send Message
    rooster mod
    cheers prof420, that seems to do the trick- don't know how I missed that option! rebb, lock normals is something I tried, not sure if I used it wrong but the normals went FUBAR when I extracted the polys. Ill press the coders some more but dont hold out too much hope
  • Daz
    Options
    Offline / Send Message
    Daz polycounter lvl 18
    We did it on a bunch of bond games ( http://www.daz-art.com/games_8.htm ), but it's not ideal. As others have said, it isn't too much effort on the code side to just store the verts that transform. The 'faceplate' system worked OK for us, but its clearly much more of a headache than not. One thing that really irked me is that averaging the normals across the two pieces worked fine in game, but didn't in maya If the model was rigged and you did something like rotate the head. That would funkify the normals, which made doing any rendering annoying. We had to combine it all for that stuff. Plus of course, this was diffuse and spec only PS2 stuff. This system with normal maps would probably be a royal pain in the arse.
  • Whargoul
    Options
    Offline / Send Message
    Whargoul polycounter lvl 18
    Daz, they finally fixed that in the more recent versions - it's an option in the skin cluster to "Deform user normals". Yeah - it was ugly before, big black bands around necks/wrists when the charcter was animated in Maya. Blah.
Sign In or Register to comment.