Wednesday, October 2, 2013

Joint Labeling Function [Maya Python]

This is a Python function that I have created to help me do joint labeling in Maya.

[UPDATES:]
Oct 6th, 2013 - Add help docs. To access this type, 'acJntLabel.__doc__' or 'help(acJntLabel)'
Oct 8th, 2013 - Add functionality for user to pass joints through a selection or a list.

Video Demo:


Source Code:

 """  
 Title: AC_jointLabel.py  
 Author: Andrew Kin Fun Chan  
 Email: AndrewChan1985@gmail.com  
 Date: Sept 2013  
 Version: 1.0  
 Compatibility: Maya 2011+ (It will probably work in older versions as well. Contact me if you have issues.)  
 """  
 import maya.cmds as mc  
 def toList(objects):  
   """  
   This function takes in data and returns it as a list.  
   """  
   if isinstance(objects, str):  
     return [objects]  
   elif isinstance(objects, tuple):  
     return list(objects)  
   return objects  
 #acceptable side keys to use.  
 sideDict = {  
       'Center':0,   
       'Left':1,   
       'Right':2,  
       'None':3  
       }  
 #acceptable type keys to use.  
 typeDict = {  
       'None':0,  
       'Root':1,  
       'Hip':2,  
       'Knee':3,  
       'Foot':4,  
       'Toe':5,  
       'Spine':6,   
       'Neck':7,   
       'Head':8,   
       'Collar':9,   
       'Shoulder':10,  
       'Elbow':11,  
       'Hand':12,  
       'Finger':13,  
       'Thumb':14,  
       'PropA':15,  
       'PropB':16,  
       'PropC':17,  
       'Other':18,  
       'Index Finger':19,  
       'Middle Finger':20,  
       'Ring Finger':21,  
       'Pinky Finger':22,  
       'Extra Finger':23,  
       'Big Toe':24,  
       'Index Toe':25,  
       'Middle Toe':26,  
       'Ring Toe':27,  
       'Pinky Toe':28,  
       'Extra Toe':29  
       }  
 acJntLabel ('Left', 'Other',None, 'oi')  
 def acJntLabel (side, type, joints = None, *args):  
   """  
   [Description:] This is a function that joint labels using the user input or selected joints.  
   [Example:]  
     If the selected joint names were...  
       lf_joint1_bnd, lf_joint2_bnd, lf_joint3_bnd  
     I would want to assign the side to Left, type to Other,   
     and remove 'lf_' & '_bnd' from the joint label name.   
     acJntLabel ('Left', 'Other', None, 'lf_','_bnd')  
   @param side: Name of joint label side.  
   @type side: *str*  
     Acceptable side parameters:  
       'Center', 'Left', 'Right', 'None'  
   @param type: Name of joint label type.  
   @type side: *str*  
     Acceptable type parameters:  
       'None', 'Root', 'Hip', 'Knee', 'Foot', 'Toe', 'Spine', 'Neck', 'Head', 'Collar', 'Shoulder',   
       'Elbow', 'Hand', 'Finger', 'Thumb', 'PropA', 'PropB', 'PropC', 'Other', 'Index Finger', 'Middle Finger',  
       'Ring Finger', 'Pinky Finger', 'Extra Finger', 'Big Toe', 'Index Toe', 'Middle Toe', 'Ring Toe',  
       'Pinky Toe', 'Extra Toe'  
   @param joints: List of joint names to label. If param is set to None, then get joints based off user selection.  
   @type side: *str*, *tuple*, *list*   
   @param *args: Name of strings you would like to remove from the joint name.  
   @type *args: *str*  
   """  
   joints = toList(joints)  
   if not joints:  
      joints = mc.ls (sl = True)  
      if not joints:  
        raise RuntimeError('Must select or pass in joints.')  
   if side not in sideDict.keys():  
     raise RuntimeError('Side name,%s, must be one of the following: %s' % (side, sideDict.keys()))    
   if type not in typeDict.keys():  
     raise RuntimeError('Type name, %s, must be one of the following: %s' % (type, typeDict.keys()))  
   for jnt in joints:  
     print jnt  
     if not mc.objExists(jnt):  
       print '%s joint does not exist... Continuing to next joint.' % (jnt)  
       continue  
     #assigning the side and type to all selected joints.  
     mc.setAttr ((jnt + '.side'), sideDict[side])  
     mc.setAttr ((jnt + '.type'), typeDict[type])  
     jntNewName = jnt  
     #looping through the args to remove them from the name.  
     for i, arg in enumerate(args):  
       jntNewName = jntNewName.replace(arg, '')  
     #assign the name of the joint label with the new name.  
     mc.setAttr ((jnt+'.otherType'), jntNewName, type ='string' )  

