Week 1 – Intro to module, HumanIK in Maya and Simple Rig:
What was covered in the lecture:
Human IK:
A plugin in Maya for rigging.
The Workshop Activity:
Part 1:
Go to Toggle character control. Select the skeleton. Hit Quick Rig tool. Then choose step-by-step and hit +. It will add all the information to the geometry section.
On Embed method choose Polygon Soup. Resolution = 256. Then hit create. It will create a little guides. Then adjust the pivot points on one side. Hit mirroring.
When we finished, under skeleton and rig generation choose skeleton only and hit create/update. We can delete it and readjust the location of the pivot points.
At the end, we need to “skin it” by hitting create. Now it skinning the mesh to the bones. Rename it.
Part 2:
Then bring in the MoCap animation FBX. Delete unlabelled markers and cameras (not necessary), so all we left is Solving. Make sure we are on the first frame.
Then we need to select everything. so first select the hip and then: select -> hierarchy
Then adjust the location and make him as t-pose: Rotate x y and z to 0 (again). Then select the hips and rotate x to 90.
Then we need to create Character definition to assign the animation to our skeleton.
So go back to humenIk, select “None”, hit “Create Character Definition”.
Select each part of the mocap and assign it by right click and assign selected bone.
Then lock it.
Rename it to “Vicon_MoCap”. Then change the character to Skelly and the Source to Vicon_MoCap.
Final Animations and Render
Monster:
Bring the monster in. Adjust its size and hit “Freeze Transformation”
Also, modify -> Reset transformation to reset the pivot point.
Repeat the same process exactly as last time:
Rename it to troll. bring in the mocap animation and repeat the process. At the end, assign a shader.
Final Animation and Render:
The Weekly Activity:
Create a robot in Maya by the end of next week:
Keep in mind the pivot points of the shapes.
Ideas:
Robot 1: the model is not ready
Robot 2: The one that I will probably use:
Week 2 – Hard Surface Modelling
What was covered in the lecture:
Hard Surface Modelling in Zbrush Workflow:
– Model a shoe in Zbrush
-Create a UV
– Export as FBX
– Import to Substance Painter
– Bake. Paint
– Import to Maya and assign shaders
We need to make sure our character will work well after we rigged it.
So before the rigging we should adjust the pivot points of the parts of the body and the parent them.
To parent objects, select them and hit P. To change the pivot point of an object, hit D. To snap to grid hit V.
The Workshop Activity:
Substance painter:
I unwrapped some of the UV of the Robot and assigned shaders for each part separately.
Substance painter:
We covered how to use substance painter.
File->New. Choose PBR Metallic Roughness.
Bake. And then started to paint.
The Weekly Activity:
– Unwrap the UV of the model and assign shaders
– Create textures using Substance Painter:
– Assign the shaders. I did it both manually and also using Substance Plugin.
With Substance Plugin:
Manually through Hypershade Window
– Fix the pivot points
– Parent the objects
Week 3 – Substance/Maya/Nuke workflow – Jerry Can Tut
What was covered in the lecture:
workflow of texturing in substance, apply in Maya and move to nuke.
We did the jerrycan workshop activity that covered the workflow.
The Workshop Activity:
JerryCan:
Open Maya and import the FBX. Go to UV model. And then unwrap the UVs the right way. Choose Automatic (because we’re using substance painter so it won’t be a problem doing it automatically).
Open Substance painter, File -> new and select PBR- Metallic Roughness Alpha-blend. Change to 2K (2048) and untick “Auto-unwrap”. To close the 2D window choose 3D only.
Under Texture set, select “Bake Mesh Map”.
Add a smart material: Steel Scratched and on top of it Steel Painted Scraped Green. Add a white mask to the Steel painted scarped material (top one). Then while the mask is selected add a generator.
Select a dirt one, invert it and adjust the settings. We could also do it manually by add a paint effect and choose a dirt brush.
Add a new layer, rename to mud, choose brown colour, turn off all the other maps, choose dirt3 brush and paint mud. Repeat the same process, this time enable height only and paint cracks.
Add a texture (image):
File -> Import Resources. Select texture. Import. then drag it to our jerrycan and choose base colour. Adjust the settings, opacity, add dirt by applying masks.
Final result on substance:
Export to Maya:
File-> Export texture.
Select Arnold. EXR, 32f bit.
On Maya. apply all the textures. for all the textures (but the base colour) map make sure to tick “Alpha is Luminance”. Alpha is luminance makes turns the map to grayscale.
To apply displacement map, follow these steps:
1. attach a displacement map – height map
2. tick alpha is luminance
3. change the scale to 0.1
Add lights. Change the AOV Light Group name.
Inside the render settings window. Enable “Merge AOV’s”. Under AOV’s tab, add RGBA and Z. Then for the RGBA select AOV node.
Final Result:
The Weekly Activity:
Continue to work on your robot:
Mocap Session
The Vicon system uses optical tracking.
The suit has 53 markers in total. The markers are placed on pivot points and between pivots.
James calibrates the cameras by waving the light marker to cover the entire space with light.
After calibration, we set up the floor:
The origin point is the orange light marker. The points represent the floor plane.
The last step:
Week 4 -Blendshape Workflow / Character development
What was covered in the lecture:
– Create a blend shape in Zbrush
– Export it to Maya
– Animate it
– Create a camera on Maya and parent it to the face so it will always visualise the head. Put the camera under the face.
The Workshop Activity
Work on your robot. Apply some animation on it
On my robot, I created a face so it will always visualise the face.
I selected the frames I wanted to use for my first scene (470-540).
Then I animated the ear antennas
I fixed the legs so they will stand on the floor during the scene.
What I have so far:
470-540:
360-450:
The Weekly Activity
Keep working on your robot.
I did some shooting at my flat. I used Canon 250D and for the tracking markers I used lego parts. Then I used nuke to stabilise the shot and export as image sequence.
Original Video:
After stabilising:
Then I used a software called “Syntheyes” by “Boris FX” to track and create a 3d camera to Maya.
Imported the camera to Maya and adjusted the robot size and location.
I placed a disk where the table should be and assigned an ‘ai shadow shader”. I turned on diffuse and specular. I
I added 2 different light source. The first one was HDRI light dome similar to the light settings I had when I shot the video. I also added directional light to create a better shadow and to bring out some details that the HDRI didn’t.
I created a light group for each light source, I rendered it out using AOVs (RGBA, Z, diffuse direct and indirect, shadow diffuse and mask, specular direct and indirect) and Render Passes. I followed this tutorial to render a shadow pass and character pass.
Then I had 2 different renders that included all the AOVs I selected. I did it to it will be easier for me to composite after in Nuke.
In nuke, the first thing I did is to clean up all the legos I used as tracking markers:
What I have so far:
Week 5 – Workshop and Live Brief
What was covered in the lecture:
Workshop:
In today’s class, we had a workshop where we continued working on our robots. Since I have already finished modeling, texturing, applying mocap, and rendering my robot, I started compositing it in Nuke. I want to specialize in compositing, so this was a great opportunity to practice.
The Workshop Activity:
Working on our Robots:
Today, I focused mainly on cleaning up the tracking markers in my Nuke script.
My next steps are to work on color correction and make the scene look more realistic.
Live Brief Presentation:
We had the chance to participate in a live brief, where we presented our work in front of the class. This was good practice for next year when we will be doing it more often. I shared my progress and explained the work I documented under Week 4’s weekly activity.
The Weekly Activity:
Keep working on your Robot
Week 6 – Presentation
What was covered in the lecture:
In today’s class, we had a workshop where we continued working on our robots. Since I have already finished this assessment. I started to work on my compositing showreel.
Week 7 – Second Assessment Overview and Hand sculpt:
What was covered in the lecture:
Zspheres workflow / Sculpt arm Zbrush:
We covered a workflow of how to sculpt with Spheres.
We create a Zspheres to create a basic shape.
Then convert it to “Make Adaptive Skin” so it will turn into a mesh.
Arm Anatomy:
The upper arm is shaped by the biceps and triceps, giving it strength and definition, while the forearm is packed with muscles that control the hand and fingers. The elbow acts as a hinge, guiding how the arm bends and rotates. Paying attention to how muscles stretch, contract, and wrap around the bones will make our sculpt feel more natural and lifelike. It’s all about capturing the flow and energy beneath the surface.
“Anatomy For Sculptors” by Uldis Zarins with Sandis Kondrats.
The Workshop Activity:
Model an Arm:
Start with a polyshpere. Use the move, scale and rotate to adjust it. You could also Add more spheres by selecting ‘+’. To change it to mesh so we could sculpt on it
To change it to mesh so we could sculpt on it select “Make Adaptive Skin”
Then on the layers menu add the mesh.
Turn off ZSphere layer and work on the new layer.
To visualise the clipping tools, select the smooth and the mask function by touching and drugging.
Final Result:
The Weekly Activity:
Start sculpting your creature in Zbrush:
Wolf:
Week 8 – Sculpt Leg / Corrective Blendshape:
What was covered in the lecture:
Leg Anatomy: “Anatomy For Sculptors” by Uldis Zarins with Sandis Kondrats.
Muscles of Lower Limb:
Quads and Calves:
Peroneus Brevis and Peroneus Longus Muscles:
Knees:
Tips:
The Workshop Activity:
Sculpt a Leg:
Start with a “Human Male” Zsphere.
Change it to mesh so we could sculpt on it.
To do so select “Make Adaptive Skin”. Then on the layers menu add the mesh.
Turn off ZSphere layer and work on the new layer.
Cut the upper part of the body. To visualise the clipping tools, select the smooth and the mask function by touching and drugging.
Sculpt a leg using the reference images above and clay tubes, move, danstandard and smooth brushes:
Blendshapes in Maya:
Open Maya. Change to rigging menu and change the view to wireframe (4).
Select “create joints”. Start from the route of the hand until the hand (including the finger).
Then create one more joint from the route of each finger until the top.
Then parent the arm to each finger. First select the finger and then the arm.
How does parent / child work:
Take the child to the parent. select first the route of the thumb
Select both the geometry and the rig: Skin -> Bind Skin
On frame 30 rotate the hand 90 degrees:
Open Shape Editor (Windows -> Animation Editors -> Shape Editor)
Select the geometry. On frame 30 “Create Blend Shape”. Then while it selected, on frame one select “Add Target”. While Edit is on, on frame 30 move the geometry. Then set key (not by hitting s, by clicking key). On the first frame it should be 0 and on frame 30 in should be one.
The Weekly Activity:
Finish sculpting the leg:
Keep Working on your Wolf:
Week 9 – Scorpion Rig:
What was covered in the lecture:
In this lecture, we imported a ZBrush scorpion model into Maya and set up a basic rig. We created joints for the body, mirrored them, and organized them into layers. Control curves and IK handles were added and parented to allow movement. The model was skinned to the joints, and we used the Paint Skin Weights tool for corrections. Finally, we added custom attributes and set driven keys to control parts like the claws.
The Workshop Activity
Rigging a Scorpion
Bring in the scorpion FBX into Maya. Select the model. Make it a live surface.
Now click on “create joints”. Press Enter once done drawing the joints. Start from the root to the toe. Do one side only.
For the claws, do one side, then do the other side and parent it. First select the child (the free part), then the parent. Then do the tail and after do the body. Start from the center/back of the scorpion.
Now select the root of each leg and go to Skeleton → Mirror Joints (YZ).
Then create a layer for the joints and a layer for the geo (the far right one).
Then create a curve circle and place it next to the legs. Freeze transformation once you’re satisfied with the location.
Create IK Handle. It is the third option on the rigging menu. First select the root joint and then the toe joint. Do it to all 8 legs, Once you are done, parent the IK to the circle: select first the IK chain and then the circle, then press P.
Then create a big curve circle. Parent the root to this circle: First select the root, then the circle, then press P.
For the tail:
Create IK Chain – select the root of the tail and then the tip of the tail.
Add it to the IK_Chain layer by right click on the layer and “Add Selected Objects”.
Now let’s create a controller. Create a curve circle, place it like so, freeze transformation and parent the IK to the controller.
Then parent the bigger circle to the new controller: first select the smaller circle, then the bigger circle, then press P.
Skin:
Select all the joints: First select the main control, rename it to “Main_CTRL”. Then select the root joint and rename it to “root”.
While the root joint is still selected, go to Select → Hierarchy. Now select the skin as well, then go to Skin → Bind Skin.
To fix all the errors, use the “Paint Skin Weight” tool and paint the weight onto each joint that isn’t working well.
Create attributes for the claw:
Select the main controller, then go to the Attribute Editor and click Attribute → Add Attribute. Keep all the defaults. Set Min = 0 and Max = 1, then rename it to L_CLAW.
Select the claw joint. Under the Animation menu, go to Key → Set Driven Key → Set.
Select rotate Y, then click Load Driven. Now select the main controller and click Load Driver. It will appear at the top, and we can select L_CLAW. Close the claw a bit, then hit Key. Do not close this window.
Then select the main controller again. Under the Attribute Editor, select the Main_CTRL, go down to the bottom to Extra Attributes, and move it to 1. Then select the same joint again, open the claw, and hit Key again.
The Weekly Activity
Sculpt a Creature
The Process:
I created the model using Zbrush for iPad.
I used an ant ZSphere and used this reference:
I splatted my screen so it will be easier to adjust the ZSphere model according to the reference I chose.
Final Result:
Create a Rig
I created a “low poly” (107K polygons) and imported it into Maya.
I created a rig and skinned it.
I have also created a head control and tail control
Now, I need to edit the weight and create attributes for the mouth.
Week 10 – Torso Anatomy + Zbrush & Maya Workflow
What was covered in the lecture:
Torso anatomy:
The Torso Has Two Big Parts:
– The rib cage and the pelvis
– These two are connected by the spine.
The Rib Cage:
– Tilts slightly back in a resting position.
– Supports the upper body and arms.
The Pelvis:
– Slightly tilted forward.
– It’s kind of like the base that everything else stacks on.
The Spine:
– Has that natural S-curve.
Shoulder Blades:
Float over the rib cage and move with the arms.
Interdigitation:
Muscles like the serratus anterior and external obliques interlock like fingers on the side of the rib cage. This overlapping adds texture and rhythm to the surface—great detail to include in sculpts for a more lifelike result.
Muscles Matter:
– The abs, obliques, and serratus wrap around the torso.
– Even though some muscles are under the surface, their forms are really important for silhouette and motion.
Male vs. Female Torso:
– Male torsos are usually more boxy—wider shoulders, narrower hips.
– Female torsos tend to have wider hips, narrower waists, and smoother curves.
Eight-Pack (Rectus Abdominis):
This long muscle runs down the front of the torso. It’s usually divided into six to eight segments—what we call a six-pack or eight-pack.
The Workshop Activity
UV unwrap the model and export it to substance painter.
ZBrush to Maya Workflow
Duplicate the model: Subtool -> Duplicate.
Then create a low-poly version (16k instead of 1m polygons) using ZRemesher.
Now UV map the low-poly model:
Go to Zplugin → UV Unwrap.
Then divide the low-poly model again until it reaches about 1m polygons.
Now we need to project the high-poly details onto the low-poly model. How?
Make sure both models are active. Select the low-poly model, then go to:
Subtool → Project → Project All.
Turn off the high-poly model.
Now the low-poly model has 4 subdivisions: the highest subdivision has about 1m polygons and all the details from the original high-poly model. It also still has the lowest subdivision at around 15k polygons.
With the low-poly model at 1m polygons, go to Zplugin → Multi Map Exporter → Displacement.
Select: 32bit, exr, and set mid = 0. Then click Create All Maps and save it.
The Workshop Activity
Keep Working on your creature
This week I started to texture the ant.
I used the 260k polygons model, imported it to Maya and adjusted the uv size.
Then, I assigned an Arnold ai standard surface and exported the model as FBX to Substance.
In Substance, the first thing that I did was to bake the mesh. Then, I created a folder for each part of the creature (eyes, body, antenna, etc) and created masks so later it will be easier for me to texture.
I followed this tutorial.
Painting weights:
Fixing the legs so it will be standing properly on the floor plane
Assessment 1:
The Process:
3D Modeling:
This was the reference I used:
I modelled the robot in Maya. I placed all the pivot points of each object near where the joints should be. After finishing the model, I merged or parented some of the objects.
I applied a mocap animation to the robot and fixed some issues. For example, the right hand joint was flipped and moving incorrectly, so I unparented it from the hand geometry and animated it manually. I also animated the robot’s ears (antenna) to help express emotion.
To make the animation easier, I used the Facecam method, which involves parenting a camera to the head. This allowed me to see the face clearly, no matter how the model moved.
Texturing:
To get the model ready for texturing, I started by UV unwrapping it, making sure that parts sharing the same shader were grouped together in one template. Then I assigned “Arnold AI Standard Surface” materials to different sections of the robot and exported it as an FBX file.
In Adobe Substance Painter, I baked the materials first, then applied textures. Once I was happy with the results, I exported the textures and brought them back into Maya, using the Substance plugin to apply them to the model.
Shooting:
I did some shooting at my flat. I used Canon 250D and for the tracking markers I used lego parts. Then I used nuke to stabilise the shot and export as image sequence.
Original Video:
After stabilising:
Matchmoving:
I used a software called “Syntheyes” by “Boris FX” to track and create a 3D camera to Maya.
Imported the camera to Maya and adjusted the robot size and location.
Rendering:
I placed a disk where the table should be and assigned an ‘ai shadow shader”. I turned on diffuse and specular.
I added 2 different light source. The first one was HDRI light dome similar to the light settings I had when I shot the video. I also added directional light to create a better shadow and to bring out some details that the HDRI didn’t.
I created a light group for each light source, I rendered it out using AOVs (RGBA, Z, diffuse direct and indirect, shadow diffuse and mask, specular direct and indirect) and Render Passes. I followed this tutorial to render a shadow pass and character pass.
Then I had 2 different renders that included all the AOVs I selected. I did it to it will be easier for me to composite after in Nuke.
Compositing:
In nuke, the first thing I did is to clean up all the legos I used as tracking markers:
Then, I worked on colour correction. First, I adjusted the original plate because I wasn’t happy with the colors and lighting. Then, I matched the robot’s color to the background plate.
I used the Shuffle node since I had rendered my CG model with different AOVs and light groups. Using the subtractive method, I combined them with the Merge (from) and Merge (plus) operations.
After that, I added a flame to one of the candles and applied a glow and anamorphic effect.
Breakdown:
Assessment 2:
The Process:
Modeling:
The reference and the original Ant ZSphere:
Before I started to sculpt, I adjusted the ZSphere according to my reference.
Final Result:
Texturing:
I UV unwrapped the model in Zbrush. Then Imported it as FBX into Maya. Then I assigned an Arnold ai standard surface and exported the model as FBX to Substance Painter.
In Substance, I first baked the mesh. Then, I created a folder for each part of the creature (eyes, body, antenna, etc) and created masks so later it will be easier for me to texture.
I followed this tutorial.
Rigging:
I created a rig. I used IK handles to create controls to each leg and antennas. I also added a head and tail using Constrain -> parent so it won’t cause a problem to the main hierarchy.
To keep everything organised, I created a layer for each element:
Then I skinned the model.
Painted weight
Created an attribute for the mouth:
Shooting:
a
Matchmoving:
a
Rendering:
a
Compositing:
a