Does the max exporter support morph targets or not?

Hi guys,

I have used the morph technilogy in my max model file to make the character’s expression lively.

But it seems can not work when i pview it, does the max exporter support morph targests?
If not , what can I do to make my character lively, it’s hard to use the bones to change the expression on the face , since it’s a lowpoly model.

Waiting for you response, thanks,~_~

I’m pretty sure the Max exporter doesn’t support morphs. This means your options are:

(a) Don’t use morphs, find a way to use bones instead.

(b) Don’t use Max. The Maya converter, for instance, does support morphs. It might be the only converter that does, although there has been talk of adding this support to the Blender converter.

© Improve the Max exporter to support morphs.


Hi David,
Please give me some suggest on “(a) Don’t use morphs, find a way to use bones instead.”

Well, I’m not an artist or animator, so I really have no useful advice to give you. But I’ve seen it done. Our animators actually seem to prefer working with bones for facial animation rather than using morphs.

You just have to have several little bones that move the various muscles in the face, and then assign the skinning to those bones sensibly.


to give an idea about how to use bones for facial animation.

one of my blender-models showing the bones used to handle facial animation.
like drwr said. skinning is quite critical and might require some time till you get the result you want.

but you can create just as lively faces are with morphtargets. like this:
or even better. depending on how much time and experience you have

David, Thanks!
I am also a progammer but not an animator. It’s so hard to asked the animators of my company to create bones as complex as ThomasEgi’s example . They keep on telling me max can’t do as that since I was 3 years old. God bless me,^_^!

ThomasEgi, Thanks!
Greate work! Could you please share you work’s model files with me?
I really need it to show my animator co-workers how to work, and i promit you that I will not use it for business.
My email:
Thanks, waiting for your work,:slight_smile:


i dont mind if you want to scare your co-workers :unamused: send mail

why you dont code your blends??? or would it be to heavy for panda to walk through your vertices? hmm, i have to take a look into…
i hope pandas peformance will be strong enough… but im sure, if you dont use a heavy amount of vertices it should work…

@ditus: this topic is not about using morphs, or generating mathematical deformation. it’s about getting the morph-keys/shapes created by arists in 3dsmax to export into an egg file. this part of the pipeline has nothing to do with panda itself (except for the file-format).

hmm, :smiley: yes i would do this with egg files. the easy way to code this, is to use for all your morph steps the same amount of vertices. but you could also assign different colors for searching the vertices if you dont use the same amount of verts, or the nearest to you normalray or or or… but im getting in love with my idea about the colorvalue search…q

dont use the ray procedere, it would take to much of time, just assign different colors (you have a heavy amount of colors, i think this amount is enough :wink: ) to your vertex same color on your root same at your parasit (morph target) … this would be the way i would walk, if the morph targets arnt having the same amount of vertices…

you mean exporting the model once for each morph? and then process them into a single file?
sounds a bit hacky but if max can apply a single morph key upon export it should work.

you dont need to make a new egg file out of your morphs eggs, just calc this in runtime with your morphs…

ahm. the thing is… there are no morph.egg’s yet. creating those is the problem here.

huh? pardon, i think u got me wrong, i just called them morph eggs, i mean normal egg files. just normal geometrie without any animations or anything which is not related on static geometrie… so just uvs, vertex color, vertex pos… :wink:

but i love also the ray idea i had, but in panda i wont use the normalray, i think a collisionray would be perfect for… and if the morphtarget is intersecting or on some parts smaller, then only calc the distances between the verts and choose the closest… so a mix between color, ray and vert distance… if the chornical or the count is different to the root. or change the chron, if the count and the chron. are wrong, of the parasit. the difference would be would be the value to step through. but this would be the most painful procedere.

but in the chase of different amount and chronology, i would choose as first the vertex color solution

again there are no egg’s yet. and morph targets are more complex. if you have more than one morph-target your idea of raping vertexcolors for morphing (which actually works nice with vertex-shaders) wont work anymore.
also. there is no tool or pipeline for this technique yet. you cant tell artists to use somthing which doesnt exist or works. well you can tell them but they wont be happy at all.

why it wont work??? example you wanna do a facial animation with your morph targets. the eyes stay eyes, the mouth the mouth and so on… so i think you could assign myriads of different facial shapes by using my method :wink: you only have to loop over all your different shapes…

and if you have at your morph targets the same topology at your mesh, then you dont have do mind the vertex color anymore. this is only if the morph target is in topology side different to your root. i would wondering if max or maya could handle some blends like discribe :wink: and im working such a long time with maya. there you need to use the excatly same topology of your mesh for your blendshapes. the vertexcolor method is only if the target is different too. :wink:

im trying to explain it on this way :slight_smile: i hope you will understand now.

same topology: -> export your different blendshape (morphtargets) in seperate static egg files. aftwards you loop over allllll your verts , first root mesh , second one the target. and move with the verts from the move to the verts from your targets. if you wanna makes some blends between blends, you can do this also just by add the targets, then you can calc the average or what you want.

different topology -> export again all your meshes in different egg files (static egg) , but first you have definiate by using vertex colors the different regions at your face. example -> blue for eyes, red for mouth and white for diing. :wink: sorry just kidding, it sounds like a old rancid song for me :smiley: ok afterwards you was exporting this, just walk through your root by checking the color, list this colors, and then over your target, list your verts again. then just move your verts to the your liked aread on the target. oh and you can do the same, just add all your blend where you wanna do some blend blends :smiley: and calcuate the average or what ever you want.

just that easy

three things i forgot to say, but i thought its mostly clear.
after you moved your verts to your target, list thos verts as root then you can blend into the next expression and so on.

at different topology you have to be carfully about the topolgy, just order them by Y->X down. that would be easy.

and last but not least you will win also at the same topo. mesh and targets by using vertex color alot of püformance :wink: on this way you dont have to trönslate all your vörts.!.!