Maya for 3D Printing - Rapid Prototyping
In this course we're going to look at something a little different, creating technically accurate 3D printed parts.
# 1 01-03-2006 , 12:31 PM
skywola's Avatar
Registered User
Join Date: Jan 2004
Location: Tempe, Arizona, USA
Posts: 224

Animation Via MEL - Coming soon

I am planning on releasing the MEL program that I described earlier as sophisticated MEL animation program that:

Automatically animates both biped and quadraped characters, without using IK or any of that other crap that takes forever to set up . . . In this case, all you do is click a button on the shelf, choosing a biped or quadraped, and it creates the skeleton for the character AND when you press the play button the character walks or runs. The quadraped also hops or gallops. It is all done via MEL, so it does not require and fooling with IK, and it has "stabilization" which minimizes having to paint skin weights.
When created, the bones are in the pose position, and you then attach the character to it, hit play, and the character walks or runs away. Just like that . . . . if you hit rewind, you can re-pose the character. You can make the character walk or run in any direction, or create a crowd of characters, all walking or running in different directions.

It has a toggling control that allows you to manipulate all the fingers of each hand at once, to open or close the hand or you can toggle it to control the fingers individually.

I have copyrighted it, but I figure the best thing to do is release it to the general public, then if a commercial company is interested in using it, they can contact me for permission to use it. For non-commercial uses though, I would consider it to be open source and would be interested in your reaction to the program and any suggestions on how it may be improved.

I still need to write up a short instruction manuel for the install,
and it is 5:30 AM - :zzz: - so maybe I'll get that done tomorrow night. When I finish that I will post the code . . . user added image


"The Sage as an Astronomer: If you still see the stars as something above you, you lack the eye of knowledge." Friedrich Nietzsche
# 2 01-03-2006 , 01:12 PM
magicsy's Avatar
Subscriber
Join Date: Oct 2005
Location: Leeds
Posts: 1,154
wow! this should be great i look forward to it!

# 3 02-03-2006 , 06:27 AM
skywola's Avatar
Registered User
Join Date: Jan 2004
Location: Tempe, Arizona, USA
Posts: 224

Here is The Program . . . WalkerMan

Ok, here it is . . . Make sure you read the install note, and let me know if you are having any difficulty with installing this and getting it working. This is the first time I have shared this code, so I am not sure how smooth things will go.

Read the install file!

You have to copy the MEL files into your Maya scripts folder and rather than bother sourcing them, the easier way would be do it before you start Maya or shut Maya down and re-start it so it will load all the scripts. Then you can just type "go" in the command line and a window will come up that will allow you to drag-drop the icons to your shelf. After that you can press an icon, a window will come up with a bunch of controls . . when you press the play button, you will see the biped walk, all you have to do is put on the character mesh. The quadraped is set up so it does not move horizontally, until you set the speed, so it is easy to see the four gates that you can put the quadraped in, then when you want to actually animate, all you have to do is play with the speed control to get it to go.

Attached Files
File Type: zip walkerman.zip (160.1 KB, 366 views)

"The Sage as an Astronomer: If you still see the stars as something above you, you lack the eye of knowledge." Friedrich Nietzsche
# 4 02-03-2006 , 06:37 AM
skywola's Avatar
Registered User
Join Date: Jan 2004
Location: Tempe, Arizona, USA
Posts: 224
One of the things I forgot to mention was, when you set it up with the character, there is a "Stabilize" button that you need to hit just before you skin the character. This reduces the amount of painting skin weights you need to do. . . . There is a stabilize button for the biped and for the quadraped.


Also . . I have it set up so that you can attach the eyes to the joints that are located where the eyes should be . . . . The way to set them up is:

After you have skinned the character, select the character, then select one of the "eye joints" (you have to do it in this specific order) then go to Skin>Edit Smooth Skin>Remove Influence. Do that for the left and right eye. The parent the actual eyes that you have to these joints, and you will now be able to control them by the window sliders.


"The Sage as an Astronomer: If you still see the stars as something above you, you lack the eye of knowledge." Friedrich Nietzsche
# 5 09-03-2006 , 08:38 AM
Falott's Avatar
Registered User
Join Date: Jan 2005
Location: vienna
Posts: 1,095
you are sick man! 39 scripts!! just downloaded the walkerman.zip and I can hardly await to try that out. I have to finish a project in zBrush this week however, so I play with your scripts next week and tell you what I think.


how long did it take you to write the complete thing?
and have you got any feedback from others on walkerman yet?


everything starts and ends in the right place at the right time.
# 6 09-03-2006 , 03:04 PM
skywola's Avatar
Registered User
Join Date: Jan 2004
Location: Tempe, Arizona, USA
Posts: 224
I worked on it on and off for about three years, and was learning MEL as I progressed, so it went through some radical changes.

