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:)

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

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.

Updates!

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

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.

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