ZBrushCentral

Question: Multi-Morph?

Hi.
Could anybody tell me if it’s possible to make a script that stores multiple morph targets for a model?
In my fantasy, theses targets could then be recalled through buttons, and possibly even have snapshot images and names of each target along side them. Lastly, another press of a button would save each target out as its own file in zlt or .obj format.
But I’m getting ahead of myself–this might not even be possible to do in ZB at this time.
Any elucidation on the subject is appreciated
Thanks!

haha I never woulda thought of this but did a little experiment for fun.

saved one base head that I altered to look like someone bashed him with an axe right down the middle of his head.

then loaded the same base head un changed stored a morphtarget then upped levels a few times and did some superficial detailing.

then returned to lower and just imported the altered base head (of course with same # of verts and all).

cool results. never woulda thought to mess with the beginning just the end.

This gives me loads of ideas

Thanks…hope someone can figure it out for ya.

Hi Ken,

This is not possible directly because the Morph Target info is not available to zscripts. (It’s a pity because what you suggest would be easy if it was!)

What you can do is fake it using Aminuts’ method. Here’s a little script to demonstrate. It will only work with polymeshes, not primitives or zspheres, and it’s rather unpolished. It also will take a while on large meshes because they are saved out as objs and reloaded. At the moment the Tool name is changed on loading a morph target - this is because I use the same five filenames. It could be done using the original tool name but this would mean the morph target folder filled up with different files.

Let me know if you think it might be useful and I’ll see if I can develop it further.

Edit: it would be easy enough to add in the option to recall previously saved morph targets as the obj files are saved anyway. Images of the morphs are a little more problematic (as the files are objs) but there may be a way…

Cheers,

Thank you so much for your replies:
Marcus: I’m having trouble gettting your script to work. What are the steps for proper storing and loading? I don’t see any changes even though the script indicates it’s saving and loading.
You have the idea down right though. It would be fantastic to make multiple morph shapes in an organized way within ZB. This, combined with a script like your masking one would make it easy to create very precise and repeatable changes on the models.
Perhaps even a blending brush, that “paints” one morph over another–but I’m getting ahead of myself again.
Thanks again for the efforts. If you’re so inclined to pusue it further, I’m sure it will be useful.
Best
Ken

Ken,

You won’t see any changes. In order to see the changes, press the Switch button in the Tool>Morph Target palette, or move the Morph slider.

I deliberately kept the model at its current deformation but perhaps that’s a bad idea?

EDIT: the Transform>Morph and Morph Dot brushes will of course work with these morph targets.

Cheers,

Im character modeler, and I specially love morph fonction in zbrush… I used it for technical desmos, and its always appreciate!

That would be freaking cool to have a script to easy recall several saved OBJ morph…

I hope next version of zbrush will allow several morph storage…

this is actually a really powerful feature. You could theoretically use a program like maya to blend between a series of morphs. Since creating blendshaps is based on topology and point order. It would be damn cool to have zbrush allow you to store multiple morphs, it would be really useful in the facial animation/blendshape aspect of the pipeline. I’ve wanted to test this out for a while, I just haven’t had the time.

Thanks guys,
I’m developing this further. Should have images of the morph targets, and the ability to save any number of ‘sets’ for recall later.

cool!:smiley:

Glad to see others will find this useful. I really feel that ZB is a great program for making these morph shapes. It just needs the ability to work with them in a more organized fashion.

Marcus, if you are working on this–it would be helpful to easily and clearly get back to the default or base mesh (presumably, an unaltered one) and perhaps a safeguard feature or warning so that you don’t change it. A key factor would be always knowing what morph you are working on or editing,

Again, thanks for your efforts on this subject. I’m positive it will be well received

great stuff. I know ive wanted this functionality for awhile. Look forward to what you come up with.

Great Marcus… You should join pixologic’s dev team!

My only worry in mulptymorph is its very hard to work on high res cause high res obj files easily rech 200 megs! lol
Can be super cool to build facial animation poses combines to the morph brush…

Thanks for the comments, guys. :slight_smile:

Sebcesoir, yes, the file size and therefore the save/load speed could be a restriction but would depend on your system. There’s no way around that until Pixologic allow access to the morph target data directly (although it may be that my zscript becomes obsolete with ZB 2.5!).

Multiple phase morphs would also be wonderful… Hence: A “beginning morph,” an “inbetween morph” (or two or three) and an “end morph.” The morph slider would smoothly move between all of them. (If Pixologic would add this to the next Z-Brush sales would go through the roof!) Perhaps even an option to define a point path method between morphs. For example the user could move the object through morphs in a linear or a curved path. (Even the possibility of defining the arc… logorithmically, exponentially or just a normal curve!) These functions would be easy to implement because they’re already built into the program! (The 3-D engine has all of these functions, it just applies them to displaying the items, but not morphing them.) The gui could be simple … Have a “morph editor” that lets you place above the slider where you want your morphs, and a sub menu that lets you define the path!!! DROOL!!!