Help - Search - Members - Calendar
Full Version: Quick Start: Expressions
Hash, Inc. Forums > Technical Direction and Development (Learning Animation:Master) > A:M Rigging & Relationships > Expressions
Pages: 1, 2, 3
itsjustme
Okay, here's the idea. Short, focused tutorials on Expressions (for now) with included subtitles put together by anyone that wants to contribute. If you would like to make a tutorial (or several), post them in this thread. I'm thinking they will go into a collection in possibly several forms depending on what we come up with as a community. If you would like to translate subtitles into another language, that would be very cool of you and help a lot of people as well.

I'm going to treat this as an experiment for the moment, but I hope it will expand...we'll see what happens.

The criteria for the tutorials are as follows:

1. Under five minutes in total length. This will make each tutorial more focused and easier to put together.

2. 900x600 screen size.

3. Five second splash screen at the beginning showing the subject of the tutorial and your name (I'm providing a background image for that purpose in PNG format in this post).

4. If possible, a subtitle file would be a great help for anyone that doesn't speak english or is hearing impaired...or if something gets garbled in the audio, there's something that can be referred to.

5. You can use whatever video compression you like, but try to keep it to something most people would be able to view. I used H.264 encoded Quicktime for mine.


Some tips to make things a little easier when making these tutorials:

1. Write a script...it helps a lot. Not only will it cut down on mistakes, it also provides something very easy to cut and paste from when making the subtitles.

2. I generally record the audio first, edit that and then listen to the audio while I record the video in order to keep things in sync.

3. If you want to match the font used on the splash screen, it is "Comic Sans MS Bold" (I used GIMP and set the size to "25" for my name and subject).

4. Free software I used to make the tutorials I put together (Windows): GIMP, Subtitle Workshop, Virtualdub, CamStudio, Audacity and SUPER. I also used Quicktime Pro, which is not free, but is very inexpensive.

I'll add the three I made last night...who's in?


itsjustme
I'll start it off:

1. Controlling bone rotation with Expressions.

2. Controlling bone scaling behavior with Expressions.

3. If_Then Expression function.


Fuchur
QUOTE(itsjustme @ Feb 19 2011, 05:40 AM) *
I'll start it off:

1. Controlling bone rotation with Expressions.

2. Controlling bone scaling behavior with Expressions.

3. If_Then Expression function.


Interesting. See my signature for tutorials on how to create video tutorials.
Have to watch your tut on if then.... I thought it wasnt implemented yet.

(on a handheld right now).

See you
*Fuchur*
NancyGormezano
Nicely done David - I very much like the style of presentation. Keeping it short, focused, rehearsed, small screen size, small file size, downloadable makes these a pleasure to watch, as well as scrubable for later reference! Your voice, pacing is excellent as well. Thank you!

(And thank you again, Gerald for the illustration tut on making video tuts!)
DJBREIT
These where nice and focused tut's. smile.gif
Keep them coming.
I could have user some of these when I was working on the GG1. When I get some time I should redo the GG1 set up.
Xtaz
Here is my contribution to this very helpful topic ....
HomeSlice
QUOTE(Xtaz @ Feb 27 2011, 06:22 AM) *
Here is my contribution to this very helpful topic ....

Marcos, that was an awesome tutorial. It was very clever how you used a "Translate To" constraint to get the diameter of your wheels. I will definitely be referring back to this. Thank You!
Xtaz
QUOTE(HomeSlice @ Feb 27 2011, 03:07 PM) *
It was very clever how you used a "Translate To" constraint to get the diameter of your wheels

this is a trick taught by the master David Simmons aka ' itsjustme' . Give thanks to him.
nino banano
very usefull..Thanks for share it, David...Is very nice to know about expressions...thanks a lot...and very well aplication , Marcos smile.gif
itsjustme
Great tutorial, Marcos! Thanks for sharing, it will help a lot of people.
itsjustme
Here's one for "Abs()" and "RGB()" functions.


HomeSlice
Thanks again David.
jakerupert
Thanks a lot!
Fantastic!
jakerupert
Hi Marcos,

Sorry I am too dumb for your tutorial, it seems.

First I don`t get , how you measure the diameter with that translate constraint???
The first measure bone jumps to the second and then?
How do I measure the diameter then?
That part seems to be missing...

Second, why do you need that positions for z and w from that inner circle beforehand?

Maybe somebody , who managed to follow this tutorial succsessfully can explain a little further, maybe something will pop up in my brain.

Thanks for your help
itsjustme
QUOTE(jakerupert @ Apr 1 2011, 09:34 AM) *
First I don`t get , how you measure the diameter with that translate constraint???
The first measure bone jumps to the second and then?
How do I measure the diameter then?


Yesir, the measure bone is translated to it's target, which gives it a value in it's "Z" for "Transform/Translate"...which can be used in the Expression. You can type in the diameter as well, however, the number would vary depending on whether you have A:M set for centimeters or inches. Internally A:M uses centimeters, but using the distance traveled by the measure bone makes A:M do the calculating for you and eliminates the differences between someone with their settings for inches or centimeters (it also gives you the ability to adjust the diameter on-the-fly and have the Expression not break down).


QUOTE(jakerupert @ Apr 1 2011, 09:34 AM) *
Second, why do you need that positions for z and w from that inner circle beforehand?


Marcos used those numbers to find the center of each wheel in order to place the axles in the correct position.

Hope that helps, Jake.
jakerupert
Thank you David. That will sure help.

itsjustme
Here's another one. This covers the "Cos()", "Sin()" and "GetTime()" functions. I included the model used in the tutorial along with the video and subtitle files.


nimblepix
Wow, these are amazing!
They are so clear and concise.
Thank you.
jason1025
This is so valuable.
HomeSlice
woohoo, another gem. Thanks David!
mtpeak2
Cool stuff David.

Played with the model a bit with onion skin ON and rendered in shaded mode.

NancyGormezano
QUOTE(mtpeak2 @ Apr 4 2011, 06:40 PM) *
Played with the model a bit with onion skin ON and rendered in shaded mode.


Whoa! FABULOUS!

Nice tutorial David - thanks!
itsjustme
QUOTE(mtpeak2 @ Apr 4 2011, 08:40 PM) *
Cool stuff David.

Played with the model a bit with onion skin ON and rendered in shaded mode.


LOL! That was extremely cool, Mark!
jakerupert
Hi David,

I know, this is no wishconcert here, but maybe you or someone could try on a tutorial for an expression for a propeller rotate, whichs speed would be related
to somekind of throttle?
err...it`s just......I could use that one.

By the way it would be great to add the most "usual" practical uses as examples for each expression, so that newbies can tell, if they need them.

For instance, what would be the most practical use for your latest expression?
Animus
Thank you David!

Very useful and interesting tutorials.

Michel
jakerupert
Hi David, Carlos,

I am still having great trouble to follow the wheel rotation-Tut.

I am at the point, where I try to edit the expression, but when I have the editing window open with the cursor blinking
and go down to the action then more then drivers I reach the mainbone but when I click it, I cant activate it
and so don`t get the translate to Z typed into the window.

Maybe this tut is too fast for me.

Any help please?!
itsjustme
QUOTE(jakerupert @ Apr 6 2011, 08:40 AM) *
Hi David, Carlos,

I am still having great trouble to follow the wheel rotation-Tut.

I am at the point, where I try to edit the expression, but when I have the editing window open with the cursor blinking
and go down to the action then more then drivers I reach the mainbone but when I click it, I cant activate it
and so don`t get the translate to Z typed into the window.

Maybe this tut is too fast for me.

Any help please?!


I jump to the "Properties" window in the tutorial because otherwise the window will act like you hit "Enter" and close when it goes out of view. I didn't say why I was doing it in the tutorial.

Hope that helps, Jake.
jakerupert
Sadly no. I feel like an idiot.

I have two windows, where I can type in expressions, one in the pws underneath the bone and one in the properties.
Both close , when I go to the controller bone in the action, so they cant adopt any values.

Do I have to have my windows all docked in order to do this perhaps? I have them free floating on two monitors...
itsjustme
QUOTE(jakerupert @ Apr 6 2011, 09:14 AM) *
Sadly no. I feel like an idiot.

I have two windows, where I can type in expressions, one in the pws underneath the bone and one in the properties.
Both close , when I go to the controller bone in the action, so they cant adopt any values.

Do I have to have my windows all docked in order to do this perhaps? I have them free floating on two monitors...


I'm not sure...try docking them. I think someone else had a similar problem.
jakerupert
Yes docking solved the problem. Thank you!

Maybe that`s worth mentioning in the tut, else many people might turn away again from expressions right at the beginning....
itsjustme
QUOTE(jakerupert @ Apr 6 2011, 04:59 AM) *
Hi David,

I know, this is no wishconcert here, but maybe you or someone could try on a tutorial for an expression for a propeller rotate, whichs speed would be related
to somekind of throttle?
err...it`s just......I could use that one.

By the way it would be great to add the most "usual" practical uses as examples for each expression, so that newbies can tell, if they need them.

For instance, what would be the most practical use for your latest expression?


I started to throw together something quick for your propeller, but I may have found an issue in v15 that I didn't get in v13...it might also just be me (I should have been asleep hours ago). I'll double-check myself when I wake up next.

The latest one could be used for a propeller with a throttle wink.gif...there was that issue to track down though, I'll let you know after I've slept.
jakerupert
Thanks a lot.

Sadly I was happy too fast with that window issue.
I managed to insert code just once, but can`t reproduce it. So stuck again...

Maybe it`s something with my computer... Sigh
itsjustme
QUOTE(jakerupert @ Apr 6 2011, 09:41 AM) *
Yes docking solved the problem. Thank you!

Maybe that`s worth mentioning in the tut, else many people might turn away again from expressions right at the beginning....


It's one of those things that shouldn't happen...and it might get fixed, so I'm not sure if I should include it in a tutorial. I'm not sure if it was an issue in previous versions.
itsjustme
QUOTE(jakerupert @ Apr 6 2011, 10:00 AM) *
Thanks a lot.

Sadly I was happy too fast with that window issue.
I managed to insert code just once, but can`t reproduce it. So stuck again...

Maybe it`s something with my computer... Sigh


If you could make a video screen capture of the process you go through, maybe we can figure out what to do different. I'm off to bed for now.
jakerupert
Yes, thank you David, I managed to screencapture it though without sound, but nevertheless here you can see, where I get stuck.

When I want to select the property of the controller bone, I simply cant activate anything there...



(Hasen`t there been an initiative to be able to upload also other files then .mov like for example .avi lately?
Is this still in the making?)
NancyGormezano
QUOTE(jakerupert @ Apr 6 2011, 10:17 AM) *
Yes, thank you David, I managed to screencapture it though without sound, but nevertheless here you can see, where I get stuck.
When I want to select the property of the controller bone, I simply cant activate anything there...


I understand your frustration - I too find it very tricky, cumbersome to select properties - but I think? to make it work the trick is:

1) Make sure tools/options/global/show property triangle is clicked

2) when you go to edit the expression - make sure you click in the blank or "white box" First before you go to "show more drivers" and then when you open up the properties for the other bone - it should register.
jakerupert
I think I found the error:
I clicked the second bone expecting the property window to change for my input, as normaly is,
but instead I had to open the triangle below the bone to reach its properties.
Now I can make my input.

But:

I get a syntaxerrormessage now.

Next problem...
itsjustme
QUOTE(jakerupert @ Apr 6 2011, 12:17 PM) *
Yes, thank you David, I managed to screencapture it though without sound, but nevertheless here you can see, where I get stuck.

When I want to select the property of the controller bone, I simply cant activate anything there...



(Hasen`t there been an initiative to be able to upload also other files then .mov like for example .avi lately?
Is this still in the making?)


In your video, it looks like that when you make the Expression, you select the bone from the "Bones" folder of the model...you should be selecting it from within the Pose. If you click on the open Pose window to get back into the Pose, then select the bone in there, it should fix your problem.

QUOTE(jakerupert @ Apr 6 2011, 12:58 PM) *
I think I found the error:
I clicked the second bone expecting the property window to change for my input, as normaly is,
but instead I had to open the triangle below the bone to reach its properties.
Now I can make my input.

But:

I get a syntaxerrormessage now.

Next problem...


If you make another screen capture video, maybe it will help find your problem as well.
itsjustme
QUOTE(itsjustme @ Apr 6 2011, 09:56 AM) *
QUOTE(jakerupert @ Apr 6 2011, 04:59 AM) *
Hi David,

I know, this is no wishconcert here, but maybe you or someone could try on a tutorial for an expression for a propeller rotate, whichs speed would be related
to somekind of throttle?
err...it`s just......I could use that one.

By the way it would be great to add the most "usual" practical uses as examples for each expression, so that newbies can tell, if they need them.

For instance, what would be the most practical use for your latest expression?


I started to throw together something quick for your propeller, but I may have found an issue in v15 that I didn't get in v13...it might also just be me (I should have been asleep hours ago). I'll double-check myself when I wake up next.

The latest one could be used for a propeller with a throttle wink.gif...there was that issue to track down though, I'll let you know after I've slept.


I looked at it again after getting some sleep and have decided it was the speed I had the propeller rotating at and not a problem with the software. So, here's the same setup from the circular orbit tutorial with a propeller being controlled by it. I decided that the maximum usable speed was at the "4500" setting...over that, you'll get some optical illusions because it will be conflicting with the frame rate (I had it set to 30 FPS).

Of course, there are other ways to get the same result, but this should work.

Hope that helps, Jake.


jakerupert
Yes David, the Syntax error resulted, because I was still in the model window.
Oh these silly beginners errors, thanks a lot for your help, David.

( Over the years I found that manytimes, when I run into problems, its because of some inconsistencies within AMs GUI, meaning some things may function differently, when you are in the model department then in the bones section or when you do a pose or are moving around in the timeline. I dont critisize that, because it certainly has some very justified technical reasons, but its always good to be aware of, whenever you wonder, why the hell certain things don`t work like you are expecting it.)

