Saturday, June 27, 2026

Week 45 - Kotallo Headdress, Horizon Forbidden West Fan Art - Retopo & UVS

   Milestone 03 Check In: Retopology & UVs

Marmoset Toolbag, Hair cards with sub-surface scattering & ray tracing

Unreal Engine, Hair cards in normal base colour


Marmoset Toolbag, Hair cards without alphas & an ID map

Substance Painter, Hardsurface metal pieces, 2048x texture



Wireframe, 82k tris with hair - 46k without

Schedule
[06/16] BLOCKOUT [] -- First pass ofeverything; establish the form and sizing for all objects

[06/23] REFINEMENT & HAIR CARDS [] -- Refining the hardsurface and rope designs into a high poly; create a first pass of the larger plume/hair cards

[06/30] RETOPO & UVS [] -- Retopology, uvs and a secondary hair pass

[07/07] TEXTURING & RENDERING []  -- Use generator and mask-based texturing workflows. Render in Marmoset Toolbag.

Tools used: Maya (Ahoge & GS Curves plugin), Substance Painter, Fiber Shop, Unreal Engine

 References

For this project, since I escaped the soft fleshy bits of character sculpting, a lot of my references are just trying to understand the shape language that Horizon Forbidden West uses for their warriors, in this case the Tenakth Marshalls.



Extra Renders
Marmoset Toolbag, Hair cards in normal base colour



Marmoset Toolbag, Hair cards with sub-surface scattering without ray tracing

 Critique
Massive thank you to Richard Bacallao from Cohort 21 for the feedback! His main notes go as follows (6/28):
  1.  The biggest thing I see right now is a lack of density for the hair itself.
    • You have very visible clumps of hair that end up making the cards themselves look flat, especially near the tips. Add some more cards to those bends at the tips to help fill them out so they don’t look super flat
    • I see from your renders that you have large and medium-sized clumps; I’d go in and add another layer of both big and medium-sized clumps to add in some more overall density and coverage. You already have a good amount but just a bit more to push it further and just keep an eye on any clipping or intersecting
    • The overall strands of hair in your big clumps also need some more density to help with coverage. I’d also make them look slightly more generic to help avoid seeing repeated patterns in the hair style.

  2. One thing you can do for your new layers of hair cards is to start cross-sectioning them to give the illusion of some layering happening, all of your cards follow the same flow so crossing some cards over each other where a few are going in an opposite flow can add some believability to the piece
    • I’d also start thinking about a flyaway hair layer, adding in that sort of visual noise where it’s quite subtle and can bring the entire thing to life.

  3. My other big critique is overall resolution of the hair cards and the clumping of the hair cards. Don’t be afraid to go all out on this resolution
  4. For more of a sort of tuft fur look I would look into making the overall shape of the cards to be wider at the base

Nick feedback:
  • Although im not using a high poly for this project, since the main learning focus is centered around the hair, I should throw the hardsurface parts into zbrush, hit them with a dynamesh and polish so the edges can be slightly bevelled.
thanks for coming to my TED Talk <3

NOTE: Posted early for critique purposes

Friday, June 19, 2026

Week 44 - Kotallo Headdress, Horizon Forbidden West Fan Art - Refinement

  Milestone 02 Check In: Refinement & Hair Cards

Marmoset Toolbag, Showing the first pass of hair cards with no colour

Unreal, with & without proxy head

Maya renders, with & without wireframe

I hated how it was coming out, so I locked in. >:D

While working on this project, it was requested of me to make a breakdown of both the hair and beaded straw; it goes as follows:

Beads & Straw


For the straw and beads, I decided to try something a bit weird; looking at Aloy's model, they rely pretty heavily on single 256x256 or 2048x512 textures to ensure all of the details in the player model are properly captured. The Aloy Recon outfit, which for context is customisable with set colour palettes and has different upgrades with some elements being shared in different outfits, has 15 different texture maps. Below is an example of one of 6 different rope maps for the outfit. It is 2048 x 512


My plan was to create relatively easy geometry to work with and then use a similar rope atlas/extra planes to add differentiating detail, such as frayed edges.

I started with multiple planes of the same height and thickness, then used a randomize transformations bonus tool, now native to Maya 2025, to vary the top edges of the straw in different ways that still felt natural

One of the main problems I had in the first week of this project was the overwhelming expectations I gave myself on this project. This began the mantra of "think simply, think foundationally", which would continue through 90% of this project. For the beads I did exactly that, rather than trying to do fancy tips and tricks and get hung up on the details.

 I took my nowvariedd straw, threw it in ZBrush and made one bead with an ArrayMesh modifier. I focused mainly on the first third of the entire straw mat, making sure to get the proper variation I wanted, including a small extrude for depth, and then exported it. Back in Maya I cleaned up any overlapping beads/areas with overabundance and made sure they generally lined up with the straw


Finally, I used a nonlinear bend deformer in Maya to get the semi-circle shape. The deformers have been such a help for this project, despite constantly forgetting they exist. Especially with the small bends to many of the hard surface areas, the lattice deformer has been awesome to slightly nudge things back to where they need to be.


Hair Cards

This has been... interesting to figure out. At its most basic level, I understand how hair cards operate and function; they are long planes that display a texture and utilise their UVs to dictate which strands are being shown. In practice, I know nothing and have never known anything.

I've been very back and forth on this entire process of how to format the hair, specifically, with what kind of fur it's made out of. In Kotallo's official design, there are similar small puffs of fur used as trim in his skirt and pauldron; however, this fur is short and might look awkward with the sheer amount of mass that is required in the headdress. 