Sunday, September 29, 2013

Save and Reload Selection [Maya Python]

This is a Python script for Maya that can save your selection and reload it at a later point in your session.
 ## --------------------------------------------------------------------  
 """   
 Title: AC_RememberSelection.py  
 Author: Andrew Kin Fun Chan  
 Email: AndrewChan1985@gmail.com  
 Date: Sept 2013  
 Version: 1.0  
 Compatibility: Maya 2011+ (It will probably work in older versions as well. Contact me if you have issues.)  
 Function:        Commands:  
 Load Selection:     reloadSel = AC_RememberSelection(1)  
 Reload Selection:    AC_RememberSelection(0)  
 """  
 ## --------------------------------------------------------------------  
 import maya.cmds as mc  
 def AC_RememberSelection(x):  
   if x == 1:  
     print 'Storing Selection'  
     loadSel = mc.ls(sl=True)  
   else:  
     print 'Reloading Selection.'  
     mc.select (reloadSel)  
   return (loadSel)  

Saturday, September 28, 2013

Zero Transforms with Groups. [Maya Python]

When it comes to rigging, it's important to keep controllers clean while keeping it's orientation. Since freeze transformations destroys the orientation data, this is a little script I wrote to zero out object transforms using groups.

Video Demo:


Source Code:

 ## --------------------------------------------------------------------  
 """   
 Title: AC_ZeroTransformsWithGroup.py  
 Author: Andrew Kin Fun Chan  
 Email: AndrewChan1985@gmail.com  
 Date: Sept 2013  
 Version: 1.0  
 Compatibility: Maya 2011+ (It will probably work in older versions as well. Contact me if you have issues.)  
 Install Instructions:  
      1. Copy the mel script (ZeroTransformsWithGroup.py) to your local user/scripts folder:  
        Example path to icons folder:   
        C:\Documents and Settings\*USERNAME*\My Documents\maya\#.#\scripts        
      2. Copy the icon file (ZeroTransformsWithGroup.png) to your user/prefs/icons folder:  
           Example path to icons folder:   
           C:\Documents and Settings\*USERNAME*\My Documents\maya\#.#\prefs\icons        
        3. Then type the below code into a Maya Python tab:                                 
           import AC_ZeroTransformsWithGroup as zero  
           zero.AC_ZeroTransformsWithGroup()  
      4. Create the command on the shelf and so you have a button.   
       You should now have a new shelf button.   
       When you click the button it will create a group above   
       your selection to zero out the transforms.  
 Description:  
     A script that will take your selection and zero out the   
     transforms by putting an empty group above it with matching  
     transforms. This script only works on single selection.   
 """  
 ## --------------------------------------------------------------------  
 import maya.cmds as mc  
 def AC_ZeroTransformsWithGroup():  
   #Getting the Long and Short names of my selection.  
   zeroSelection = mc.ls (sl = True, long = True)  
   zeroSelectionShort = mc.ls (sl = True, shortNames = True)  
   #Check if anything is referenced.  
   if zeroSelection == None:  
     print 'Please select something with transforms to zero out.'  
   else:  
   #Check if list is empty.  
     if not zeroSelection:  
       print 'Please select something with transforms to zero out.'  
     else:  
       print 'cool'  
       for obj in enumerate(zeroSelection):  
         i = obj[0]  
         zeroParent = mc.listRelatives (obj[1], parent = True)  
   #Create the empty group respecting the hierarchy. Checks to see if there is a parent or not.  
         if zeroParent == None:  
           mc.group ( obj[1], n = (zeroSelectionShort[i] + '_ZERO'), em = True, r = True, p = obj[1])  
           mc.parent ((zeroSelectionShort[i] + '_ZERO'), w = True)  
           mc.parent ( obj[1], (zeroSelectionShort[i] + '_ZERO'))  
           print 'Created empty zero group in world space.'  
         else:  
           mc.group ( obj[1], n = (zeroSelectionShort[i] + '_ZERO'), em = True, r = True, p = obj[1])  
           mc.parent ( (obj[1] + '|' + zeroSelectionShort[i] + '_ZERO'), zeroParent[i] )  
           mc.parent ( obj[1], (zeroSelectionShort[i] + '_ZERO'))  
           print 'Created empty zero group hierarchy.'  

