PDA

View Full Version : acceleration, armatures and return-types


secretalienlab
12-03-2004, 03:22 PM
Hello all!
I posted this on the messiah group on yahoo but didn´t get any response so I´m reposting here..
I´m still on experimental stage in messiah, anyway..

1. Is it possible to force an armature to work directly on a channel, instead of via the edit-sphere?
I´m thinking maily about rotations and looking to work around the gimbal issue, also makin it possible to do a 180+ degree rotation without the messiah going the "shortest distance". If I´m not making sense: rotation on e.g. pitch will only affect the pitch anim-curve.

2. Can I get the acceleration and speed vector from those functions? Or maybe "isolate" the functions to one axis at a time? I´m trying to re-make a few nice lag&bounce scripts for secondary anim that a made for Maya.. (maybe it´s already there? if so, how do I access the vector components in expressions?)


3. It would be very nice to see the return type of functions (float, vector, int etc), both in the app and in the docs. The maya MEL reference is a very good example here..

Thanks

-mattias

chikega
12-03-2004, 06:37 PM
Sounds really promising ... wish I could be more help. If somebody doesn't chime in here shortly. You may try posting to the: pmGdev Yahoo! Group.

ThomasHelzle
12-03-2004, 09:11 PM
OK, I'll give it a try - I hoped someone else would step in :-)
I am not completely sure I understand what you are trying to do so I thought a maya man may be more appropriate for an answer...
Here you go anyway:

1.) You can make armatures do pretty much everything with the run expression drag action. From your request, I assume that you don't want to do it with sliders or just the numeric entry. If you give an example of what you want to achieve I may be of more help.

If you use parent coordinates (which is the internal used system), only the used channel will be affected (pitch or heading or bank). The other coordinate systems are automatically translated in parent coordinates so you get changes on all three channels very often. You can't do much about that but parent your stuff to Null objects etc.

2.) I don't think there are speed functions for rotations in messiah. For translation speed there is the "Speed" expression and for acceleration - you guess it - there is the "Acceleration" expression. I would rather work with sliders here, much clearer to access with expressions.
Regarding speed from rotations, you will have to build your own functions for that. To access the rotation of a certain object at the current time you use for instance [yourobject:heading].
You can get the rotations at a different time with [yourobject:heading@NOW-1] which gives you the heading one frame before the current time.
Look at this tip at Zoogono for even more examples:
http://www.zoogono.com/tips.cfm?tid=3
I am a bit unsure about your vector question. What is it you want to access?

3.) Go to your systems temp directory. There is a messiah folder. Open "function_list.txt". One entry for each available function with the return type noted. This file is written every time you open messiah so it contains the latest info and also plugin expressions.
Also, in the helpfile you have each available function explained with their returntype.
In the expression editor you can press the Dbg button at the bottom of the expression list to see the returntype and value of your expressions.

You will have to take some time to adapt to messiah. Maya is a totally different beast. The scripting in messiah is much simpler and straightforward. For more control, you may want to look into the C SDK.

I hope this helps :)

Cheers,

secretalienlab
12-04-2004, 12:54 PM
Thanks very much!
I´m not going to use any rotations calculations, just single bone ik´s and a null-rig..
Thanks for the function list tip also! I´m gonna try using expressions for the armatures and see if I can get what I´m after!

-mattias

CGTalk Moderation
01-20-2006, 02:00 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.