Skip to content

Tag: components

Season 01 – Episode 33 – Mirroring Leg Component

Mirroring Components

This episode we build on the theory and waffling of the previous two and (successfully) get onto Mirroring the Leg Component.

There’s a bit of everything coming up as needed: For the most part it pulls together elements from all over, especially the previous episode, until the leg has a functional handedness switch doing all the expected work.

Over the next few episodes we’ll extend this past the boundaries of the leg, the global and foot, and that should be the end of the rigging part of the season,

Enjoy,

Season 01 – Episode 32 – Maths: Mirroring Transforms, Components: Modularising

Maths: Mirroring Transforms
Components: Modularisation

A little bit of an odd episode as it treats two completely different and unrelated subjects.

In the first half we go over modularising components, gotchas, procedure, some tricks on how to manage it with pure vanilla Maya and so on. Not bad going.

As the next step after that will be mirroring components I thought it would be beneficial to actually explain what reflection (handedness inversion) means in mathematical terms, and show what it looks like with Maya transforms.

The QnA indulges on a scaling related question too in the context of deformation.

It had been a while since we did a math video or a Maya workflow one, so it was kind of cool to get to treat both in one session.

Enjoy,

Season 01 – Chill Session 01 – Clean Up episode 27 scene

Scene Clean Up betrween episodes 27 and 28

Clean Up Work between episodes 27 and 28.

Not much more than that to be said.
It’s the periodic clean up work before sharing a large scene I would normally do off stream, but decided to share this time.

I intentionally refrained from modifying or adding behavior to the components, that’s something I would do in an official stream, but you might still like it for a light listening/watching.

The important bit is the scene, which is now available in the resources page

Enjoy,

Season 01 – Episode 18 – Refactoring Components

Refactoring Components

In this episode we do a pretty extensive refactoring (strict) of the leg and leg global components.

I’m not gonna lie, I’m actually quite happy with how it turned out.

Refactoring, in programming, is often done poorly and when people say “I have to refactor this for the future” they often mean “I’ll rewrite it according to my understanding of the problem space and destroy every interface in the process”.

We remained strict about it instead, moved a bunch of functionality across components and suppressed some unnecessary parts of the graph, both across and inside components, with the public interfaces left entirely unscathed.
The fact it was done methodically and entirely by just reasoning about the graph’s topology and our expectations is the part that I believe was successful. Worth a watch, even if I say so myself.

Enjoy,

Season 01 – Episode 16 – Maya Attributes Primer, FKoverIK set up

Attributes Primer, FKoverIK

We provide a quick primer on Maya attributes and how to form compound attributes, which will be very important for our guide clean up process, and then show how to do an FKoverIK set up which we’ll use to simplify the guide.

A very simple script is used during the stream. As usual it’s provided in this post, and I will eventually add it to the GitHub repository.

All new episode now free of low frequency hum in the audio!
Enjoy,

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from maya.api import OpenMaya as om2
sel = om2.MGlobal.getActiveSelectionList()
mob = sel.getDependNode(0)
 
fn_cAttr = om2.MFnCompoundAttribute()
fn_mAttr = om2.MFnMessageAttribute()
 
c_attr = fn_cAttr.create("toSwap", "toSwap")
fn_cAttr.array = True
 
m_attr1 = fn_mAttr.create("originalConnection", "originalConnection")
m_attr2 = fn_mAttr.create("guidedConnection", "guidedConnection")
 
fn_cAttr.addChild(m_attr1)
fn_cAttr.addChild(m_attr2)
 
fn_dep = om2.MFnDependencyNode(mob)
fn_dep.addAttribute(c_attr)