Monday, December 10, 2012

Geometry Paint Tool Maya 2011 and earlier.


Geometry Paint is a tool part of Maya 2012 as part of the bonus tools, but this has been in Maya for quite some time now. I will show how to use an artisian brush to paint geometry to another geometry's surface using Maya 2011. I haven't tried this on any version earlier than 2008 but I think it's been implemented as early as that.



Make sure the geometry you want to put on the surface has the pivot on the bottom with Y axis oriented up, and have the transforms frozen at 0,0,0 world space. For the geometry you wish to paint on. It must have UVs and must be at 1001 UV space. If you can't modify the UVs because of existing texture maps, than you could use UV sets to create a second set of UVs.


On the toolbar go to Modify>Paint Scripts Tool Option Box.


If this is your first time you'll need to navigate to the Setup tab.


Type 'geometryPaint' into Tool setup cmd and hit enter.


After hitting enter, it will auto complete the rest and pop up another menu.


In Geometry fill in the name of the geometry you wish to paint. In my case, I've named it instance1, instance2, instance3, and instance4. These are the settings I chose to use in this example. I will go over some of the settings below. If you wish the geometry to be instanced have duplicate unchecked.


After you are happy with the placement of the geometries you are free to modify their translation, rotation, and scale. You'll need to set the brush to modify, and name the geometry according to modify the correct ones. For example if instance1 what I input, it will only modify those pieces. You'll need to use the brush settings by using replace/add, and using changing values. It may be easier to just manually rotate each piece after you have all the pieces oriented to get the desired rotation but I thought it would be good to cover the ability to modify through the brush.

Geometry Paint Settings:

One of the important things to take note is the U and V Grid size. In the example below I have it set to 5, and 8. In the below example the surface division level is 10, but the U and V grid size is set to 5. The brush will paint the attach the geometry to the grid point of the U and V grid you specify. In the two examples below I have Jitter Grid disabled so it is placing it uniformly.



With Jitter Grid turned on it will randomize the position of the painted objects. If you play around with Jitter Value it will also have different results.

Align option on and off. It seems to take positive Y as the vector it wants to orient to so make your your instance geometry is oriented correctly.








Below is a link to the documentation for each setting if you wish to learn more about it.
Maya Documentation on each setting

Tuesday, January 24, 2012

Joint Labeling Mel Script

This is outdated but I'll keep it here as mel reference..

Please refer to my Maya-Python function for Joint Labeling.

// This script joint labels your selected left joints. The script is very easy to modify to label the right and center joints as well.
// The script is name dependent. Currently my joints are named jntName_lf.
// It will strip out jnt and _lf from the name. If your joints are named differently feel free to modify it below in the Subsitute Command.
// If you have any questions feel free to email me at AndrewChan1985@gmail.com, or leave a comment below. Cheers!



