If you have any tips for anyone just starting out in Messiah, please share them here.
Beginner Tips
From Sil3:
Parent in Place is a feature to parent one item to another but retaining the parented item on the same location, for example:
item A is on 10 Y Axis and item B is on 0 Y Axis
If u parent item A to item B with normal parenting, item A will move into item B pivot point, meaning that item A will be on the exact same spot as item B.
Using Parent in Place, item A will retain the 10 on Y axis but it´s now a child of item B, if u move item B, item A will move along.
In Messiah to use Parent in Place go to:
Setup Tab—Items—Parent in Place
Then u FIRST choose the item that is going to be the Parent, in this case the item B, then Ctrl select the item to be parented wich is item A, check the Keep Position and press Parent
the parent in (or not in) place can be used as a simple align function. Parent your objects the old way (drag and drop), then unparent checking “keep position” and " keep orientation".
If you want to see the objects keyframe that the armature is controlling, add a “click…controller select” type and action to the armature. This way it’ll show up in the graph editor and you’ll be able to manipulate it with the editsphere.
Happy Keying!
-mG
Sometimes, especially when you’re “realtime modifying” bones, the Edit Sphere just gets in the way. Press “Esc” to temporarily hide it. Remember also that the viewport must be active for this to work - meaning click somewhere in the view port.
Second little tip, if you want to center something that’s selected in the viewport - press “a”.
Third little tip, try right clicking on the main tabs for some extras. For example to get rid of the perspective grid - right click on the “Customize” tab and go to “World Views”. And to extend this a little further - to load a clip under the “Compose” tab -first, “Compose” must be selected and then right click on the “File” tab to access this hidden menu.
For any box where you input numbers e.g. frame, sizes etc. You can do maths in these boxes E.G. Input 2+2 and it’ll come to 4.
If you need more complex maths, use brackets. e.g. (2+2+2)/2 will give you 3, whereas: 2+2+2/2 will give you 5 (calculates 2+2 first, then calculates 2/2 and adds seperately.)
Originally posted by tuna
[B]For any box where you input numbers e.g. frame, sizes etc. You can do maths in these boxes E.G. Input 2+2 and it’ll come to 4.If you need more complex maths, use brackets. e.g. (2+2+2)/2 will give you 3, whereas: 2+2+2/2 will give you 5 (calculates 2+2 first, then calculates 2/2 and adds seperately.) [/B]
That’s a good tip. What’s not known is that you can also enter any function or variable, as well. For example, set the current frame to something other than 0, then enter NOW into one of the input fields. You’ll see the current frame number entered into the field.
Also, create a variable in Command mode, then enter (2+2+2)/2 or any other expression. When you type the variable’s name in a numeric input field, the computed value will be returned. You can use this as a method to store named paramters that you can use anywhere in the program that requires numerical values.
-lyle
Connecting Multiple Items To LightWave
If you often have a lot of items to put into LW, you can multi-select them and run this little script that I’ve linked to(written by Max Glick). It only works for deformation, not transform. (Deform is what you want if your character’s mesh should deform when it’s in LW; for example, bones. Transform is for when you want the object as a whole to move/rotate, like a null or a light.)
You can run this script from the script Palette (press F5) by double-clicking on it after you’ve selected your items, or you can tie it to a keyboard shortcut. (Note: You’ll have to restart messiah after you first add the script.)
To make a keyboard shortcut for the script, first make sure the script file is in your messiah/modules/scripts folder, then go to Customize–>KeyCommand Manager.
1) In the Class pulldown, choose Object.
2) In the Name field, put whatever you want to call it, like: Multi Item LW Connect
3) In the Command field, put: fb_HostSelToLW()
4) Press the little [+] button to the right of the Command field.
5) In the list on the left, open the Object list. You’ll see your command name there. Select it.
6) In the list on the right select which key you want to use. You can use F12 if you want.
7) Press the Assign Command key. If you used F12 it will warn you, but you can just let it use that.
Fred
The following text is from a session on #messiah3d IRC channel.
Lyle showed up and wrote a step by step on how to add Mettaefectors, i took the liberty to edit it and post the info here, wich i believe to be very usefull.
<lmilton> 1. Start messiah
<lmilton> 2. Load an object
<lmilton> Go to Setup->Effects and add a BoneDeform effect to that object
<lmilton> 4. add a few bones
<lmilton> 5. Go to Setup->Tools and add a MetaEffector
<lmilton> 6. Add some Effectors
<lmilton> When you create a MetaEffector, you’re really creating a “toolbox” that will hold Effectors. So, Select the MetaEffector
<lmilton> 7. Select one of the Bones and hit F3 to expand the interface
<lmilton> 8. Click on the Bone tab, then choose the MetaEffector you created from the weight popup.
<lmilton> Ok, we’ve already taken care of the Assignment portion. Now it’s time to take of the drawing.
<lmilton> While you can add an object directly to the weight drawing list, you can have this taken care of automatically when you select bones.
<lmilton> 9. Click on the Skeleton tab and activate: Auto Draw Weights for Targets.
<lmilton> When you select the bone, it will automatically draw the weight on your object.
<lmilton> So, using this feature, the weight drawing will “automatically” change when you select a bone.
<lmilton> This is only compatible with Weight tools, though. The standard bone weighting doesn’t get computed until you leave setup.
<Stoehr> Using connected and all connected falloff options for effectors: Do the connected points have to be seperate object layer, or does it find the points connected, regardless of being in the same object?
<lmilton> All connected will find all those points that are connected. This means that if you have an object that has, say, 2 separate spheres, if you move an effector over one of the spheres, only that sphere will be affectes.
<Stoehr> Does the metaeffector or effector have to be parented to anything in particular? the mesh, bone…?
<lmilton> Nope.
<Stoehr> So I can parent to anything, it’s just for my convenience.
<lmilton> Yes.
<Stoehr> very nice.
Hope it helps and be sure to visit #messiah3d.
Thanks for the visit and the info Lyle
Sil3
As you work with the m:s2 renderer you may come across a great combination of render settings for particular scenes. And then, when you’re working with a new scene, you may not remember the right settings to get a particular look. To avoid this problem always save render settings files, via the Render->Settings menu.
These “.mren” files include all the params on the Render->Settings Quality, Illumination, Caustics, & Atmosphere which govern the final illumination of your scene. It’s a very convenient format that should improve your overall workflow. It’s also great for sharing; if you create some really good render settings, don’t hesitate to share them with the community:)
-lyle
Hiyas
Just copying and pasting from the Messiah egroups message board a work around for some of the issues that some of us users might run into with using Max and Messiah.
The Doc was put together by a user achim on the egroups list
Here´s the complete Max/Messiah workflow which will reduce the max-connection problems to a minimum (for me at least):
to work with max objects in messiah you have to keep the following in mind:
you can only connect meshes to m:a (no helpers, cameras, lights etc.)
you cannot send animation data through the connection (from max to m:a)
you cannot connect groups to m:a
m:a will only keep UV-coordinates of max objects in embedded scenes
modifying the stack or the object below the d:form modifier will almost always result in a crash
the max/m:a connection only handles vertex-transforms correctly (at the moment the x:form controller is useless)
- preparing your objects in max:
When you connect your max-object to messiah the objects pivot will always be centered to 0,0,0 in m:a. So if your characters pivot is positioned at his pelvis the character will show up in m:a with his legs below the ground. In order to animate him with his feet at y=0 you will have to transform him upward in setup mode. this transform will only transform vertexes! when you reconnect to max the trans forms are added to the transforms in max (relative to the pivot).
to solve this one way is to center all models ( i use multiple character parts) in max, connect them to messiah and arrange them there. So when i reconnect to max, all vertexes will be in the right place.
But this can lead to other problems:
(Ouote from an earlier post):
i apply the bone deform effect and add one bone at 0,0,0 , align it
to the mesh, then i add the Meta Effector to the scene, create one Effector and add
the mesh to the weightlist and parent the effector to the bone.at this time all objects are still at 0,0,0. Everyting looks as it should when i set the mesh to weightdisplay.
but then: i transform the mesh upwards 1 unit along the y-axis and the weightdisplay (the white influenced area, not the Effector itself) gets double transformation!
then i unparent the effector from the bone and set it to world 0,0,0, again and the weightdisplay keeps the offset. Now i can move the effector wherever i want and have the influenced area always 1 unit above it. I think i could funky effects with this behavior but
unfortunately it makes it impossible to assign Metaeffectors to my setup since all of my objects have transformations.So what you have to do is this:
Forget about object position.
In max you have to set only the pivot to 0,0,0 leave the vertexes where they are and apply a reset xform to the mesh. This will keep the vertex positions relative to world center when connecting to m:a. The pivot in m:a will of course still be at 0,0,0 but the vertexes are in the right position. This makes it at least possible to do a charactersetup including Metaeffectors or load (static) objects to use as references for animation.
On the other hand, any rotation will occur around the pivot which has the offset now. Centering the pivot to the object in m:a would center the vertexes around the pivot an not vice versa, so i would have to transform the object again for the vertexes to be in the right place.
- the pointcache workflow (or: living without the connection is possible)
In fact you have to use the max/m:a connection only twice in the workflow: sending your objects to m:a and record the animation back. In fact you do not need embedded scenes.
Here´s how to do it:
create you model in max and center its pivot to th world center. If you want to use the metanurbs feature in m:a then apply a meshsmooth modifier with only one iteration, to make sure the object has only 4-sided polygons. You can remove the meshsmooth afterwards. Don´t forget to apply the reset-xform (from the utility panel). Save the scene! Then apply the messiah dform modifier and launch the gui. Your object should show up in m:a in the same position as you modeled it in max. Now save it as LW6 or any other format which m:a can read. Delete it from m:a! switch back to max and remove the messiah dform modifier from the stack before saving again or simply close max w/o saving.
Launch messiah in standalone mode. Load the previously saved Object (LW6 or whatever, not the max object ;-)).
Do you setup, rigging or what else you need.
At this moment, you have two independend objects, one in max and one in m:a. You can refine your model in max, and animate the other in m:a. Dont worry about Uvs and point counts at this moment. This splitted workflow is especially useful if you want to animate with a lowpoly proxy mesh.
By the way: m:a the always uses the diffuse color of the first max-material-id to display objects in shaded mode.
Animated your model. Parallel to animation in m:a you can texture your model in max. Once you are satisfied with both the animation m:a and your model in max you have to record the animation back to max. You don´t really have to reimport the model for rendering.
If you have altered the pointcount or shape of the model in max, you have to replace the animated model with the uptodate one from max, using the above described procedure.
Now start max with an empty scene. Go to the utility panel and start the messiah:utility. Click launch GUI from the empty scene. This will establish the connection. Load your animated scene in m:a. when it askes if it should autoconnect your objects to max say yes if you want. select your animated model from the list. You don´t have to do it at this time since you can select any object in m:a and hit F12 to connect to max as long as the connection is established.
Switch back to max. The messiah utility will say : 1 (or more) Objects on deck. Hit Import.
Now the object gets loaded into max. Your animated model will show up in max as Polymesh with an messiah:dform modifier. It will have no materials nor Uvs. It will not even be smoothed.
Don´t worry about that. All you have to do is to apply a pointcache modifier on to of the stack.
Be sure to get the latest Pointcache 2 modifier, which is a free plug from footools (www.fooTOOLs.com). With this version you will have a lot more playback options than in the discreet version, like looping, playback ranges and speed. Use the Object-Space part of it (the one w/o the asterisk!). Set the cache file and recording range. Hit record. After the cahefile is recorded you can close max without saving if you want or save it, which will result in an embedded scene. You do not really need that.
Restart max (Close and launch) to get rid of m:a in the background.
Load your scene in max ( the textured one). Put the Pointcache 2 modifier on top of the stack and load the previously recorded cache file. Play around with the playback options, especially the playback graph. Have fun. You can now put additional modifiers on top of the stack (above pointcache) like meshsmooth, morpher, even bend or squash.
- Morph Targets
The simplest way to generate morph targets for m:a is to set it up like you would do it for max.
Copy your model, edit it, apply the morpher modifier to the first and load the edited model as Morph Target. Set the channel values and add the messiah:dform modifier to the morphed model save the morphed model from m:a as Lw6 object. Delete it from m:a and remove the messiah:dform modifier from the stack in max. Then you can edit or add more morphtargets in max and so on. This way you can test your morph targets in max and you do not have to center out any morph targets pivot individually.
(There is an issue with morphtargets created from objects having the symmetry modifier in the stack so collapse your objects if possible)
- cloth and softbodys
Softbodys can be done as usual in m:a. For cloth its best to use simcloth for max, because its free. Load your pants or whatever as described in m:a and add it to the bonedeform effect as if you would animate it without any cloth simulation. This will give you the inital pose when you start the simulation in max. Since it already has the basic animation from the skeleton you are able to do the simulation only for specific parts (eg. sleves).
The xform controller problem (this has already been posted)
Create a simple object in max, lets say a single square face
apply the messiah:dform (not xform) modifier to it
animate it in messiah
switch back to max and create a dummy
apply an attachment controller for position to the Dummy
select the animated square face as “attach to” object
select one of the triangle-faces of the object by stepping through the face numbers
use “Set Position” to place the Dummy wherever you want on that particular face
create or load the camera or object you want to apply the transform to
align and link this object to the Dummy
Now you have m:a vertex/face transforms for the camera - and the rotation works
Achim
Other things to take note:
- If you animated an object in messiah without the Max connection but would like to now import in max for rendering, use the Messiah util option in admix under utilities tab/more/ Messiah until
Here’s a quick test(divx) of Taron’s Doggy imported in Max via messiah util and rendered with Brazil Toon shader.
I then used the above workflow to attach a camera to a plane within Max.
Note: I used the messiah expression (Follow) to parent the plane to the messiah camera.
- if your network rendering, some user’s, have recommended that folks may want to use the Point Cache Modifier.
if I missed anything, or there are other workflow improvements please let us know.
Julez,
Thx,
The doggy is Taron’s animated one that comes with MS, So I cant take credit for that.
Only thing I did is textured it with brazil Materials, added a Max Camera and rendered in Brazil
hi,
I’m a Messiah newbie, so sorry for this maybe stupid question :
> is there any way to turn the hierarchy off (like the ‘child compensation’ function in XSI) ?
thanks for your help
rangoon,
Best bet is too ask for help on the top level of the Messiah forum.
This section is for folks to post helpfull beginner tips.
is there any way to turn the hierarchy off (like the ‘child compensation’ function in XSI) ?
not exactly sure how what you mean, but you can completely disable all bones by disabling the bone deform effect.
or if you don’t want a certain bone or bones to have any influence, you can crank up the Slip on a bone.
hope that helps (somewhat)
-mG
Maya/Messiah workflow document
The not so definitive guide to Maya/Messiah workflow
I have only experimented with the Maya/messiah connection and as such these notes are only a guide to helping solve some problems you may encounter whist using messiah with Maya.
=============================================
- Installing and loading the messiah plug-in.
1a. maya.env
For the messiah plug-in to work for Maya you must not move it from its install folder. Do not copy the plug-in to the Maya plug-in folder.
Use the maya.env file located in your mydocuments/maya/5.0/
Add the line.
MAYA_PLUG_IN_PATH = C:\PROGRA~1\pmG\messiahstudio1.5\messiah
Or wherever you installed messiah. If you use multiple plug-ins with different paths the separate the paths with a colon like.
MAYA_PLUG_IN_PATH = <\Aubbfs01\Resources\Art\Maya\shared\plugins>; C:\PROGRA~1\pmG\messiahstudio1.5\messiah
(all on one line)
1b. Plug-in manager issue.
The messiah plug-in will not ‘auto load’ in Maya plug-in preferences.
You must load it every time you wish to use it in Maya.
1c. Fatal error after loading a messiah linked scene.
Maya will crash with a ‘fatal error’ if you load a non-messiah linked scene AFTER you have loaded a messiah linked scene.
Some combinations and results:
Run Maya -> Load plug-in -> Load Maya scene = NO CRASH
Run Maya -> Load plug-in -> Load messiah linked scene -> Load Maya scene = CRASH
Run Maya -> Load plug-in -> Unload plug-in at any time and click on the Maya timeline = FREEZE
Run Maya -> Load plug-in -> Load messiah linked Scene -> Unload plug-in = FREEZE
Run Maya -> Load messiah linked scene -> Load plug-in -> Load Maya scene = CRASH
Run Maya -> Load Maya scene -> Load plug-in -> Load messiah linked scene = NO CRASH
Run Maya -> Load Maya scene -> Load plug-in -> Load messiah linked scene -> Load Maya Scene = CRASH
Run Maya -> Load Maya scene -> Load plug-in -> Load Maya scene = CRASH
This last one is particularly interesting as no messiah linked scene has been activated, only the messiah plug-in loaded in plug-in manager. Yet on the first one, we can load the plug-in straight away and then load the Maya scene and numerous Maya scenes afterwards with no crash.
- Sending objects to messiah
2a. messiah -ad
You can only send one object at a time to messiah using the messiah -ad command.
Multi-selecting objects and trying to add them will result in the first mesh going through and all other meshes being corrupted.
If this happens you must delete the messiahDform node from your corrupted objects and re-applying them one by one.
Depending on Maya’s unit size an object in messiah is anywhere between 10-100 times bigger when sent to messiah. Ive had to scale down the object in messiah to 0.01 or 0.001 depending on Mayas unit scale. If you do not want to scale down the mesh thus making it tiny in Maya then the next best thing is to increase the unit size in messiah.
Use the ] key to change the unit size in messiah until you can see your object correctly.
] = change the unit size up
2b. messiah -ax
This command will send your object to messiah with a messiahXform node.
This node will not displace your objects points/vertexs. It will only constrain the move and rotate (not scale) transformation nodes to what you animate in messiah.
This is good to animate say a light parented to the null (locator) in messiah, and then this will be reflected in Maya, where you can parent a Maya light to get the same movement and rotation.
- Getting the animated mesh to render in Maya
3a. Black/Blank frames when batch rendering
Although rendering a single view port frame works.
Currently, batch rendering a messiah linked scene will output blank/black frames.
3b. Solution to batch render problem
The current solution is to bake out the messiah displacement to the object and breaking/deleting the messiah connection. I think there is a baking function in Maya but I have never used it.
I suggest using Mark Wilsons FREE point oven plug-in from <http://www.ef9.com/ef9/PO.htm>
This has the added advantage of allowing you to easily update the baked animation and having it update in Maya automatically. It works using the MDD file format which stores the displacement information of the points/vertexs over time. If you want to get the full story on how this plug-in works you should go to his web site.
Workflow goes something like this.
a. Send your objet to messiah.
b. Create your rig and animation in messiah.
b. Use the Point Oven baker plugin in messiah to output a MDD file.
c. Disconnect the messiahDform node from your object in Maya.
d. Use the Point Oven reader plugin in Maya to read the MDD file.
e. Light/Texture and render.
Information on how to Install and use the Point Oven plug-ins can be found with the plug-in install.
Thats all for now folks!
As someone else has pointed out - the docs don’t go into much detail on how to setup an hdr image to light up your scene.
" [color=SandyBrown]Image Light - Uses the intensity values in the image to cast light. You would use this to take an HDR sky image and have it illuminate your scene (apply the HDR image to the Environment material)."
[/color]So, with that having been said …
Under Basic Properties, click on the + sign next to Color.
[color=White]Select [color=YellowGreen]Texture Map from pull down menu.
Under Texture Map, click on (none) for drop down menu, select HDR image to load.
Next to Map Type[color=White], click on Planar for drop down menu, select [color=YellowGreen]HDR Image Light.
[color=White]And voila! This is the interior of a heart that I’m working on.
And without reflection.
Hope that helps! [/color][/color][/color][/color][/color][color=White][color=YellowGreen][color=White][color=YellowGreen][color=Orange]:)[/color][/color][/color][/color][/color]