NavHeader
journalHeader

Thursday, January 5, 2012

Happy New Year. Hope it's not our last!

Sorry for the gibe, keeping seeing blurbs about Mayan prophecies. Hope everyone had a good New Year celebration. My wife and I brought it in playing games with neighbors and eating pancakes and bacon after the clock turned.

Like most folks, I took the time to take inventory for the year. 2011 was a great year for the studio of one on the prairie. I'm grateful for all the projects that came along and I made a lot of progress leaning python as well. In terms of projects the highlight of the year was definitely the Nintendo E3 project though there was a close one the last couple of months that I'll be able to add to the reel sometime towards the end of the year if schedules go according to plan.

Morpheus has been blazing a trail across the internets and this month saw some great entries on the 11 second club. Including number 2...


My hopeful plans for the year is....
  • February - closed release of the first pass of rigging tools
  • April - closed release of the character rigging system
  • Learn ZBrush and start working on some new characters
  • Fall - Morpheus 2.0
Oh, and whatever projects come along a well:) Wish I could find away to make money just making stuff for other people but not found a way to do it. Yet.

Blessings on you and yours for the new year.

Monday, December 5, 2011

Merry (Insert your winter holiday of choice, but for me...) Christmas!

Morphy tip of the month: If you're having slow playback, try commenting out the squash stretch expression. How do you do that? Open the animation expression editor and find the morphy squash stretch expression. At the very front, put a '/*' and at the very end, put a '*/'. Then edit. 
Morphy is one year old this month. Happy birthday, buddy.

First off, if you're interested in listening. I had the pleasure of being interviewed by a passionate animator in Austin and that podcast is now up. (Does everyone think they sound more nasally than they think they should when hearing one's voice?) - http://altanimation.podomatic.com/

Back to Morphy....

Some fantastic facial poses in this one.


From a guy who's been on here a few times. Great work!

A wip I stumbled across on vimeo.


Several shots on Stina's reel


AND this month in the 11 Second Club of Awesomesauce there were some great entries with a Morphy entry placing second. Some of my favorites were:

Sunday, December 4, 2011

It's gui in the middle...

My first GUI!

So, I've been learning python for the last year and have piles of tools I could use...when my brain remembered which module they were in and what the call arguments were. Handy, I know. As efficient as that was with all of our diabolical plans it made sense to have tools that were usable for other people.

Initially I looked at doing QT but after talking to some friends I had concerns about compatibility with artists all over the place. Eventually these tools will be a part of the Morpheus suite so I wanted to get as few potential blocks out of the road as possible. 

So the last few days I've been digging in to basic maya gui making and all the craziness that entails. Adding error checks (that seemingly Maya 2010 and below don't support mc.warning nor the wordWrap tag...yay....) and getting a feel for things. 

Now I've got a pretty well functioning tool in 2011 and above. 

Some of my thinking in designing a tool...
  • One button/many functions - One things I love in silo is how so many tools are contextual and that's something I've tried to emulate where possible. So there's a lot of logic going on behind the scenes to figure out what do based on your selection
  • Easy help - the help stuff doesn't load by default (it's the stuff with the lightest back), there's a toggle that turns it on. It's on in the attached image
  • Build a base tool module that all the rest of our tools can be built from.
  • Less steps. Anything created with a tool should be named intelligently. I'm using my bbAutoName stuff as a base for naming everything in the system and it's working pretty well so far.

What does bbLocinator do? 
  • Makes named locators off of pretty much anything - anything with a pivot, faces, verts, edges, cvs, curve or surface points and I think that's it.
  • Locators created match point, rotation and rotation order of source objects wherever possible.
  • Creates locators at the pivot of objects by default (objects only, not components), option to make it use the bounding box center for point position if desired
  • Intelligent naming - you'll always know where a locator came by just looking at it's name
  • Create a loc at the center of a selection - objects, edges, whatever...
  • Create a loc that's the closest point on a surface to a target object - works with polies, nurbsSurfaces, and curves
  • Loc every cv of a curve either at the cv position or at the closest point on the curve to that cv
  • Update any locator made with the tool either over time or just on the frame you're on
  • Tag an object with a locator so you can update that objects position just like the locator
  • Bake every frame or just keys on the tracked object