string $mySelJnts[] = `ls -sl`;
for ($jnt in $mySelJnts)
{
// center jnts use 0.
// left jnts use 1.
// right jnts use 2.
setAttr ($jnt + ".side") 1;
// currently sets the type to other.
setAttr ($jnt + ".type") 18;
// strips out the name of the joint so have matching label names
string $jntNewName;
$jntNewName = `substitute "jnt" $jnt ""`;
$jntNewName = `substitute "_lf" $jntNewName ""`;
setAttr -type "string" ($jnt+".otherType") $jntNewName;
}


Tuesday, August 10, 2010

Interview With Emily Tse.


Andrew: Tell me a little bit about yourself, about your life? What made you want to get into this industry and focus into lighting? I understand you went to Ringling, but what classes did you study and challenges did you face that helped prepare you to become the artist that you are today? Was there any special training over at Ringling that produces such top quality students? Roughly how many hours a week did you polishing your skills to reach the level you are now, and maybe how many hours do you usually work now that you're in the industry?

Emily: I started out as a very traditional artists. Figure drawing and painting. I think traditional skills are what really helped me get to where I am. At Ringling, they have a set of classes that everyone in the major takes. You do traditional animation, CG animation, figure drawing,concept art, and storyboarding. They basically train you to be a generalist,but focus on animation. They're definitely an art school and not very technical. At Ringling, you're basically working non-stop. In the industry, at least I get to go home and rest...except during crunch. Which you still get to rest, just not as much. Normally we just work around 45 hour weeks, but crunch is definitely much more.

Andrew: Could you walk me through your hiring process for the internship Pixar,and Disney which lead to scoring a Lighting position? Did you just apply to Pixar or did the school provide connections to employees currently there? How long did it take from the time you applied, to the interview, and awarding the position? Did you do anything special with presenting your portfolio, and were you nervous when they called you for an interview?

Emily: For both Pixar and Disney I applied when they came to our school. Ringling has a great career services program. With Pixar they were fast. They came, gave interviews, left, gave phone interviews, then soon told us the results. I don't think I did anything special really. And yes, I was definitely nervous. When Disney called me, they didn't even know that I was at Pixar until I told them. So It was all just really good timing.

Andrew: Was it challenging to keep up with the internship program? After interning at both Pixar, and Disney, were you offered the apprentice position or did you have to apply for it?

Emily: They were pretty different programs. Pixar was just the internship, and was more of a classroom setup. Disney was more of an apprenticeship, where we each had our own mentors. Pixar didn't have any openings after the internship, but Disney was ramping up for Tangled, which is what I'm working on now.

Andrew: How is the environment like over at Pixar and Disney when you were there? What do you think other companies and schools can learn from these two companies with the way they train their interns?

Emily: Both environments are pretty different, and they're both great places to work at. It's interesting, cause you don't really know what it means to work there as an intern. Nothing compares to what you learn when you're actually in real production.

Andrew: Who are some of your favourite lighters? Do they have any website or show reel online?

Emily: I'm not sure if I have favorite lighters. Since I'm more of a painter, I have favorite artists. Lindsey Olivares, Sharon Calahan(who is a DP at Pixar), Bill Cone, Paul Lasaine, Ben Plouffe, and WassilyKandinsky, and Mark Rothko.

Andrew: Looking back, would there something you would change with your demoreel to better meet their expectations? Do you have any tips for students, and industry professionals who have their hopes to break into the animation feature film business?

Emily: I don't think I would change anything. I think most importantly, have passion for what you do. There's always going to be tough times, and I've been pretty lucky, but love what you do, and always strive to get better and learn more.

Andrew: I went to a school called Seneca where they offered an 8 month 3d program. After failing to get into the Pixar, I was working at a small company doing 3d work for documentaries which eventually lead to me scoring a position to work on Tron. It's cool, but my passion is really cartoons! If you can provide any feedback on my show reel and direct me as to how I can improve on it that would be super!

Emily: Congrats on the job! That's great you're working on Tron. So many people are excited about it. If you want to get more into cartoony things, you should light cartoonier. In terms of colors, you could use more variety. Not go crazy, but really look at your color contrasts. You have really nice work, but instead of the darks going more grey, you could have it going to a color. Also what's important, is lighting a scene with a character in it. And try to make sure your lighting sets a mood and tells the story,making sure the audience knows where to look.