Seems I am all settled to experiment with expressions finally.

And I am very happy about that Screencapture-tool from Camtasia. What a fantastic way of clarifying problems. And version 3.0 you can get free.
We all should have and use it.

jakerupert
Hurrah, my first expression in action:

Since all the wheels have the same diameter, I constrained the front wheels "roll like" the backwheels,
the right wheels with a negativ value, to make all the bone roll in the same direction.
By the way, how can I offset a roll like constraint to make it roll in the opposite direction like the bone it`s constrained to?
itsjustme
QUOTE(jakerupert @ Apr 7 2011, 05:10 AM) *
Hurrah, my first expression in action:

Since all the wheels have the same diameter, I constrained the front wheels "roll like" the backwheels,
the right wheels with a negativ value, to make all the bone roll in the same direction.
By the way, how can I offset a roll like constraint to make it roll in the opposite direction like the bone it`s constrained to?


Cool, Jake! It looks like your wheels are rotating backward (at least it appears they are from the video)...easy enough to correct though.

If you use a "roll like" constraint, you would have to change the orientation of the bone to be the opposite in order to get it to roll in the opposite direction (your wheel bones are oriented opposite left from right in your video)...if the bone is oriented the same, it will roll the same.

Hope that helps.
mtpeak2
QUOTE
By the way, how can I offset a roll like constraint to make it roll in the opposite direction like the bone it`s constrained to?

Set the roll scale to -100 in the constraint.

Since all the wheels are rotating backwards, set a negative value in the expression.
HomeSlice
One thing I've always wanted to "get", the but solution has eluded me so far...
Is there a way to use expressions to make the cars in a train follow the engine around a track with arbitrary turns, hills, valleys etc?
Assigning all the cars to a path constraint and manually keyframeing the Ease property for each car gets pretty cumbersome if there are a lot of cars in the train.
mtpeak2
Translate to and orient like contraints with lag settings. I'm sure there is a way with expressions, but it's probably the same amount of setup as constraints.
jakerupert
Thats very strange, I was quite sure, when I dragged the car around manually, the wheels turned the right direction.

Retried in a new action and voila now it works correctly.

Don`t know, what I messed up in that first action (maybe I deleted some keyframe inbetween, that I unvoluntarily caused, both cars are exactly the same,
not does it matter that much anymore... just want to avoid it for the futiure.
jakerupert
Hi David,

While doing your Propeller-Tut, again I ran into difficulties:

I redid the first part of it now three times, but when I try the action, nothing moves.

Maybe you could have a look at my pose and tell me, where I turned wrong?

(The wheelrotation is great and what I have been waiting for years, Thanks again to you and Carlos!!!)
itsjustme
QUOTE(jakerupert @ Apr 11 2011, 12:33 PM) *
Hi David,

While doing your Propeller-Tut, again I ran into difficulties:

I redid the first part of it now three times, but when I try the action, nothing moves.

Maybe you could have a look at my pose and tell me, where I turned wrong?

(The wheelrotation is great and what I have been waiting for years, Thanks again to you and Marcos!!!)


There was an "aim roll at" constraint that needed to be added along with the "speed" Pose. This updated model should work.


jakerupert
Thanks a lot.
Is it possible, that this part is missing in your Tutorial?
itsjustme
QUOTE(jakerupert @ Apr 11 2011, 01:23 PM) *
Thanks a lot.
Is it possible, that this part is missing in your Tutorial?


The propeller part wasn't part of the tutorial, it was adapted from the tutorial. The circular orbit works as it was intended in the tutorial.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.