So, I started by brainstorming some options, I started with sketching out Frotaku as a handsome anime boy, but while I liked the idea, I did some other sketching around, and I wound up wanting to make something inspired by my general obsession/love with ancient Mesoamerican art. So, I settled on this guy, Xolotl, God of Fire, Lightning, and the Dead, with the head of a dog (the Mexican Hairless Dog's nahuatl name is named after this god, and the Axolotl is too!) On that note, everyone sees X and pronounces it like a ks sound, like box, but for ancient mesoamerican stuff you'll be more accurate if you pronounce X's with a sh sound, like Mixtec isnt M i ks t e k, its M ee sh t e k. Back when Magic the Gathering made their Mesoamerican set, Ixalan, everyone calling it I ks uh l on always bugged me. I SH uh l on you monsters!
Digressions aside, I did everything I did ith Frotaku with this. Zbrush sculpt, retopology in Maya, UVs in Maya, texturing in Substance Painter, additional touchup-y stuff in Photoshop sometimes.
I'll skip the Zbrush and Maya stuff, I'll talk a little bit about UVs and texturing.
My UVs, I wasnt super bothered with anything about them, I half assed them a little more than normal, especially the hands, basically, anything below the chest could easily be halfassed because it would almost never be seen ever, which is 3D artist code for permission to halfass.
Think of UVs like a bear skin rug, the bear skin rug is flat on the floor, but at one point is seamless covered the living breathing bear in it's 3D glory. UVing is basically making a bearskin rug. You take your whole model and select places to cut and then you project it nice'n flat and then manipulate it around to make sure its laid out so that nothing is super warped (best you can, its not possible to be perfect there really!)
You have to generally do your best to hide seams (a seam being where you've basically cut the texture to lay it flat) in places like armpits where its less likely to be seen. There are also some nice techniques since the advent of things like 3DCoat and Substance Painter that allow you to paint right on the model, if you notice the arm on my UVs, I squared it off, the reason for that is that if you align the UVs on the sides of the seam it makes for very smooth easy painting since the sides of the neighboring UVs are the same!
Now, once you have your UVs laid out, you're ready for texturing!
Its what Im worst at by a country mile, Ive never been a good painter, and my mediocrity has lead to people asking if Im color blind. Im not color blind, I have perfect color vision I JUST DONT HAVE A LOT OF EXPERIENCE WITH IT. Cruelty.
Aight so, this model doesnt actually use a Normal map, the Normal map is one of the big reasons you make the Zbrush model, it projects the multi-million polygons of your Zbrush sculpt onto the low poly and gives it the illusion of having millions of polygons, however, when baking out normal maps you also typically bake out a host of other maps.
1. The Ambient Occlusion map.
A classic, basically a map generated in black and white where black is occlusion shadows, so areas where light isnt really reaching like the armpit or taint will be pretty black, the underside of a huge pair of tits or pecs would be darker too, etc.
2. The Curvature map
This map is neat, basically its a grey map with white on "edges" and blacks on "cavities" its very useful for, well, masking out edges and cavities.
3. The Position map
Basically just creates a 3 dimensional color gradient, front to back, left to right, up to down, etc. This map's primary use is darkening the lower part of a model to add brightness, contrast, and focus to the important parts, aka the top. Check out League of Legends models and Overwatch models, you'll probably notice how they're darker at the bottom!
4. The World Normal map
Similar to the position map, it maps 3 dimensional color gradients, however its going hard core on the actual light interactions, its really good for creating a top down light and the corresponding shadow map, it makes for the base of every texture I do since its a quick easy way to define the basic dimensionality via light.
Those are my big four maps, there are a shit ton of others like Thickness maps you might use to do some Subsurface Scattering stuff, but I the workhorses for me are the aforementioned maps.
The Mighty Substance Painter.
First of it's Name.
King of PBR Texturing Processes.
Scourge of my fucking Laptop.
This thing runs my laptop so fucking hot it makes this phase of work hellacious, the more shit you stack into it the worse it gets, that screenshot of my shit has one expanded folder with layers in it and I believe I have around 12~ of those in there. And thats exclusively the armor stuff. There are other layers that have the skin and hair and eye folders filled with more layers, and all of that shit absolutely piles up and shits on my poor laptop.
But uh, yeah, despite this texturing being ostensibly qualifiable as "handpainted" a big part of it is really based off compilations of the maps I mentioned before, there is painting in there, but a lot of even the painting is painting on the generated maps if I want them to be doing something specific.
Substance is a lot more complicated than I've said here, it uses a lot of generators, a generator basically takes the maps you've got and lets you screw with them, contrast, blur, masking directions in position and world normal maps, etc.
I mostly wind up using a very mask based process, all of these generators get used to make masks, so what youre seeing is basically big flat sheets of color masked out by these generators to create gradients and such.
Fuck, all of this Substance stuff is frying my brain and I forgot wha- no, fuck I remember,
The worst part.
The AGONY. The bleeding hell that is my life, the thing I never want to do, the thing I NEVER like doing, the thing that haunts my 3D nightmares.
Rigging, and Skin Weight Painting. Mostly the Skin Weight Painting. Emphasis on PAINting.
Alright, so quick run down on rigging, I am not an expert, this is where what Im doing diverges heavily from my developed skillset, this is ANIMATOR shit, not CHARACTER ARTIST shit, I CAN do some of it but god fucking help me it is a slog and generates frustration and misery beyond compare.
So, riggings not that bad,
Simple stuff, its just bones, the bones act like bones inside you presuming youre not some slimy jellyfish fuck. You move the bones, the polygons on the model move with them! Like MAGIC.
The rig I made here is really simple because the vast majority of it is completely and utterly unnecessary since basically from the waist down will literally never move.
The facial area however has more dedicated to it. I shat down bones all over the hair because the bones in the hair are what enables me to add Springbone physics to my character, which basically means, the hair can move and bounce and what not. So I added shit tons of bones to each piece of hair as well as the ears. The eyes also have some bones, they basically allow the eyes to rotate around the hollow demon-sockets of this soulless puppet, but frankly I aint figured out the eyetracking yet so right now its fruitless.
Once the rigs set you hit the Bind Skin button and Maya will do its darnedest to skin the model to the rig so that it moves just like you want!
I will fail, this is where the pain happens because its where Skin Weighting starts.
This is the shoulder of my model. Skin Weight painting is pretty simple, this piece of geometry is bound to a bone, right now these are the weights for the Shoulder joint, when the shoulder rotates the black polygons dont move at all, and the white ones move in the same way the shoulder moves, so if I rotate it down 90 degrees then the white moves 90 degrees and the black moves 0 degrees. All of the tones in between all move within that spectrum. None of this is all that painful, whats painful is all of the weird fucking nuisance idiosyncracies with it! Theres this great Flood button that will flood a model with a tone, black through white anything in between, however sometimes this causes random weird shit to happen! Sometimes randomly the model decides EVERY DAMN VERTEX IS ACTUALLY IN THE MIDDLE OF THE DAMN WORLD SPACE AND ARTAESGRDHFXYNCVJ PROBLEMS qewazsrfdgbxthncbfgvfuckargetfbhfndx
So I did this for everything, most attention going towards, again, the chest up basically.
Once this misery was finished I had a basically functional rig. Next, BLEND SHAPES!
The OTHER way to animate things! You COULD have like, a bone for the jaw that makes the jaw move, etc. but for facial animation instead its common to have BLEND SHAPES!
No, this isnt that creepy place from Game of Thrones with all the heads in enclaves in the walls! These are my initial Blendshapes! To make a blendshape you take your head(s) like I have here, duplicated them, and then manually put individual expressions onto them. So, for Apple ARKit stuff there are like 52 blendshapes, I focused on some key ones like y'know, blinking, pursing the mouth, opening the jaw, etc. Once you have your Wall of Faces, you select them all, and then your final head mesh and hit the Blendshapes button and it creates a bunch of Blendshapes with sliders from 0 to 1, which, you guessed it, control the transition from the neutral final head mesh to the Blendshape's expression. Thats how you get the fluid facial animations in 3D vtubers! The iPhone (only iPhones unless youre a rich ass mocap investor or some other weird person) can read your facial expressions with its Face tracking technology and you can use that to get the nice smooth facial animation with your Blendshapes!
Next, I had to put all of this fucking shit together in fucking UNITY. I now hate Unity, Unreal made this infinitely easier, Unity was way more finnicky, and I had to do a bunch of irritating specific shit to get everything functional at the end.
Before the end though I had to get the springbones working, its literally just taking the rig and applying some gravity, and other movement settings to the hair and the bones basically do all the work. This process was a nightmare because shit broke all of the god damned time and I basically couldn't properly add gravity to the front most long piece of hair so, uh, fuck you Unity I hate you I hate you but also thanks for being free and letting me use you to get this VRM file out so I could put it into Waidayo and stream Waidayo to VSeeFace for my second proof of concept for Vtuberationing.
So, proof of concept here done, next step is to finish it all up, I need to fucking put all of the skin weights onto a reversed normal version of the mesh to get it a nice constant outline, I need to then revise textures possibly to account for this, and I need to, obviously, mess with the hair physics more, the vibrating jiggling looks like shit, and then some blendshape work.
But hey, proof of concept, its DOABLE and thats always the thing that Im worried about most because I am King Failure of Fuckup Town,
I hope you enjoyed this, you probably didnt because who the fuck here understands anything about this inane bullshit, but hey if you made it this far good job you're slightly more educated about something you probably have less than no use for!