I hope that was helpful!  I'm sure you've learned much working on Tron! Goodluck!

Wednesday, May 19, 2010

Interview With Kevin Edzenga.


Kevin was at Framestore since graduation and is now a cloth simulation artist over at Bluesky. We both graduated the same year but he's been able to climb the ladder much faster. Here's an interview I had with him.

Andrew: Could you walk me through your hiring process at Bluesky? How long did it
take from the time you applied, to the interview, and awarding of a
position? Did you do anything special with presenting your portfolio? Were
you nervous when they called you for an interview? What was your initial
reaction when Bluesky awarded you a position? Did you apply specifically for
cloth simulation artist or were you going for another position originally? I
noticed on your Youtube channel, it's mostly crowd simulation, particle, and
mel scripting reels! Do you also have a cloth simulation reel hidden away?

Kevin: The hiring process with Blue Sky was rather out of the blue. A recruiter found my reel and resume link online. He was acting like he wasn't sure where but out of all the places I put up links and my reel it had to have been found at youtube/vimeo.

But after submitting my resume and ncloth / nucleus related work to Blue Sky, through that recruiter, it took maybe a week or so before they set up an interview and got me in there the week after that. (figure about 2 weeks to get my work in to the date of my interview. Mainly because there was a nasty snow storm and kinda destroyed wed-friday of the first week.)
I was asked by the recruiter to put up a single page related to the job I was going for. The page had some stills from a few vids including ncloth and a few youtube vids that I would be able to show real easily. Definitely a good idea to make things streamline and sleek for people to view.

As for being nervous, I've had such good luck with getting contacts and getting call backs that I don't know that I've ever been really nervous. Even when I meet "famous people" has happened only a few times. I don't really care, they are people like any of us, and the last thing they need are more people falling head over heals at the sight of the person.... not like I'd do that anyway. Can't think of anyone I might do that to, maybe les claypool, stephen hawkings, and Michio Kaku(a great physicist teaching at NYU right now.)
I got in and showed my other reels to Stich (Keith Stichweh), my lead, and he watched it all, told me to say some stuff about my work as it showed (too much to say in only 2 minutes hah). He got a few of the guys in to ask me questions about my work, then put me on the spot and showed everyone in my dept. That was pretty cool, but was afraid of what after math might occur from all my stuff just being put out there in the open. Had a little bit of a waverly voice, but not really that nervous, kinda more like all these great 3d guys and I didn't know where I stood compared to them, thinking, hey, this is Blue Sky after all. Turned out I had something I could add to their dept.

As for hidden nclothness, my newest reel has one bit of ncloth but nothin crazy. I had shown a few screen shots from my friends thesis that I set up snow on the ground so as the characters would walk they would press in the snow and that was all ncloth. I also told them about some RND stuff I couldn't show because it was locked down at Framestore because the movie Salt is yet to come out.



Andrew: How is it like working at Bluesky? Did you have to do any training or
test when you started, or were you thrown right into fire? Was the learning
curve a difficult hurdle to overcome coming straight from school or was it a
smooth transition? What are the work hours like, and how is the work
atmosphere? What are some of the neat things you have learnt from other
artists that you have worked with or seen?

Kevin: Blue Sky is a blast, although the major crunch work has yet to really hit, the work I have is setting up sims and then having like 30min-an hour to play ping pong or pool. It gets really tiring, I must tell ya. Ha.

Well, the first week there was getting used to the pipeline and an hour training once a day till I got used to all the tools. Everyone here is so knowledgeable it was well worth it to expand my knowledge base.
The training was a definite help to a smooth transition into the burning hot kitchen at the time, that since has cooled to luke warm.
But I can't really mention what neatness I learned. But I can say everyone has a diverse knowledge base and can contribute a lot in their own areas, and have in situations.

