Tuesday, January 21, 2020

Kroeger "Anthem" for Hornet Inc

Had a pretty fun time setting up a whole lot of these characters.  Jared Eng created a pretty nice base rig, and I did a whole lot of skinning and enveloping, as well as add clothing and prop rigs on top. 

Kroger "Anthem" Dir: Cesar Pelizer from Hornet on Vimeo.

Tuesday, December 10, 2019

setting chrome as default browser for Maya

Apparently the easiest/only way to force Maya to use Chrome ( or firefox) is to update your registry and force it to use it.. 
this little bit of python code should do the trick.


import _winreg
htm = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,"SOFTWARE\\Classes\\.htm", 0, _winreg.KEY_ALL_ACCESS)
_winreg.SetValueEx(htm, '', 0, 1, "ChromeHTML")
_winreg.CloseKey(htm)

Tuesday, July 23, 2019

Spring 2019 Reel

Just collected up a few more items to put into my new Spring 2019 Reel. 

It's just a collection of some of my recent and most fun work to date. 

and at the moment I am looking for full time work in the NYC area, or remote.

Unfortunately I can't put any of the "the Society" work in just yet ( spoilers, etc) 



smann_2019_reel from Stephenkmann@gmail.com on Vimeo.

Thursday, March 14, 2019

PolyUniteSkinned

It's rare you need it, but when you do.. you need it. 

This little hidden gem of a command will merge all your selected geometries into one. and maintain the skin weights.
And , with construction history off, it makes a very nice clean result of single orig node, single shape node, and one skin cluster. 


polyUniteSkinned -constructionHistory 0  -mergeUVSets 1 ;



Synopsis: polyUniteSkinned [flags] [String...]
Flags:
   -e -edit
   -q -query
  -ch -constructionHistory  on|off
  -cp -centerPivot         
 -muv -mergeUVSets          Int
  -op -objectPivot         


Command Type: Command




Friday, November 9, 2018

Work recap , November 2018

Aardman Nathan Love
CG Supervisor / Lead Character TD 
"Candy Crush Friends Saga" 
Responsible for rigging all characters and CG supervising projectw




PSYOP :  Tech Animator / character TD
Clash of Clans: Eight Clans Enter One Clan Leaves
Responsible for cloth sim and tech anm polish on all characters in most shots




PSYOP :  Tech Animator / character TD
Cricket Wireless
"Four For the Holidays"
Responsible for cloth sim and tech anm polish on all characters in 25% of the shots, some minor rigging on clothing 

Thursday, September 20, 2018

Camera Framing Bug and NAN value in Maya 2018.3

NaN
Some operations of floating-point arithmetic are invalid, such as taking the square root of a negative number. The act of reaching an invalid result is called a floating-point exception. An exceptional result is represented by a special code called a NaN, for "Not a Number". All NaNs in IEEE 754-1985 have this format:



    I haven't seen this one in quite a while, but just got bit by it.. hard.  The issue crops up when Maya has a division by zero issue, or something similar that results in an infinitesimally small or NAN number.  It used to happen a lot with uvs .. especially with uvs coming from zBrush, as zBrush, like the honey badger, didn't care.  But it would mess up Maya read on open, and often would end up in an open file, with seemingly nothing in it but the transform nodes. 

   You would think, what do I care. Fubar uvs are not my problem, and I can make new ones anyway.. but Maya, says, wait I don't know what NAN is and basically stops trying, and just errors out the rest of your scene.



 This new issue seems to be hard to track down, but easy to accidentally do, and that's when hit f to frame the camera on a selection. For some reason it will put NAN into all the translate channels of the camera, and also in the center of interest (which is the biggest issue) , and using [ and ] to try and go back to previous views. doesn't work.. huh, 

To fix this you want to do a couple things. 

 First is to reset the TRS of the camera, so select it, and run Modify -> reset transforms.  
 next in the view, go to view -> default View 


 But really, I'm more interested in how it happens, and how to fix it ! 


 the nice thing is.. it looks like this issue is fixed in 2018.4 



but until you get updated.. here is some mel code you can run in your scene to reset you camera.. i added a small part to reset pan/zoom as well 
 I put this on my hotbox so I can quickly access it:

________________________________________________________________

global proc resetCamera()
{
string $panel=`getPanel -wf`; if ($panel == "StereoPanel"){$panel = "StereoPanelEditor";}
string $camera = `modelEditor -q -cam $panel`;

string $chans[] = {"tx","ty","tz","rx","ry","rz"};
for ($chan in $chans)
        {
        catchQuiet(`setAttr ($camera + "." + $chan) 0`);   
        }
string $chans[] = {"sx","sy","sz"};
for ($chan in $chans)
        {
        catchQuiet(`setAttr ($camera + "." + $chan) 1`);   
        }

viewSet -animate 0  -home $camera;


string $camShape[] = `listRelatives -c -s $camera`;
setAttr ($camShape[0] + ".horizontalPan" ) 0 ;
setAttr ($camShape[0] + ".verticalPan"  ) 0 ;

setAttr ($camShape[0] + ".zoom") 1;


}

















Tuesday, September 18, 2018

xray selected

Just passing thru an old script


// xraySelected.mel
// isolated by steve Mann
global proc xraySelectedObj()

{
// get selected shape nodes
string $sel[] = `ls -sl -dag -s`;
for( $each in $sel )
{
if (`getAttr ($each + ".intermediateObject")` == 0)
{
int $xState[] = `displaySurface -q -xRay $each`;
displaySurface -xRay ( !$xState[0] ) $each;
}
}
}