Advanced Tips


#1

If you have any tips involving the use of any of the more advanced features of Messiah, please share them here.


#2

Not necessary a tutorial (but I will do one if its still vague).

This is for everyone who wants to do a character with the skirt

http:\www.flarenova.com\sbd_skirt2.mpj

** There are two collision proxie spheres:
1 parented to the Thigh and other to the shin.
So you wil have to add more objects for parts you want to collide.

There are some collision rules to SBD clothes in messiah

  1. You must add some thickness to your CLOTH model for pressure. Not necessary for SBD effects but for collision - yes!
    2 Its better to use collision objects (preferablly spheres but u can make crude replicas of the objects (collision proxies) that will the colliding objects)
    a. use radius for edge adjust
    b. set your collision radius

3 For lightwavers, Do not use layered objects…create separate objects for body, the cloth and the collision proxy objects
4. Keep replacing objects to a minimal, SBD sometimes use the same deformation information from previous object on ur new object when you replace.
5. Write your sbd settings down
6. sbd is realtime, so it can change from playback to playback
check setting to make sure you get the same repeated performance…sometimes it could be the metanurbs slowing down playback or such.
7. Good starting point for softbody settings SLIDER BAR

Set everything to 0 except for Global weight and Gravity Scale…set them to 1.

SideNotes

Triple objects or proxies to see what changes in dynamics, you may get better results.

Add more polys especially in the bending areas of the cloth.
Higher the poly count, the better deformation but also the slower but there always MetaNurbs :slight_smile:

Unnecessary uses cloth dynamics:

  • Jackets and shirts unless the sleeves or flaps hang
  • Capes and hanging cloth shouldn’t solely use SBD - use bones as well and you have more control. Add SBD after bone animation, think about using PointOven. By this I mean …
    do you animation with just bones and then save teh deformation and apply sbd via messiah or third party (maya syflex or lw MD)…whatever you do apply sbd after main deformations.

FTM:

Key: Moves through the existing keyframe numbers. Enter a number in the entry field to go to a specific key or use the arrows to scroll through. Note: This is not referring to the frame number, but rather whether it’s the first keyframe, second keyframe, etc. For example, the first keyframe might be on frame 0, and the second keyframe might be on frame 65.

Frame: Displays the frame number that a keyframe is on. Also, you can type a number in here to change the actual frame that a keyframe is on. For example, lets say you have keyframe #2 and it’s on frame 33. Just type in 52 and now keyframe #2 will be on frame 52. It’s a really fast way to accurately move a keyframe.

Fluid Density: Sets the density of the atmosphere that the object is moving through. For example, you can set this to be thick, like water, or thin like air. The higher the number, the “thicker” the atmosphere.

Damping: Sets the damping of the movement-- how quickly it stops jiggling or waving, or whatever.

Global Weight: The weight of the points in the object. A positive number will make it weigh more, a negative weights will make it float.

Internal Pressure: An imaginary force that comes from within the object that pushes out toward the surface normals of the points. Picture a hot air balloon: a gust of wind will push in and deform it, but the pressure of the hot air inside the balloon pushes it back out into its original shape.

Gravity Scale: A multiplier for gravity. The default gravity in messiah is set for real gravity. If you need it more intense or less intense, use this setting.

Spring Damping: This dampens the reaction to compression and stretch.


#3

LYLE:
I posted this tip earlier in one of my replies, but I guess it will get buried. I think it’s useful enough to post here:

Clip Instances can be controlled via expressions. This means that you not only have control over the mix via expressions, you also have control over the time shift.

So, if I were planning on creating a “library” of motions to blend in at any time, I’d create a clip per-track, and repeat the clip instance for the entirety of the animation (this is necessary so I can blend/shift the instance at any time during the animation).

Then I’d set up “mix & time offset” Slider channel expressions for each of those clips:

code:--------------------------------------------------------------------------------
+L_punch_mix
|__MixClipInst(“LPunchInst”, [Slider:xpos])
+L_punch_time

__ClipInstTime(“LPunchInst”, [Slider:ypos])

Of course there are other ways of working with Compose, but if you’re planning on animating in this way, you’ll rarely have to touch Compose after this initial setup.

-lyle


#4

Hi Julez4001,

I,m facing the same problems as using SBD in doing cloths
& shirts items, btw i have downloaded the MPJ files that
you uploaded,seem that was nothings happened when animation
played? What’s wrong,do miss somethings or any setting need
to be activeity!

D24


#5

Are you saying that nothing happens with my files or your setup?

If your setup…explain the process of your setup and I’ll see what you are doing?


#6

I’ve spent 3 days (workdays!) trying to make a non-self-intersecting shirt wave in the wind, hanging from a clothes line, thrown over it like a towel.