Andrew: Are there any learning resources or tips you can give to students who
want to become a cloth simulation artists when the school only offer 3d
training in all the fields except dynamics?

Kevin: Uhhhhhhhh, hmmmmmm, cloth sim takes a lot of time to get processed, soooo ... learn to have patience with the definite need to rerun sims of the same thing multiple times, hah. Frankly, just try to jump into messing with settings on the ncloth shape and you can begin to see what the different settings do.
But that is what my school was like, character / animation driven. That they'd rather a nice story rather than a cool looking design and feel. There were some specialty classes, but when you go up to a teacher and ask "Should I take your class?" for them to tell you "You know, if you took my class, it might just be a waste of your time, you already know more than what I go over in the class." That was from a teacher by the name of Vic Fina II, a true generalist, modeling, animation, FX, dynamics
My teacher, Vic, who I wanted to take that class with was a great resource, having worked at CBS, NBC, CNN, and now hes at the John Stuart show now as the resident lower third, any graphics really at all guy. I would go to him to ask about dynamics and we would go into a lot of ideas, both of us learning off each other and the other like ... two students that were willing to learn things outside of the curriculum. (Both of which are now staff at Psyop and Rhino FX in NYC, great commercial companies)

Andrew: Tell me a little bit about yourself, about your life? Where did you go
to school, and what classes did you study? What challenges did you face, and
what helped prepare you to become the artist that you are today? Roughly,
how many hours a week did you spend polishing your skills to reach the level
you are at now?

Kevin: This question is a book in and of itself. I'm not an average learner. I didn't meet the standards of my public school system for reading(since I would rather be on the computer playing games or writing stories and what I called poetry) and was forced into these classes to wax me into reading more but it just pushed me more and more into my computer work at home. Starting web design when I was about 6 and level design for games like Doom and Duke Nukem 3d when I was 4-5. Which from that point turned into Bryce around age 8 or 9 before my parents bought me Ray Dream Studio 5 when I was about 10-11. That is when my crazy creations started turning into virtual life, filming things and trying to overlay 3d with video (pretty poorly I might add, having no patience for what I later found out was rotoscoping, but what do you expect I was a middle schooler). Then into highschool I took a set of classes in a Communications University Program, getting to use Final Cut Pro, Pro Tools, and everything broadcast and non. This was a great help to me, cause there was a film appreciation class, a public speaking class, philosophy class, and a few others that made it worth wild outside of just film and sound.