The first stage of it involved finding an efficient way to make the joints move in a cyclical manner, then I had to convert what I saw (observing people walking) to a mathmatical formula, and then once I had that I had to find a way to gain control of each joint and be able to change the coding on the fly, so I could convert a walk to a run by just hitting a button.

So far I have not had any comments from anyone on it, their probably busy playing around with it . . . :bandit:

Right now I am working on creating a function for it that will create a centaur, and also a un-related script that will allow me to take an MIDI file and use its info to animate a piano player.


"The Sage as an Astronomer: If you still see the stars as something above you, you lack the eye of knowledge." Friedrich Nietzsche
# 7 09-03-2006 , 04:01 PM
Falott's Avatar
Registered User
Join Date: Jan 2005
Location: vienna
Posts: 1,095
let me say: you are a freak! I admire your mathematical mind. basically I´m scared of such in deep solutions you provide with your walkerman for example. cause I usually have to understand how everything works with default maya tools, and afterwards might possibly be able to use mel scripts people like you write. a year ago I felt like a noob with maya. but since i stick my nose into scripts now I feel even more noob then in the beginning. when does all this become easy cheesy??


everything starts and ends in the right place at the right time.
# 8 09-03-2006 , 04:25 PM
skywola's Avatar
Registered User
Join Date: Jan 2004
Location: Tempe, Arizona, USA
Posts: 224
At some point, you will come to the realization when you are writing MEL script that you can do anything if you divide and conquer. That was the approach I used with Walkerman, when I needed to do a particular thing, I would just concentrate on that particular issue, not the whole big picture. If possible, I would create the simplest example of what I needed as a starting point, and experiment with possible solutions, and then once I had found what i thought might work, I would then attempt to impliment it with the whole program.

Often I will delete out all of the code that is not pertinent to the coding I am attempting to impliment, just take a CHOPPED, very small part of a procedure, and work with it so all I have to deal with is a small simple piece of code, then when I get it working, plug it in to the regular code.

One of the biggest and most complex issues I ran into with Walkerman was how to identify and re-code each function that needed to be changed, to change a walk to a run with the click of a button. With my first attempt, I just numbered each function, so if I needed to modify, say function 12, I would just do a search for function 12, then modify it.

I ran into problems with that though when I started the quadraped project and needed MORE functions or had to replace any functions, and had to go back to the drawing board. In the end I coded a method to search for the string of code that controlled each individual joint attribute . .. i.e. ls.rotateX = bla bla bla . . . . I would just search for the string "ls.rotateX", and then edit that code. A rather novel and unconventional method, but a very effective way of identifying each function, with no room for error.

Coding is kind of like understanding German in a way, because with the German language, many people are intimidated by it, but if you learn some of it, you eventually come to the realizartion that most of those big words are nothing but a lot of simpler words all strung together . . . .


"The Sage as an Astronomer: If you still see the stars as something above you, you lack the eye of knowledge." Friedrich Nietzsche
# 9 09-03-2006 , 06:26 PM
Falott's Avatar
Registered User
Join Date: Jan 2005
Location: vienna
Posts: 1,095

you eventually come to the realizartion that most of those big words are nothing but a lot of simpler words all strung together . . . .


mit einer sprache aus zusammengesetzten hauptwörtern is das ja dann die beste Ausgangssituation, hehe!

I understand. until now I´ve rather looked at code as a big mess of letters and variables without much context. dividing into parts is a good starting point.

now watch this. it is a regular word, although not used quite often..

donaudampfschifffahrtsgesellschaftkapitänsmützen knopf


for me MEL still looks like this one word. hope you get the time to throw out a tutorial some time. in case I don´t realize you posted one, please pm me or something.

have a nice day!


everything starts and ends in the right place at the right time.
# 10 10-03-2006 , 06:22 AM
skywola's Avatar
Registered User
Join Date: Jan 2004
Location: Tempe, Arizona, USA
Posts: 224
I have posted several tutorials for mel aready in this MEL forum, I guess that is where I will post any new ones. Just look for any of my posts in Mel Scripts & Programming, I have already got a few in here.

"Why Should you learn MEL . . ." in Maya chat is a good one if you do not yet understand how to create shelf icons and commands . . . it is a real good start point, because it demonstrates how you can learn MEL and apply it even before you are writing code!


"The Sage as an Astronomer: If you still see the stars as something above you, you lack the eye of knowledge." Friedrich Nietzsche
# 11 10-03-2006 , 07:29 AM
Falott's Avatar
Registered User
Join Date: Jan 2005
Location: vienna
Posts: 1,095
thx, I´ll have a look at those.


everything starts and ends in the right place at the right time.
Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads