Mon, Aug 6th, 2012
posted by jjburton 10:08 AM

This week we’ve got a great little demo by one of Josh’s good friends –  talented animator and teacher, Keith Osborn. He put together nice little demonstration for how to use cgm.locinator to bake animation of a character from local space to world space and back. In this case, Keith takes a cycled animation cycle of ole’ Squirrely and animates the master translate, then plots that animation through the scene. Enough explanations, just give it a watch!

Work has been plugging a long in the meantime – mainly on the rigger – just don’t have enough to show that makes sense. Josh is out in LA visiting David and we’ve been making plans for Morpheus 2.0 and for the next year of development. Super exciting:)


Tue, Jun 26th, 2012
posted by jjburton 05:06 PM

Major avenues of progress for the week:

  • attrTools coming along well along with the accompanying modules
  • Added a buffer to Locinator along with an accompanying mode toggle
  • Added a few more hiding options for setTools (maya sets, anim layer sets)

Lessons learned from the week…

  • min/max values on Attributes only seem to be honored with float attributes
  • attributeQuery fails to return the correct value on:
    • keyable flag. Must use getAttr to get correct state
    • hidden flag. Must use getAttr with channelBox flag
  • if you change the enum options of an attribute in maya 2011 it will update the channelbox but not the attribute editor until you select something else then the object again. just deselecting the object and the object again won’t update, nor reopening the file after saving. Awesome.
    • Tried a function to manually toggle a couple selections and that didn’t work
    • Looked a little into ui update stuff, no joy. Moved on after a couple of strikes. Not a deal breaker
  • Alias attributes only affect the channel box
  • Odd bug with baseMelUI or maybe just a maya thing in maya 2013. If a text field is disabled, it clears the bgc. 2011 didn’t to do that.
  • Can assign the window as the parent to a ui element in Hamish’s baseMelUI with a self.get() function. Useful for formLayout


Mon, Apr 30th, 2012
posted by jjburton 10:04 AM

It was a good week last week and things are moving along. Progress may slow a bit as both David and Josh are working gigs. Ryan is working on the first of the web side of things and we’re lookin forward to start testing that soon.

Josh is doing a webinar this week for Faceware should you be interested in checking that out. He’ll be covering Facial rigging workflow as well as a bunch of tools in the libraries. If you wanna check it out, sign up here. Also, if you have any topics you’d like covered leave a comment below.


  • Main Gui
    • cgm.animTools move to anim tab
    •  Added hot keys from zoo tools. There’s some in there I hadn’t messed with before. Neat stuff
  •  cgm.animTools
    • Justin Barrett’s tweenMachine added!
    •  Morgan Loomis’ Breakdown dragger added!
  •  Locinator/animTool update
    •  Now have the ability to specify parent/point/orient mode on object updates. Doing it for locs would take a bit of time and unless there’s a demand for it, gonna let is slide
    • When you tag an object to a match loc, it now updates the rotation order of the loc and there is an option to turn that on and off in options
  • Plans on animTools
    • The snap tab will eventually have some additional tools as well for fk/ik switching, pose mirroring, etc one we have the modular rigger up
    •  Thinking about a mini tween machine that works off buffers
    • Actually planning on doing a lot with buffers
  •  Under the hood work
    • Added a true reset now to the cgm stuff that resets that respective tool’s optionVar’s to original setting. As such, been working on an optionVar class wrapper for doing some buffer stuff that’ll save between sessions
    •  Got some good notes from one of my TD friends Scott Englert who’s a much, much more experience coder than I. So been doing a lot of work on that front
    • Classes are now stored in a separate class folder in cgm.lib



Mon, Apr 23rd, 2012
posted by jjburton 10:04 AM

Last week was a productive week.

 First off, I’m happy to announce we’ve received permission from Michael Comet to included any of his scripts we like in our release pack. Initially that will include autoTangent and cometJointOrient.
We believe one of the benefits of not charging for tool kit is that there’s less anxiety from other tool makers on letting us include their great tools as well. As one of our rules is not to reinvent the wheel if there are already great tools out there, we’re super excited. We’re so grateful for their willingness to share as the idea of a single easily accessible collection would be a great benefit to most of our various script laden folders:)