It was early elementary school that I started to begin to love math, to indulge myself in web scripting like html and java script. Anything logic based filled me with joy. I would play Myst for hours upon days, then got sick of it, moved to riven, got sick of that, moved to other MUDs and MOOs (respectively, Text based RPGs, text with images based RPGs) and odd other RPG / RTS(mainly starcraft, WOO! Starcraft!! hah) / Adventure games (Exile, Uru, D'ni). Then starting flash and actionscripting around age 11. Php and mySQL databases around 16-17. Doing freelance work since I was 13 for websites. A multitude of games and movie stories that have yet to come to fruition but I still strive to complete.
But even with the ill will toward reading, after going through my public school system I had found out once hitting college that my school system went over FAR more things than many many other school systems in america (from the people I've talked to). Needing to reread books in college that I read like junior year in highschool. It was as tho most of america stops where I was in sophmore year of highschool but as seniors.... it's kind of sad and made me understand why people from other countries think that americans are dimwits with no sense to even give respect to fellow men and women of the world. Many of my friends made similar assessments of their peers in college as well. I guess that is a reason they say there are good public school systems in New Jersey. Anyway, I digress to the point of your question.

I went into the School of Visual Arts in Manhattan NYC from 2005-2009 for a BFA in Computer Art; initially interested in modeling and perhaps animation having no real cocept of what was out there in this computer art field.
I was pretty much the only one doing 3d graphics in highschool and was far more interested in physics than art. But I was enlightened by the problems faced by riggers and FX artists from homework and classes in SVA; I also had no clue there was scripting in 3d, so I took to that like knats to someone standing in a field on a summer evening.
Why I chose art over physics alludes me now more than ever, welllll sorta. Initially I thought it would be more money quicker, but there are so many jobs that pay so well for physicists. Bahh, the thrill of logic problems, scripting workflows, particles / dynamics(the two closest things to real physics, yes, ncloth is just settings, no real physics work there) and coming up with awesome rigs I guess is the only things I can say now as a valid reason for being in 3d. This answer has pissed people off before, who's hearts are filled with everything 3d, sorry if you feel this way as well.


As preparation for my career choice, I used to overstep my bounds in classes. To a point where teachers almost and straight didn't like me. I'd do my own thing to mix it into homework. I thought it was pretty sweet, and only two teachers really thought it was cool what I was doing(Vic didn't like it, but took my insanity to heart and graded my work as it was rather than based around the assignment it was, Vic is soo cool). My thesis teacher liked my story ideas the first year but the second year began to dislike my work quite a bit, that I wanted my thesis to be entirely scripted, a particle and dynamic driven thesis. But he wanted a story. But I stuck to my guns and it got me an internship with Framestore 2 days after graduation (with the help of one teacher that I'll get into later in this email); then from there, even more work with them and many other companies now.

I would be working every day on new ideas. Try to come up with new things that look cool, that act with a life of their own, or tools to speed up workflow no one else has made before. I tried my best with what I knew to make the neatest stuff I could. Every day you learn something new, and I would make a point off learning something even if I slept from 9 am to 6 pm because I didn't sleep 3 days prior. For an hour span, boy, sophmore and junior year I'd catch myself doing my own work rather than school nearly 4-6 hours a day minimum. In a week I'd spend 70-80 sometimes maybe 100+ hours some weeks pure work. Literally not sleeping 3 days straight a multitude of times throughout school; living off of Chapotle burritos and energy drinks. Among some stuff I shouldn't mention, heheh.



Andrew: What inspired you to specialize in rigging, scripting, and fx? Do you
have any other ambitions or did you always know that you wanted to do that
when you were in school? Were the professors able to teach you what you
needed, or was it mostly self taught?

Kevin: Ya know, they taught us young to read all the questions before answering the first one ha, I'm sure some of this was answered above.

It was the logic problems. Figure out how to make this that or the other thing because an animator is going to need it to do this in this situation or that in the other situation. But that love of math was a good base for physics. But that is a story alone. My phyics teacher in highschool didn't like me much (also my math teacher, but again, another story) but he would teach us like we were morons because it wasn't the AP (advanced placement class) that I was forced to take because of class conflictions with that communications film/audio program in highschool. He would teach us an algorithm to do one thing and I would realize there was a far simpler algorithm to find the same answer in half the steps. He wouldn't mark me down but I can't tell you how many times I saw "Please use the math we learned in class to solve for variables in the problem."

But in college, I got a great base from every teacher in each field. Making sure to take teachers of every kind in the industry to widen my knowledge base as much as I could. I wanted to know everything to be the best TD I could and will be. Oddly enough not taking a single rigging class beyond basic IK/FK switches from Vic, which I later figured out better switches on my own. I was going to take a rigging teacher, but some reason I dropped out of that class, something about getting given answers to a problem just doesn't bode well with me.... yeah I know, stupid, but was talkin with my friend in the class, realizing I covered most of what he was doin on my own anyhow. Latices to make squash and stretchable eyes, expressions to run math, nodes to process as equations. Stuff that is basic in math, but not for artists I guess (not all, but some artists obviously)


Andrew: Aside from portfolio pieces, is there a reason that you enjoy helping out
others with their short films? I really appreciate that your helping me out
on my short film!

Kevin: Haha, no prob man. Well, I've always enjoyed helping people. I'd help many people in my classes in college just because if it was something I didn't know already, we'd work it out and find a solution.
So if by helping you I may be able to show you something you didn't know about rigging, it makes me feel good that I'm helping you expand your knowledge base.
The way I see it, people that don't help those who need help, don't help because the tricks they hold are all the tricks they know. But if you can take tricks you have and turn them into something new and unique for more than one situation, then to show something a technique is simply a small part of a huge picture.


Andrew: Is there a project, company, or director that you'll want to work with in
the future?

Kevin: I know nothing about movies, tv, radio, commercials, broadcast, what ever. Should I even be in this industry? Probably not. Everyone in my dept talk about movies and tv shows and I'm sitting here reading this awsome book on Superstrings, Super Gravity and The Theory of Everything, a really cool book on sub atomic particles and it goes into the history behind theories along with the mathematics that I've been trying to find in these commoner books for a while. I may not be in physics, but I will keep my hobbies as they always were. (These books are one reason my physics and math teachers didn't like me in highschool.)
I guess what I'm trying to say is probably ILM because they have one kick ass RND dept there, that and imageworks has a pretty sick RND/FX dept. Although my dream may be comin true at Blue Sky, they might be moving more RND/FX stuff to the cloth dept because each dept here wants to do what they specialize in and cloth is a bunch of TDs from riggers to dynamics to fx to modelers/animators. Not to mention all of us program/script in this dept.


Andrew: Who are some of your favourite FX artist, and riggers? Do they have any
website or showreel online?

Kevin: I dunno, Miguel Salek from Psyop is pretty sweet at his houdini work.

But really, his work is simple but many layers of simplicity makes something beautiful, amazingly beautiful. The reason I say its simple is that Spencer Lueders from Framestore NYC taught me sooo much about Houdini. He taught me for a semester in SVA and got me a job with Framestore working along side him doing Houdini for a Tylenol commercial and for the movie Salt doing smoke, particles, dynamics, and more Houdini stuff. He knows his stuff, not to mention he was the guy testing out Houdini while he worked at Side Effects, so he knows that program pretty much inside and out. Which is now allowing me to possibly move to a crowd simulator spot in Blue Sky using Houdini to simulate the crowds, which isn't too hard remembering what Spencer taught me. (He doesn't have a reel yet, and he even mentioned while I was at Framestore that he needed to make one, that it had been yearsssss and he still didn't have one. But you have definitely seen his work around.)

I haven't seen to many riggers that have done work that I couldn't figure out some way of doing what they did (besides a few things that required the API to write a plug in for, which I'm yet to get into, but will be soon). I hope that doesn't sound like boasting; but I've tried long and hard to get my rigging skills up to industry standards and beyond.

But this doesn't mean people like James Dick, Andy Walker, and Theo Jones aren't great, Rigger, TD, TD respectively, at Framestore NYC. I learned a bit from them, but they were also cool enough to let me do my own methods to get jobs done, as long as the project met its deadline, everything was golden.

But like I said, I don't know this industry, there are people out there that are great riggers, but the names escape me.

Andrew: Looking back, would there something you would change with your demo reel
to better meet their expectations? Do you have any tips for students, and
industry professionals who have their hopes to break into the animation
feature film business?

Kevin: Well, if you see my fall 2009 reel and my spring 2010 reel, those were the changes I wanted to make. I guess looking at the 2010 reel, I want more transitional videos taking you from piece to piece. Or maybe some sort of particle based environment that builds up into each peace in a hologram style effect of some sort. But for me to say "I wanted to adds betterz workz!@!$%!" would be futile in that I will always be adding newer and I would hope ultimately better work.

Don't get down if someone says they don't like your work, because there will always be people who say that. One, because maybe they are simply better than you; two, you could still be progressing in the field and don't have the experience yet that they would want to see; three, that you are better than they are and they feel threatened by this and make themselves feel better by putting you down.

My friend does the latter of the three often. Man he was making fun of Avatar as much as he could, I simply responded, your skills can't hold a flames to the people at weta. Man that pissed him off, and retaliated with "and you think you could have made any of those rigs or effects?" I said "yes, most of them", knowing full well there are quite a few intense rigs in Avatar, but he did the classic "yeah whatever" and shut up.