FMP – E2

TITLE OF UNIT: Final Major Project
Email – l.howell0120231@arts.ac.uk
E1 – 20/11/2025


(To come back to the top, simple click on one of the headers!)

Final Outcomes

View the Version Log
Version Log --

-- [16/12]
Blockout_03 - Created basic fingers and block for palm
Blockout_04 - Hand fully joined - topology adjusted
Blockout_05 - Piston joint - created topology to begin loop bit
Blockout_06 - Fuck that joint. We're doing a simple revolute joint now. Join basically done
B07 - Resizing joint to match piston - Circularised top
B08 - Fix topology, before combination
B10 - Joint Complete - Duplicates Deleted
B11 - Both Joints complete!
B12 - Knee Joint created- ball sphere; QuadSphere fbx created with shelf button
B14 - Added supporting loops to Revolute joints on feet. Ball joint contructed on knee
B15 - Redoing knee support - topology bothering me; created instance

-- [26/12]
B16 - Redid the knee support w/ instance. Instanced the ball joint too for perfect rotation; grouped joint elements
B17 - Redid topology of head band; Added Mohawk - not topologically linked; Port on upper Arm nubs

--[30/12]
Zbrush B08 - Hands Zsphere

B18 - Import Zbrush Hand
B19 - Joints for the back: Bool'd the outside of joint to cylinder

--[01/01]
B20 - Import Zbrush Hand - blockout vers; retopology begins

--[14/01]
B21-22 - Retop Back hand - thinking abt rigging and extruding for detail
B23 - RESTART I HATE IT Squares too small, and topology was getting ridiculous 
B24 - going infinitely better and quicker
B26 - 2 Fingers doene; need to add cap. Need to finish top of palm
B27 - Constructing finger to create instances - Cap creation Versions
B28 - Final Cap version. Circularising that bit - Instanced; 
	Thumb Finalised (lost prev save womp womp)
	Body arm port duplicated. Instanced from duplicate. Instances separated by male and female ports.

--[26/01]--
B29 - Creating stretchy arm bit.
B30 - Figuring out how to squash/stretch it 
B31 - SVG was a fail, using texture to geometry to construct the hexagonal pattern for the stretchy arm. Will shrink wrap it to cylinder later
B32 - HEXAGON ARM DONE


--[03/02]--
B33 - Back Armature Basic Topology
B34 - Added the Bars to spikes - maybe keep idk
B35 - Prep back hand for extruding details

--[06/02]--
Zbrush B13 - Split to poly groups - Back Hand
Zbrush B14 - its going alright
Zbrush B15 - halfway
Zbrush B16 - Basically done, fix any topology issues in Maya
	subdiv 1 - Hand_Low2.obj
	subdiv 2 - Hand_Low3.obj
BackHand.ma - merged verts, extruded the finger webbing - can be replicated

--[10/02]--
ALL ZBRUSH IS TRASHED

B36 - Rework base hand mesh
B37 - Slits modelled, ready for extruding - should be no topology issues
B38 - Front Panels Extruded
B39 - Circles Extruded; Loops placed on bottom of front panels
B40 - The whole cap done yippee
B41 - Cap aligned with finger's topology, but not connected
B44 - DID A COMPLETELY DIFFERENT JOIN IN THE ANKLES
B45 - fixed it :) - Ball joint in ankle, hex grid redone in zbrush w/o inner walls - QuadFill installed, Ball joint finessed
B46 - Arm port redone and aligned with hexcyl. --deleted irrelevant arm ports
B47 - Back Hand mesh water tight - making ball joints - instances
B48 - Ball joints placed at knuckles and aligned
B49 - Finger redesign - knuckles. Completed
B50 - Finger Placement -- annnnnd she's beautiful!!

-- modelling over 23/02 -- (haha u wish)

--[27/02]--

