Brent J. Zorich
B.S.I.D.   M.A.   M.S. (candidate)
brentzorich@yahoo.com
415.283.5625   (business calls only)
Specialties and Experiences:
Master Character Technical Director
Industrial Light & Magic Creature R & D
Digital Artist
Lead/ Senior Technical Artist
 
Software Engineering
Colour Compositing
Lucasfilm Best Practices Steering Committee
Lucasfilm Executive Level Training

-PYTHON-MEL SCRIPT-C++-

 

Rigging Automation Startup Scripts  for TECHNICAL ARTISTIC EXPRESSION (2010)

FK Control Generation Script

 

Once these arguments are set, the script generates a clean hierarchy of controls, naming convention, and the group that they fall in. This PYTHON script helps to speed up and automate the rigging process while keeping the original skeleton hierarchy clean. PYTHON is the language used by ZENO, the software used at LucasArts and at Industrial Light & Magic (Lucasfilm). These are starter scripts that I might use to begin the rigging process or block something out quickly.

Scripts in PDF form.

Procedures and arguments called.

IKlegSetup (UpLeg, LowLeg, LegAnkle, LegBall, LegToe, legPVx, legPVy, legPVz)

muscleJoint (startJoint, endJoint, targetLOC)

fkController (jointParent, jointChild, controller, controllerRadius)

spine (root, waist, thorax, rootMaster)

arm (shoulder, elbow, hand, IKshoulder, IKelbow, IKhand, FKshoudler, FKelbow, FKhand, armPVx, armPVy, armPVz)

foreArmRotate (foreArm, foreArmTwistOne, foreArmTwistTwo, Wrist)

shoulderSetupStart (clavicle, armUpShoulder, aimTarget, shoulderTwistOne, shoulderTwistTwo, shouldUpVectorX, shouldUpVectorY, shouldUpVectorZ)

 

 

 

Body Script Launcher Tool  for TECHNICAL ARTISTIC EXPRESSION (2010)

IK Pole Vector Tool with clean Hierarchy

 

This is a tool that triggers the IKLegSetup script, the spine, and the arm script. This also puts the handles in a clean hierarchy.

 

 

 

 

C++ for MS in Computer Science (2011)

Currently enrolled in C++ class. This is sample code I have written.
More to come.

 

// print number of times to say hello

#include <iostream>

using namespace std;

int main ()

{

int count = 0;

int times;

cout << "Enter the number of Hellos: " <<endl;

cin >> times;

cout << endl;

while (count < times)

{

count++ ;

cout << "Hello" << endl;

}

cout << endl;

cout <<"Hello was displayed " << count << " times." << endl;

return 0;

}

 

 

// is your number even or odd by using functions


#include <iostream>
using namespace std;

void evaluation (int a); // function marker

 

int main ()
{
  int x;
  do {
    cout << "Type a number (0 to exit): ";
    cin >> x;
    evaluation (x);
  } while (x!=0);
  return 0;
}

 

void evaluation (int a) // function
{
  if ((a%2)!=0) cout << "Number is odd.\n";
  else cout << "Number is even.\n";
}

//overtime pay rates and salary

#include <iostream>
#include <iomanip>

using namespace std;

double pay_rate, hours, regular_pay; // These are Global Variables
double overtime_pay, gross_pay; // as are these
char response;
int overtime_hours;
double overtime_payRate; // and these.

void Calculate(); // declaration

int main()
{
cout << setprecision(2)
<< setiosflags(ios::fixed)
<< setiosflags(ios::showpoint);

do
{

cout << endl << endl << "enter the pay rate: ";
cin >> pay_rate;
cout << endl << "enter the number of hours worked: ";
cin >> hours;
cout << endl << endl << "enter the overtime pay rate: ";
cin >> overtime_payRate;

Calculate();

cout << endl << endl;
cout << "Regular Pay: " << setw(7) << regular_pay << endl;
cout << "Overtime Pay: " << setw(7) << overtime_pay << endl;
cout << "------------------------" << endl;
cout << "Gross Pay: " << setw(7) << gross_pay << endl;

cout << "Do you want to process another employee ? (y/n): " ;
cin >> response;
}
while (response == 'Y' || response == 'y');

return 0;
}

void Calculate() // definition
{

if (hours>40)
{
overtime_hours = hours-40;
overtime_pay = overtime_hours * overtime_payRate;
regular_pay = 40 * pay_rate;
gross_pay = regular_pay + overtime_pay;
}
else
regular_pay = hours * pay_rate;
}

 

 

 

 

 

MEL Script for Star Wars Facial GUI for Technical Artistic Expression (2011)

The GUI as seen on my reel is based off of Anakin Skywalker in Star Wars and comprised of three different types of utility nodes (clamp, sum, multiplyDivide) as well as a blendShape locator/ null that contains attributes plugging right into the blendshape node. In order to rig this up, a Development Director might task a Technical Director up to two or three days in order to accomplish an assignment of this magnitude. This MEL script that I wrote automatically creates the nodes and null with the proper names in a matter of seconds saving a project what could be up to several days to complete. MEL is my fifth language that I have experience with, the others being (PYTHON, C++, HTML, and VRML).

Scripts in PDF form.

 

 

 

MEL Script for Star Wars blendShape Mirror for Technical Artistic Expression (2011)

The Star Wars Graphic User interface relies strictly on blendShapes. this MEL script quickly mirrors a modelers sculpted blendshapes to the opposite side without modeling both halves saving production half of the time.

Scripts in PDF form.

 

 

 

Dean's List for Second Masters in Engineering at Strayer University (2011)

 
signature
EA SPORTS
NBBJ
TAKE 2 INTERACTIVE
DREAMWORKS SKG Outreach Program
BRENT ZORICH PRODUCTIONS, LLC
LUCASARTS
GENSLER
ELECTRONIC ARTS
LUCASFILM ANIMATION SINGAPORE
INDUSTRIAL LIGHT & MAGIC

site designed by Brent J. Zorich 2011