Here’s the weeks update….

What’s new?

  • General
    • tweaks to the color templates
  • cgmTools main gui
    • Added a bunch of zoo tools to be accessible from it
  • cgm.tdTools
    • Changes to the font menu
    • Preloading options
    • New size options – Size+ & 1/2 Size
  • cgm.tdTools.curves
    • Zero me – some more work on it to work with objects with pivots that have been moved
    • Curve Library – unified the aim and up directions of the curves
    • Parent selected – simple order based  parenter
    • Curve control connect – lots of options for how to control
      • Methods
        • Constrain – parent,point/Orient, point, orient
        • Shape Parent – shape parents the curves to the objects they’re drived from
        • Parent – parents the driven object to the control
        • Child of – parents the control to the creation object
        • Scale – whether to drive scale or not
      • Other options
        • Rotate Order (something wanted to try on a whim, we’ll see if it’s useufl) – adds an animatable rotate order attribute to the curve that drives all related objects and groups
        • +Group – adds an extra group the curve for constraining purposes
        • LockNHide – Lock’s and hides any attributes not being used
        • Heir – check to maintain the heirarchy if you choose, via group constraints or matching the existing heirarchy with the controls and groups
      • Updates transform on connect so you can do whatever you want to the curve control before connecting it
    • Master control maker now sets up basic groups and connects vis controls to those groups if you have vis selected on creation
    • Replace shapes – selected an existing nurbs control in a rig, make a new curve. Then select the new curve, then the old and it will replace the shapes of your existing control without breaking anything
    • Create one of each – easy way to see all of the curves in the library (they all create at world center, select them and go to cgmTools.position>grid layout to see them easier. Speaking of…
  • cgm.tdTools.position
    • Grid layout – reworked to work off of object space to make. Changed the logic to offer more options down the road
  • cgm.tdTools.joints (NEW TAB)
    • Michael Comet’s joint orient added
What’s next?
  • cgm.animTools
    • Started blocking things out and figuring out the first pass of tools to be included. First up is updating some cgm.locinator features to make it more flexible.
  • cgm.tdTools
    • continue working through getting the intial tool tested and complete
Mon, Apr 16th, 2012
posted by jjburton 09:04 AM

After making enough updates to locinator to make last weeks intro vid obsolete our thinking is that perhaps we’ll hold off on full tutorial vids till the tools are in a more complete state. As such we’re gonna try a weekly video blog of where things are at and see how that goes.

Also, that facial webinar was pushed back to May for those interested.

Here’s a run down of the current development list. Scratched out stuff has been addresseed in the last week:

  • tdTools.curves
    • Text curve objects
      • Update working with heirarchal scale changes
      • Multiple update at once
      • loads last when complete
      • add option to update font on update
    • Last created object should load to available fields
      • text objects loading to text field and to autoname
    • Intelligently load selected on tool load
      • text object detection
      • others
    • Zero me still needs work
    • Fix curve library for consistency for aim’s. Z+ is always aim for stored objects for better consistency on curve creation
    • Control connection
      • Constraining options – point, orient,scale
      • Methods:
        • Direct connect
        • Constrain
        • Snap
        • Shape Parent
        • Child of
    • Add shape swap function
  • tdTools.deformers
    • polyUnite
      • not catching some objects on query (squash for example)
    • skinCluster
      • select all over verts, not just the one
      • Use the loaded mesh if there is one, regardless of selection
      • Query skin cluster for max verts and set it in the gui
  • Locinator
    • add ability to update on source objects’s keys or the object, itself
    • fix purge
    • change so created and/or selected objects are selected after completion
    • fix help
    • Lattice points need to be locable? What other things should be?
Fri, Apr 6th, 2012
posted by jjburton 11:04 AM

We got our first tool introduction video done. Bokser says I sound like the Bob Ross of CG. you be the judge. Enjoy it(or not).

You can visit the tool page for more info here.

In other news, making good progress with getting the first release pack ready to go. Knocking out bugs as we can.  If you wanna sign up to be a tester, there’s a link on the contact page.