B51 - Robot toes
B52 - Foot moved away from world center, having to tinker with the joints to ensure they work --aligned
B53 - Ankle joint rethink (52 has old vers)
B54 - Robot Foot creation
B55 - Completion of above - Revolute Joints
B56 - Spherical Joint Ankles. - Blank holder
B57 - Optimised - Ankle tried to connect to revolute
B58 - Taken from 56, reoptimized
B59 - Spherical Joint Holderd modelled (Saves kept)
B60 - (Saves Deleted)// Cylinder attached to Robot hand // Right hand added circle and translated to hex cylinder
B61 - Arm fully aligned
B62 - Scene cleaned up - no saves; Robot hand aligned to armature, Extended wrist; Armature topo cleaned up
B63 - Outliner Cleaned, Objects correctly labelled and grouped
B64 - Fixed finger alignment
B65 - Throwaway for clothing

=


-- [12/03]--
Cloth_01 - Clean import 3d from Marvelous
C02 - Cleaning Verts

-- [15/03]--
C03 - Reimport following tut - Materials Reassigned (https://www.artstation.com/artwork/zZOOL)
C04 - 2D Pattern Topology
C05 - Transferring UVs

Basic_06 - Removed internal lines and shoulder pads

--[16/03]--
C06 - Reimport where the 3D and 2D have the same UVs
C07 - UVs Matched
C08 - Transfer Vertexes - Jacket Back Piece wrong UVs (Corrected from 06)
C09 - Pieces aligned
C10 - Merging. [Clothes_SS_Low.fbx Created - Clothes Single Sided Low]

Modelling_01 - Import Clothes_SS_Low.fbx
M02 - Mirror Objects, Fix Verts around knee (collision)
M03 - Fix Thumb Toe which has been stretched out
M04 - Mirrored all. Created Thumb pad for foot 
M05 - Mohawk Loops made
M06 - Mohawak cones to headband

-- [17/03] -- 
M08 - Mohawk Band complete
M09 - Body Mirror

M11 - THE ONE WITH THE EXAMPLE RIG SAM MADE IN IT

// High Clothes needs to finish - Trousers. 


M12 - Blank

=

-- [ 25/03] -- 
Sculpt_Topo_01 - Import Zbrush sculpt body
ST2 - retopo around eyes - loops
ST3 - mirrored - Headband and mohawk adjusted
ST4 - old body deleted; import high
ST5 - Conformed?? 
ST6 - High deleted; Belts modelled with rivets; buckles modelled

// The Armatures need a revolute pivot; detach base for rotation (They cant change angle)

ST7 - Armatures added a spin mount. 

-- [ 31/03] -- 
ST8 - Armature finised - Not mirrored ; teeth in place

ST9 - Reset Pivots from MO3 
ST10 - Reset Arm Pivots from MO1 
ST11 - Mirroring with Pivots; baked the pivots of inner pistons; pinky has been fucked this whole time, middle segment too low


// SO! if you mirror the group with frozen transforms it works!!
// changes pivot rotation tho :(

// THE FIX: Duplicate special (Scale x = -1 ) >> Match transforms (to mirrored mesh, as above) >> Negate rotation.yz (*-1)
I would like to make this a script if I had the time rn


ST12 - Hand Pivots Correct. Armature Correct; Arm Correct; Leg Correct; Foot no

// discovered you can hold d and press a face/line to align the pivot TT

ST13 - Pivots corrected; blanked
ST14 - Cleanup and optimise

-- [02/04]--
ST15 - Top Teeth retopo
ST16 - Bottom Jaw: Tongue and Teeth retopo
ST17 - Mouth Sac created (separate)

// Advanced Skeleton Install

ST18 - Combined w/ body
ST19 - Deleted old teeth; Hands proper topology (2 fingers)

-- [04/04] -- 
ST20 - Arm retopo; mirrored, pivoted

ST21 - Advanced Rig Prep; BLANK FINAL w PIVOTS <==========================

=
=

Rigging_01 - Cleaning // Rename group L_Armt_p3 and R_Armt_p3

R_02 - Fully cleaned Model <==============================================
>> delete all by type > history 
>> scene optimise

R_03 - Reference in R_02

// need to smooth the normals of the forearms
// Arm needs to have bend for it to IK -- forearms slightly rotate
		>>Im going to leave the arms for now, because the rotation should be dealt with by the hex grid anyway

R_04 - Arm Bones Added in
R_05 - extra hand added in -- need to align bones

-- [08/04] --
R_08 - All bones placed
R_09 - Reparented the Piston joints around; made a group node to take off the translation; took out underscores :(

-- [09/04] -- 
R_11 - Transform groups nodes from scapula to wrist, hand is staying but the fingers aren't

// I think I need to go back to R_09 or 10 and fully take out the hand from the shoulder. I had to run cmds to unlock the inverse.scale attr and I just think that that's so unnecesaary. The transforms also didn't stick so I'm getting rid. If the new joints I added worked then fuck it 


-- [10/04] -- 
R_13 - BRANCHED FROM R_09 - deleted all joints off of shoulder (shoulder persists). Run auto-orient
R_14 - Hand Bones Placed from import; oriented
R_15 - Spine 2 added; 
	- Armature second joint rotation fixed. 
	- LEAVING THE HIERARCHY of the foot cos theres no way to fill that loop so hopefully it just fucking works

R_16 - RIGGED - Layered
potential issues: No idea if the pistons work; Update: They do not. The two spheres NEED to be connected somehow

// THERES AN AIM AT ATTR. USE THAT NOT AIM FFS

// we're just gonna skin the body and clothes and the foot well do constraints n shit

-- [14/04] --

R_17 - Build skeleton without IK -- this will need to be done entirely in IK :'( ; Controls scaled and coloured ; 
R_18 - Skin Bound to selected joints; 
	- Layers edited: Body -> All [renamed]; Armature and hands, Body [Created]

>>>>>>>>>>>>>>>>>>> Here's where I'm gonna fuck it alllll up

R_19 - Bound the left foot; Nurbs Oct, Rect, NurbsRectPoint1 and 2 created; 
R_20 - Armature bound - ALL BOUND;  
	- Nurbs Star Created; Some controls made into stars - he feels bonita

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ALL BOUND

> Issue: Cannot work contraints
> Issue: No idea how to make the pistons contrain - they wont work with advanced

// need to skin weight
// could use attributes??? driven keys??? to make sure that the range of movement is restricted.


-- [15/04] --

R_21 - Locked some rotations - Armature and Legs
R_22 - Parent control on ankles 
	- Changed ankle control to cube - moves whole foot; 
	- top small ankle resized control to be seen

-- skinning
R_23 - [right side] Added Aim constraint to inner piston 
	- Shelf buttons to Zero translations of inner foot ankles [both] 
	- Aim constraint on inner piston (just works better) 
	- skin weighted the inner piston
R_24 - skin weighted legs and shoulders. Chest is an issues
R_25 - weighting hex grid
R_26 - the hexgrid hates me; ++N skin tools installed 
R_27 - Hex grids skinned 

-- [16/01] -- 
R_28 - Neck and head -- good enough for now; 
	Body - Everything but hands skinned
R_29 - All Body components skinned; need to skin clothes

>> I FORGOT THE TONGUE JOINTS. FUCK.

R_30 - Clothes skinned decently well enough; jaw skinned
R_31 - tongue joint addition - Skinned but the skinning is causing issues w/ new cluster 
	-- unbind all clusters, and rebind from jaw. (once removed new cluster - it moved correctly)


-- [20/04] -- 
-- feedback from Sam
	- delete some geo to avoid clipping

R_02 (old ver copied to R_02 (Copy))	
	> deleted faces from body and shirt
	- duplicated body and tshirt in order to copy skin weights over

R_32 - copied the skin weights from body and shirt to each other (u have to select the old one first, then new one)
	- Tongue Cluster fixed

R_33 - blend shapes

>>>>> BRANCHING OFF 
(can just resave the pencilled one)

-- [21/04] -- 
Animation_Idle_01 - Posed
A_I_02 - Pencil Material, and adding selected edge nodes (sets in outliner)
	- PosedPic rendered

>>>>

A_IdleAnim_01 - Copied pencil above. Posed
	- Jacket Flare blend shape created
A_IA_2 - Key first frame
A_IA_3 - Rough poses -> glitchy bullshit

	-- animation is fine, but kinda glitchy, can be worked out in Krita

>>>> (REMEMBER TO RESET THE RENDER SETTINGS) -- turn off that render line setting

A_IdleAnim_2_01 - going off of the posed idle, to create a really subtle animation
A_IA_2_01 - Basic Pass done, adding facial expression
A_IA_2_03 - Complete animation; render settings changed

A_IA_2_04 - Figure out how to export animation for Unreal rendering 

A_IA_2_05 - Animation Tweaks

A_IA_2_06 - Reassign materials for unreal -- deleted pencil nodes

A_IA_2_07 - New separated materials for unreal

Contents:


Zbrush Blockout

Marvelous Designer Jacket

To create the character’s jacket, I used a blazer frommy previous project. This I resized to the model’s proportions and upgraded to have shoulder pads.

To construct a belt, I simply stitched 4 pieces of fabric together. [see below] This I could sculpt on top of later, to add detail, but fornow, was all I needed.

Then I cut the sleeves where the arm detatches from itself.

Maya Low Topology Blockout

Mechanical Foot

I created a bare bones blockout of the mechanical feet from what I imported from Zbrush.

This I created by making one finger, then duplicating it to create the rest.

This formed the basis of what the joint on top would become

Originally, the concept for the joint was more sleek and contained. However, I thought that by having a revolute joint, instead of the spherical one would look better and fi the narrative. Afterall, the character is meant to have DIYed the whole thing, so something bigger and bulkier makes more sense for storytelling.

I also used pistons to extend and contract from the joints as the angle changes. This will later be constrained together, so that when rigged, they will behave like actual pistons

Throughout the modelling process, I have kept a version log. This enables me to track changes, and find it easier to find the correct version I’m looking for.

Next, I tackled the armature of the feet, and the knee rest.

This had several variations. I initially started out by taking a cylinder and extruding parts, but could never find the correct curve.

Eventually, I landed upon using the torus,reducing subdivisions, and using the outer faces as my starting point. I’d first get the curve I was looking for, and then extrude for thickness.

What really helped me – having realised it after one or two iterations – was using instances to maintain the world orientation, but applying it to the positioned mesh. This meant I could extrude and manipulate the object cleanly, whilst it being positioned in real-time, saving small adjustments down the line.

What I struggled with was modelling the joint. Topology really elluded me around the socket. I was modelling a spherical omnidirectional joint, perfect for handling all the necessary angles of the knee, but this meant that the topology needed to be smoother.

Head Spikes/Mohawk

I liked the idea of a ball and chain punk-ish look

Upper Arm Ports

Back Robot Hand Modelling Process

I began the “retopology” (I put that in quotes because I’m using it as a basis to start the actual modeling, rather than it being a low poly of a higher)

Finger Caps:

Import to Maya to begin retopology (again)

I didn’t like how many subdivisions it had so…. take 3!!

Used the model to live extrude from, became so wonky, so I did it again (take a shot how many times I redo something)

Finger caps oh how I hated you.

Here we break the chronology to continue logically. After this, I made the flexi-arm. But let’s continue with the hand

OH SO YOU THOUGHT IT WAS GOING REALLY WELL RIGHT????

no!

Unfortunately, Zbrush –> Maya hates me so much that no matter what I did, There would be non-manifold geometry.

– “Do cleanup!” I hear you cry,

IT ISN’T CLEANING IT UP

I despise it, it loathes me, it’s fine.

So from here on, here is me doing that all again…. 🙁 In Maya

I went right back to the basic topology, and worked to fix the topology where I could.

My only hope is that all of this work now, will make it easier later.

At this point, we are ready to start extruding areas

Huzzah! We have a hand. And thats not all I redid….. :/

I really wanted the original curved caps. So in a stroke of geniu, I made some quickly using Quad Draw, and extruded the middle. Worked great!

This next bit skips chonologically, but for the sake of logical sections, here we go.

To construct the wrist joint, I really wanted that corrugated edge feel, like a pill bottle lid. So I created a little jut and using Duplicate Special, I duplicated it around to create a cylinder.

Then I created a little pole from the hand which will connect to the wrist through a little dip in the middle to make it seem like it is actually connecting to something.

After modelling a lot of circular elements in this project, I’ve been saved by a Quad Fill Script. This allows me to select a vertex, and instantly fill in a hole without needing to manually work at the topology. #notspon

I also added some ornamented insets for decoration

Hexagonal Flexi-Arm

Okay tell me why this took me so many damn tries….

So we started with SVG -> Geometry, then Texture -> Geometry. I genuinely started doing cleanup, then realised how many vertices there were… then I realised that Zbrush would BE SO MUCH BETTER smh

Following this tutorial : Hexagon Grid ZBrush 2018 – YouTube I managed to create a hexagonal grid.

Using a cylinder that had been reduced to a hexagon, I used the preset from the video to create this hexagonal grid. This could then be adjusted to my needs.

This was going really well, and I managed to create a tube using it.

However, I found issue with the fact that the ends just wouldn’t meet. (I figured out once I rubbed my two brain cells together)

So, thinking there was no saving this, I started on another method.

I used the ring plugin to create a circular path that I could put in an array.

However, I didn’t realise that they would not manage to join up, so this became ridiculously complicated.

I had found a way to flatten the faces, but the interior was still messed up, and it wasn’t a complete fix.

Fortunately, my two braincells came in clutch, and I realised that I had to mask out the edges so that they’d fit together once joined.

This meant that I could create the tube that I needed.

This looked great when connected to the arm! (Next would be trialing how well it stretched and squished.

I also modelled a port from the arm to connect up to the hex-grid

Back Armature

References;

A lot of designs use a revolute joint, constrained to one axis, with one singular rotational pivot at the base. This makes it quite nice to rig.

I modelled in sections, for the middle segment, and then mirrored them to create two identical bars. This I think I will make look better for now. But as they say, it needs to exist first.

After all this, this is what the version log is looking like.

Very long! But ultimately this will help if I need to go back and look for things.

Update: It really did

I simplified the topology of the armature to reduce poly count, could have been a bit more brutal though

I also added some ornamental insets into the poles for decoration, and to outline the features.

Final Tweaks On The Feet

I realised that the ankles would not be able to handle interior or exterior rotation, So in order not to lose the joints I had worked on, I thought about creating a track that it could slide through

However, I realised that that would overcomplicate it far too much, so I added a simple spherial joint that can handle almost 360 degrees of rotation.

This joint would be able to sit in a little inset, and connect to the rest of the foot. The foot “pad” could then easily rotate up and down.

Bootstrap Example

Next I needed to add the toe pads to the thumbs

Marvelous Designer Clothes

Little me once wished to be a fashion designer, Little me would have LOVED marvelous designer

each panel piec
trousers!
Folded over the ends of the trousers
The back

The pattern pieces☝️

Bootstrap Example

Maya Clothing Retopology

Brought into maya, heres what the clothes looked like.

To easily create low poly clothing, I followed this tutorial by Olivier Couston

This allowed me to use the UV space from Marvelous to transfer the vertex position of the new topology effortlessly creating the low poly.

By importing both the 3D clothes and the 2D pattern from marvelous designer,I was able to use the UV space to retopologise and project low poly clothing. This made retopology so much easier as all I really needed to be conscious of was making sure that the amount of edges was equal for all seams, this meant that all I had to do was merge them later.

Face Variations and Mohawk

Pencil Shader Development
Zbrush Face Sculpt

Progression —>

Then add teeth! The base model came courtesy of Simon Telezhkin which I found here, ArtStation, and retopologised in maya

Final Modelling
Rigging
Skin Weights
Animation
Unreal Rendering
Pencil Animation

-> View Final Outcomes <-

Leave a Reply

Your email address will not be published. Required fields are marked *

*