Messiah hasn’t been cooperating. I’ve looked in a whole lot of documentation, read the forum, the mailing list, the tutorials, the docs.

What I’ve got so far is a shirt that hangs because of a metaeffector cheat (otherwise it would fall through the rope), and the shirt also waves in the wind more or less. But it keeps going through itself. It’s not what I need to do!

There doesn’t seem to be a way to make it not intersect itself. When I fiddle with collision and turn it on in any way, shape or form, I get a big bang (the shirt looks like a hedgehog, the computer starts to freeze up computing something tough).

Then I’ve looked at your project and - wow, this is neat. And it works. You’re quite an inspiration!

But I can’t seem to make mine work. Should I post the project here?

What do you mean by thickness to the cloth model?

I’m really confused. Unless I figure out how to make good settings for self-collision, the project will have to be redone in another soft. Time’s unfortunately money, and I’ve lost all I had without a good solution. :frowning:


#7

Hey send the file and I’ll take a look at it.
And a little bit more info on what you want it to do.


#8

Well basically my problem is - I could not make cloth collision with itself without spikes going supernova, or a dense piece of cloth be able to hang on a narrow (but dense vertex-wise) rope - it falls through.

Balloons bouncing off stationary walls are fine. It’s when I try to do something more ‘down to Earth’ I run into problems.

The project is pretty much over, and I had to do a lot of covering up and workarounds to deal with the fact my shirt intersected itself like nobody’s business. I don’t think there’s a point in posting it online at this moment.

I’d love to see a project though, where a complicated, dense piece of cloth (a shirt, a sweater, a pair of pants) would hang from a rope or a coat hanger and would bounce against itself, sleeve against sleeve, in the wind. Without intersection, of course.

In my case, such simulations invariably turned into a big bang.


#9

There is a reason most big studios write their own software to deal with cloth. Most off the shelf stuff just doesn’t cut it.

Putting a shirt on a character that is moving around and expecting the shirt to work right is very difficult.

Most off the shelf dynamic simulations CAN deal with pretty basic things though. Like the hem of a dress. . . or a ponytail. You have to work within the limitations of your software. . .


#10

I knew it Wegg! You’re the Devil!

Look at the number of your posts.

Tag! You’re the Beast! Woot! :slight_smile:


#11

I am curious to see what LW new softbody and motiondynamics are goingto offer though. They look they have several solutions that can be used to together to do some relaly good look fake “realworld” dynamics.


#12

After you’ve set up your skeleton and have the bones deforming the mesh nicely, use Flex to fine tune the deformations.

Add flex to your mesh, and make sure that it lies below the Bone_Deform in the list. Set your Flex to use the tool shape as an axis and give it the Parent Curve as a weight effect. This bit is rather important.

Okay, make some points. I used five in the example (arm_rig_basic_IK.mpj )

Parent the points throughout the arm. Of the five points in my example, only two actually move, those in the bicep and forearm. The other three do the equally important work of anchoring the deformation.

With your points parented to the rig, and still in Setup mode, Select the Curve, Ctrl_Select the mesh and add it to the weight list for the curve. This is also somewhat crucial. This means that you can see the mesh as the curve affects it, and can tweak the curve accordingly.
Don’t skip this step.

The rest is really a great big balancing act. What you want to do is tweak away at the weights of the points until you see the white and black areas define the area you want to distort. On my example, the points at shoulder, elbow and wrist are set to a very low or negative value, depending entirely on the relationship between the point and those around it. I didn’t change the Curve from it’s default settings, just worked the points.