What's next?
  • Get the template stuff nailed down so that any tool can call  what it needs. 
  • Several other batches of scripts need to be gui'd
  • Figure out how to handle older versions of Maya 
If you have thoughts, suggestions, insults or whatever, post em!

Wednesday, November 9, 2011

Only one month to 2012....

Where does the time go....seriously.

Morphy Tip of the Month: Please, please read the docs or check the threads on 11 second club. Most of the emailed questions are a bit... repetitive:) 
This month in Morpheus....

Some great posing here and I do believe the first cross dressed Morphy:)
Do believe this is the first cross dressing Morphy vid I've seen:)
Great showing on the 11 second club this month with Morpheus entries in 2nd, 3rd and 4th places as well as peppering through the rest of the entries. AND most of them female. Bout time:) Nice work all!

As a short update -
  • Been working hard on a cartoony freelance gig (animation and rigging) for the past couple of months and locked on that through early December. Had a lot of fun with it and can't wait to see the final renders. It's NDA so it'll be a while till it makes the reel.
  • Garden City is moving along as well and deep in cloth sim and shader work. Bokser has been sending me updates and it's looking awesome. The film may actually be out by next summer. Whoda thunk!?
  • Hoping to get a nice block of time at the start of the year to finish up the rigger but we'll see how that shakes out with work and all.
  • SO MANY GAMES. Batman was incredible. Zelda in a couple of weeks. Loved Orcs Must Die and playing suffering (seriously, a death penalty that makes sections an unnecessary time sink?) through Guild Wars just because the sequal looks so amazing. 

Wednesday, October 5, 2011

Is it really October already....

Morphy Tip of the Month - If you hit render and all you see is black. You're most likely either 1) not using mentalRay or 2) don't have the textures connected

Been a bit busy, started another project I'll be in through December and last week did a demo of Morphy at the Austin Autodesk Group - it was a fun time and nice to see some old friends. Got a link from someone with  pretty sweet lookin camera rig I'd love to try out when I can. Check it out here - http://renatopolimeno.com/rp_camerarig/

Fun blacksmithing one

Some great Morphy work on a reel

From the 11 second club -

Friday, September 9, 2011

A Week in the Life Between Gigs...

Some folks wonder what freelancers do between gigs. Well I can't speak for them but for me more than a few days without a project to work on is a painful thing - I just really enjoy making stuff. As I've been posting sporadically, since the start of the year I've been working on a python rigger so aside from doing a little animation with Morphy a few months ago, that's what I work on.

Aside from the typical things of course . Like spending time with my wife when she gets home, grocery store trips, joggin the dog, cookin dinner and workin through mountain of stuff that gets put on the backburner when those crazy gigs come - oil changes, home repairs and the like. Also reading books. I read . A lot. My brother got me caught on The Game of Thrones series so that's kept me busy about a month of reading. Should finish the last one (so far) next week or so. Highly recommended if you like the fantasy genre in the slightest - except for you, mom....maybe a little non-PG. Some characters I've loathed I've come to really like. Except Cersei, I'll be amazed if Mr. Martin can redeem her.

Back to python. Maybe other TD's work different. I've never really worked in a studio setting with other td's writting code so I don't know but I find myself circling back through things I thought I'd fixed days before.  Also, my libraries of functions have gotten huge. Can't believe how long it took to figure out the traceback feature in Maya....like this week. Some days I feel like an idiot.

Here's my running log from this week so far(which I've been using evernote for note keeping and really enjoying). For code writing I'm using jEdit and version tracking via an online code repository.

