Showing posts with label Kotallo. Show all posts
Showing posts with label Kotallo. Show all posts

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

Monday, June 15, 2026

Week 43 - Kotallo Headdress, Horizon Forbidden West Fan Art - Blockout


 Milestone 01 Check In: Blockout



Im going to say straight up I hate how this is coming out; however, due to more personal life problems, this is the best I could manage for this week.

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

(I dont have the images at the time of writing this blog post but I also had both the Horizon Forbidden West and Zero Dawn art books physically infront of me that I was referencing; I will add them ASAP.)



Clean versus annotated breakdown

I was able to find a free model of Aloy in one of the Tenakth armor sets to break apart and see how they do everything, however I will mention it is the wrong clan since the designers of this game are incredibly cool and made each subsect of the Tenakth -- Desert, Sky, and Lowland -- all have different designs in their specific armor types






This is the Aloy Tenakth Recon Outfit, extracted by Tosyk, my third favourite set in the game. There is a pretty important note that "if I have this model, surely someone must have extracted Kotallo's model, especially since he's one of the most beloved characters in this specific game." I thought so too; it turns out extracting models from HFW is incredibly difficult.

One aspect I immediately learned from this model is that there's actually an entire texture map that is just an atlas of rope. That is so incredibly cool and isn't appreciated enough. I also stole Aloys' face for a mannequin to make sure proportions are correct.

Also, Aloy has baby hairs on her face. I love these artists so much.

 Back on topic, working on this project is something I've wanted to do for an extremely long time. I played HFW right when I got into the major, and every couple of years I end up right back at it's development process. In 2022, when I got my Blizzard scholarship and got access to the GDC Vault I watched the Guerrilla Games presentations over and over and over again. Specifically these three come to mind a lot while working on this project.





Although im not happy with the general blockout, I am really excited on the experimentation for the hair cards. In Common Art I've gotten the opportunity to work with and learn new workflows for creating afro-textured hair for one of our main characters. I believe I can apply some of the same logic to here. Although this is most likely just utilizing curves rather than the volume-to-curve pipeline we're using in CA


CA pipeline uses a volume -> proxy hair cards or mesh -> curves -> final cards pipline which allows us to keep everything editable while visualising the end product.

For Kotallo's headpiece it would likely just be focusing on the curves


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