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

No comments:

Post a Comment

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 ...