Because of this, I've played with the idea of utilising a bird-feather approach when creating a structure for the hair to follow. Where the marginal coverts would be the pieces closest to the scalp and the primaries and secondaries and the silhouette-breaking strands.


However, for my test I focused more on getting the idea across rather than getting hung up on details; something, something, make it exist first, then make it good.

I started by using a free version of Fibershop to make some test strands. I noticed in the main reference and final Kotallo design the hair clumps together to form large sections. For the time being I focused on making three different clumps: a primary (blue), secondary (red), and tertiary (green)




Admittedly, I didn't spend as much time as I could have. I created a 'mohawk' of NURBS curves evenly spaced to create the main silhouette to account for the hard surface pieces of the headdress. These curves didn't need to be exactly right but more or less create the general silhouette and movement of the hair tufts.


The main tool I used for this was GS Curve Tools. I dont remember when I bought it, but it has been incredibly helpful in creating and controlling the different curve tools and their associated meshes


I used the curves to spawn several instances of cards between them, or tubes depending on need. From here I have several options to work with the curves, either by making new strands based on my original tubes/cards, designating UVs, or creating randomisation with the cards to make them look a bit more natural.



Example of some of the randomisation options: for this I mainly stuck with twist, width, taper, and profile.

The majority of the actual options for GS Curve are going to be found in the Curve Control Window; here I am able to control the length and width of the curve, how many divisions exist on each curve, the normal direction, as well as orienting the normals to a mesh, and the amount of twist on the curves.


The current version of the hair is okay for a first pass; I am already thinking of different ways to improve it, such as the bird feather method for layering. Surprisingly, the current version is much lower in polygon count than expected; the blue section is ~1500 tris, red is 400 tris, and green is 560 tris.


Looking through the texture files for Aloy, and keeping in mind the fidelity difference between the two, I'm genuinely surprised how chaotic Aloy's hair card (2048x2048) appears. My knowledge in hair cards is at the most basic of levels, but seeing hair sections that exist in non-linear spaces, such as the top right hair section, exists. Somehow I assumed that hair cards always had to be linear due to warping from UVs. Additionally, the highlights on the larger sections of hair is extremely interesting; they seem almost random rather than done intentionally.


Fixes
For the most part, everything has been going smoothly minus that first week; however, that was largely due to non-school circumstances. The majority of the issues revolve around the slight deformation of the hard surface materials, largely due to how they were constructed.


As I mentioned earlier, a big problem I had at the beginning was the mental complication of this project. To make it a bit easier on myself, I decided not to worry so much about optimisation and instead work with ngon geometry to ensure the forms came first. As seen below, I created the far-left piece, which I call the 'upper jaw', and then broke it apart, far right, to kitbash the middle piece together with similar geometry. Then I cleaned up the mesh to remove Ngons and broke it apart in different sections to make future UV-ing easier. 



I do expect to have to redo these parts at some point, or at least modify them for the faceting on the final mesh; however, it's a sacrifice I'm willing to make for now.

Schedule

[06/16] BLOCKOUT [] -- First pass of everything; establish the form and sizing for all objects

[06/23] REFINEMENT & HAIR CARDS [] -- Refining the hardsurface and rope designs into a high poly; create a first pass of the larger plume/hair cards

[06/30] RETOPO & UVS [] -- Retopology, uvs and a secondary hair pass

[07/07] TEXTURING & RENDERING []  -- Use generator and mask-based texturing workflows. Render in Marmoset Toolbag.

Tools used: Maya (Ahoge & GS Curves plugin), Substance Painter, Fiber Shop, Unreal Engine

 References

For this project, since I escaped the soft fleshy bits of character sculpting, a lot of my references are just trying to understand the shape language that Horizon Forbidden West uses for their warriors, in this case the Tenakth Marshalls.



More Renders:

Showing the first pass of hair cards with no texture, Unreal Engine

Showing the first pass of hair cards with colour, Marmoset Toolbag

Hardsurface with no hair, Marmoset Toolbag

thanks for coming to my TED Talk <3

Wednesday, June 17, 2026

Week 43 - In Plain Sight, Sol Hair Research & Yarn Proxy

This sprint I spent a majority of my time working on secondary character art needs such as working out the workflow for Sol's hair, breaking down Metahumans for their parts, and designing the first proxy of the Yarn Ball character.

Hair Research

For our style, I spent some time looking at In the Valley of Gods, specifically with their character Zora, on how they do hair. This turns out to be a multi-layered approach with a basic mesh and hair cards stacked ontop of them



For this, Ive been testing out both Ahoge and GC Curves as Maya Plugins to see what the best way to get the volume we need for a coiled hair texture. This process started with a mesh volume, then converting that into a random number of curves with Ahoge. Then processing those curves into either cards or tubes to be textured.


Currently Im working with Fibershop to make proper hair alphas/curls, however I need more time with the program to create the effect I really need.



For the Barista, I took one of my Metahumans from a personal project, extracted the face, hands and hair at their lowest subdivision, and reconnected them in Maya. Alongside this fixing other notes that Jocelyn and Jordyn had for me.




Metahuman head raw.


The yarn has been tricky from the start since there are not many good references for how a yarn character should look. I did my best to create a rounded cube and then extrude out segments wrapping around to create individual strings. I used a material in Zbrush to see how a similar shader to the one we're making would affect it.




Week 50 - Industry Review Cleanup Part 3

 For this week I mainly worked on finalizing the renders for my player VFX post and creating several of the video features for it. I decided...