Once you’re happy with how it looks, pop over to animate and do some animation on the joint. Include a nice extreme pose or two, and slide the points around on the same keyframe (say #10), until the deformation looks good to you. Copy that keyframe (for the point) to a negative value, and delete the positive value key. Flip over to Command.

Create a “CycleBranchMorphAddFrame” expression, using the point you have keyed as the morph heirachy. For this to work well the point wants to be the only thing affected, so it needs to
be at the bottom of the heirachy chain. (See CBMAF instructions). Connect the expression to the elbow joint rotation. I use “motion” as an operand, and the elbow because it is the only
single-axis constant in the arm, and principal to the areas being deformed.

Note that I find this can cause heavy over-interpolation once the expression is set up. If you introduce a divisor to the rotation of the elbow in the CBMAF expression (see example) this often works fine to tune the deformation back to where you want it to go.

And that’s it, really. Like I say, it’s all about balancing things up.

Yrs,
Nic Harrison,

TD
www.rogue-farm.com


#13

You can add a procedural sphere to the spherize effect to get some real-time visual feedback on just what area it’s affecting. The procedural sphere is a child of the Null in this case - see image below:

To do this with the Bloat effect … it’s a tad different. The Bloat effect just kinda sits in the background while it’s effect is being carried over via the Metaeffector(s) it’s been assigned to … so to have a visual reference of the Bloat effect … add a procedural sphere as a child to the MetaEffector_Effector. That’s right - not the MetaEffector group, but rather the Effector. You can scale the Effector and the procedural sphere will scale down with it. But do this in Setup unless you want it animated. :slight_smile:

I used Groups with “Auto Select” enabled to multiselect all these spheres automagically and then converted the display option to solid for all of them at once. I thought this GIF was a great way to help visualize what the spherize effect was actually doing:


#14

Achim on the egroups message board posted this today and I thought I would cut and paste.

Good News for Max Users!

Hi all,

unfortunately there seem to be no improvements made to the
hostconnections in the new release.
But there is good news for max users at least.
I finally found a method to import motion from max into
messiah:animate.

check in the files section:

http://groups.yahoo.com/group/pmGmessiah/files/max2ma.mpg

From now on it is possible to simulate cloth in max and render it in
studio.
Here is how to do it:

  1. Download th “Save 3DS Sequence”-script from scriptspot
    (under "import/export).
  2. Make a copy of the mesh you want to animate.
  3. Animate your object in max. Export the animation as 3ds-sequence
    via the script.
  4. Export the un-animated copy as 3ds. (this is to have the same
    scale as the sequence)
  5. load it in m:a (you may have to scale the grid)
  6. And now, as you might have guessed, add th D-Morph Effect to the
    Object and choose the 3ds-sequence.

You might run into problems with the object scale since the exported
3ds-files are much larger in scale than objects transfered to m:a
through the connections, but i´m sure you will find a way to
compensate this.

All we need now is the ability to attach Nulls to animated vertexes
or poly in m:a. Maybe there is one already?

happy clothing…

cheers

achim


#15

QUOTE FROM JULEZ4001
3 For lightwavers, Do not use layered objects…create separate objects for body, the cloth and the collision proxy objects

Julez: Could you elaborate on the logic behind this statement? I’m using a single LW object at this time, with many layers loaded into messiah. Messiah seems to treat all the layers individually, and I’m not having too many problems.

Second question: My cloth is constantly shaking and continually moving. It shakes only when collisions are enabled, and if a collision radius is defined. I’ve tried very high settings of damping (ie., 200), but it doesn’t change the shaking. Is there a method to diminish this shaking?


#16

In all my original files fo sbd test, I was using layered objects.

Fred took my file and separate them (his recommendation) and in truth, the sbd seem take better at analyzing the objects for collision as separate files than as a layer for some reason.


#17

for shortcuts-junkies:cool:…
got to key commader and add a new commands:

SetCurrentMode(“File”,0) --> for file-tab
SetCurrentMode(“Play”,0) --> for play-tab
SetCurrentMode(“Customize”,0) --> for customize-tab
SetCurrentMode(“Render”,0) --> for Render-tab

…for faster navigation…:cool:


#18

Since the info is spread over several forums, I want to make this into a central linklist for the “Neckling” threads from Taron:

Initial post with lots of info about Displacement/ZBrush2 and a quicktime animation:
http://206.145.80.239/zbc/showthread.php?t=022061

Gallery post here on CGtalk:

messiah:studio technique post in this forum with basic shader/skin explanations:

And finally the last in the row - morphing displacement, Neckling changing:
http://www.cgtalk.com/showthread.php?t=190944

Be sure to go through the follow up Q&As too, there is a wealth of information to be found in there, both for ZBrush2 and messiah:studio.

And the coolest thing of all: You can download Tarons scene now from the messiah hompages download section, in the messiah:studio 2.1 patch area:
http://www.projectmessiah.com/

Cheers!


#19

Advance tip: never post advanced tips late at night
Javier.


#20

I think it is important to point out that the subdivisions (MetaNurbs) in messiah are counted very differently than in ZBrush:
messiah:studio subdivides a polygon in each direction as often as you set the subdivisions in a linear fashion. A setting of 8 makes one polygon into 8x8 polys (if it is a 4-point-poly). At the same time the polys are triangulated what doubles the polycount once more.

ZBrush does something instead that is more like an “iterative” approach. For each subdiv level, each 4-point-polygon is divided into 4 polys. So a setting of 8 would be rather crazy: one polygon would be divided into 256x256 subpolys!

Keep this in mind if you work in messiah. A setting of 30 isn’t completely crazy, 10 or 20 may be needed for high detail work. But keep an eye on memory consumption - such high settings need lots of memory.

And you don’t need the highest setting either - bump mapping is very good in messiah so for the finest detail you can resort to that.

Cheers,