Mon

  • bbRiggingLib
    • locMeSurfaceCV
    • setCurveByColor(obj,color)
    • setCurveByIndex(obj,colorIndex)
  • bbDistanceLib
    • returnDirectionSortedDict(targetObject,objectList)
    • returnClosestObjectsFromAim(targetObject,objectList) 
  • bbSkinLib simpleControlSurfaceSmoothWeights
    • added a lot more calculating, doing a pretty good job now (though a little slow cause of all of the measuring)
  • bbAttributeLib
    • doSetAttr(attribute,value,forceLock = False)
      • set attr replacment that ignores locks, relocks if it was locked and has a forced lock override
    • doConnectAttr - see above
  • bbSpineRig
    • pretty much workin now want a better ribbon setup but the spine works with squash and stretch
  • bbDictionaryLib
    • returnColorIndex(color)
    • returnColorDict()
    • returnRotateOrderIndex(ro)
    • returnRotateOrderDict()
    • returnVectorToString(vector)
Tues
  • bbDistanceLib
    • returnClosestUPosition - made it work with compound curve objects
    • returnCenterPivotPosition - returns the coordinates of the pivot of a bounding box of an object or objects
  • bbModuleLib
    • returnSettingDataAsFloat - culls in the data from the settings as a float, parsing it if there are ',' to a list or to an array with the '|' divider
    • bbCurveLib
    • createTextCurve(text,size=1,font='Arial') all the text curve under a single transform 
    • createTextCurveObject(text,size=1,name=None,font='Arial') stores info for easy updating of the text or font 
    •  updateTextCurveObject(textCurveObj) recreates the text with new text and font info sizing it the same as what was there and replaceing the shapes that were there. All while leaving the original transform node unmolested 
  •  bbRiggingLib 
    •  centerPivotLocMeObject - like loc me object, however, for positioning purposes, uses the bounding box pivot of the object instead of it's actual pivot 
  •  bbControlMaker
    •  moved the limbControlMaker here from bbLimb
  • bbModuleLib 
    • createdcreateSizeTemplateControl - which makes a template sizing object for initital sizing data
Wed
  • bbSearchLib 
    •  returnObjectType - fixed logic for detecting shapes 
  •  bbRiggingLib 
    •  setCurveColorbyName & setCurveColor by Index - added shape detection so that if you feed it a shape instead of a curve it just does the shape, if a curve, it does all of it 
  •  bbCurveLib 
    •  made the update text account for parent scales to ensure it maintains it's proper size and stores the new scale, also made it retain curve color info 
    • Added duplicateShape because it's apparently not easy to do so with basic maya commands added gear, eye and teeth shapes 
  •  bbControlMaker
    • MasterAnim almost done working 
    • childControlMaker which will come in all kinds of handy
Thurs
  • bbAutoNameLib 
    •  more fixing of the auto name logic made storeInfo default to locking the attributes, however there is a leaveUnlocked bool option now 
  • bbMathLib
    • multiplyList - does what it says, ignores 0's 
  • bbRiggingLib 
    •  parentPivotLocMeObject - takes the pivot of the immediate parent of an object instead of it's own while still matching orientation and oration order of target object, world if no parent is present 
    • returnColorsFromCurve - queries the colors of all the shapes under a curve and order them by volume encompassed
  • bbCurveLib 
    • made duplicateShape work with curves with children (yay compound curves!) 
  • bbLimb
    •  started the changeover to the new template setup 
  • bbModuleLib 
    • returnOrderedModules (redo) - Changed it to read the hierarchal relationship of the modules stored via message nodes to produce an order instead of the wonkier version I had before.
  •  bbControlMaker 
    • MasterAnim done 
    • childControlMaker done 
        DESCRIPTION:
        Generates a radial array of controls around a base control where things start at noon and it divides
        the clock positions by the number of controls to make.  You can also change the mode so that you can
        tell it where to start on the clock and increment which to use.Stores the children controls to the baseControl
        as a message  node and stores the parentControl info to each generated control. It also takes into 
        account the colors of the baseControl using a secondary color if it exists.
        
        REQUIRES:
        baseControl(string) - The control we're working off of
        controlTypes(list) - the controls you want created. If the type specified isn't in the base settings,
                             the control is created as a bbTextCurveObject
            Presets - settings
                      visibility
        mode(list) - (['even']) -  mode to set our values by and other information as required
            Options -   ['even']
                        ['incremental',30] - the firest term is mode, the second
                                            is the degrees to separate the controls by. Can be negative   
        baseAim(vector) - ([0,0,1]) - which way does your master control point
        baseUp(vector) - ([0,1,0]) - which way is up for your master control
        offset(int/float) - (0) - offset the starting clock position
        scaleMultiplier(float) - (.25) - multiplier for scale (default is .25) of the absolute size of the parent control
        distanceMultiplier(float) - (1.25) - multiplier for distance to travel 
        localRotationOffset(vector) - ([0,0,0]) - offset rotation for the controls if you want it
        aimChildren(bool) - (False) - aims the controls at the root of the base if True
        zeroGroups(bool) - (False) - if True adds zero transform groups to zero out the controls
        lockHide(bool) - (True) - If true, locks hides and makes unkeyable the typical transform attributes per control
        
        RETURNS:
        controlsMade(list)
    


    Friday
    • bbControlMaker 
      • Heirarchy changes to the size object 
    •  bbLimb 
      •  returnTemplateSizeObject - returns existing objects or makes them and returns them if they weren't found 
      • doGenerateInitialPositionData
        •  initially looked at using curves from the start but am leaning towards just orienting locators aimed where I need and using multiply lists below against standard ratios stored via settings.conf
    •  bbRiggingLib 
      •  aimSnapUpObject (added) 
    •  bbDistanceLib 
      •  returnClosestUPosition - made it work if you feed shapes in it 
    •  bbMathLib 
      • multiplyLists - multiplies lists of values - [[2,3,4],[2,3,4],[2,3,4,3]] = [8, 27, 64, 3]

Tuesday, September 6, 2011

Morphy! By a noodle....

Morphy Tip of the Month: If you get some funky creasing in the face with a customization option don't hesitate to select the offending section and try a 'smooth skin weights' option or just manually paint in some smoothness around there. 

First off a big congrats to Pairatch Lerthajornwong for their winning entry to 11 second club. Check it here!

First the classical....

Then a little more hip

Morphy struttin it


Little drinky drink



And some more from 11 second club

Wednesday, August 31, 2011

Updated Reel - Sizzlin Houston Summer Edition!


Update of the ole' demo reel. Some new work from the last year and a test of ole' Morpheus posted a couple of weeks ago. 

What else has been happening....
  • Next month I'm gonna be doing a demo at the Austin Autodesk group and am lookin forward to seeing some friends there. I'm just plannin on doing a general customization demo but if anyone that'll be there would like something more specific post here and I'll see what I can do.
  • I also did a little interview for Simply Maya should you be inclined to check it out here
  • Created a best of Morpheus channel on vimeo  - http://vimeo.com/channels/226100
  • Work has been trucking along on bbThingamarig or bbRigger (whatever we end up calling it). Here's an update of what I've been working on
    • Curve tools - python based saving of compound and simple curves and creation and various other 
    • The rigging process - 
      • easy class based template creation is in place (one sided so far) with multiple arms, heads, whatever. Template has orientation and control helper objects which work well
      • Saving of template settings into the rig itself for easy re-creation.
      • Joint creation and orientation (from orientation helpers as well as the general orientation options from the settings.conf)
    • AutoNaming
      • Intelligent naming via type detection and tagging that happens in the rigging process accounting for children type names (i.e. groups deriving names from child and constraints getting their root from their objects as well).
      • Iterative processing in place
      • Absolutely unique name generation
      • Able to process whole hierarchy at once
    • Lots of other stuff:)

Saturday, August 13, 2011

This just needed to be posted....

Some of the funnest animation I've seen in some time....

Friday, August 5, 2011

Morphy Tip of the Month: I'm gonna be lazy and say watch David's videos below:)

Kicking off with a tutorial/demo from a internet friend of mine. David's class are the ones working on  the Morphy Wardrobe project. Nice demo Dave! Also, there's a part 2....


Fantastic bit of animation by matthewpresForwarded to me by Pierre. Thanks!


Great one I stumbled across on vimeo...


Some great Morpheus examples in the 11 sec club this month. An especially good one even got number 2. Congrats!

All the stuff on this site is 2000 - by Josh Burton...unless otherwise noted. All rights reserved.