• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 06:57
CEST 12:57
KST 19:57
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 2 (2026): RO4 and Finals Preview11TL.net Map Contest #22 - Voting & Ladder Map Selection5Code S Season 2 (2026) - RO8 Preview5[ASL21] Finals Preview: Two Legacies21Code S Season 2 (2026) - RO12 Preview2
Community News
[BSL22] Non-Korean Championship from 13 to 28 June2Weekly Cups (May 25-31): Clem doubles, 2v2 circuit heads toward finale0StarCraft II 5.0.16 PTR Patch Notes may 26th151Weekly Cups (May 18-24): MaxPax wins doubles0Crank Gathers Season 4: BW vs SC2 Team League6
StarCraft 2
General
Code S Season 2 (2026): RO4 and Finals Preview What kind of tool would you be interested in? TL Poll: How do you feel about the 5.0.16 PTR balance changes? Oliveira Would Have Returned If EWC Continued TL.net Map Contest #22 - Voting & Ladder Map Selection
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament GSL Code S Season 2 (2026) WardiTV Mondays Maestros of The Game 2 announcement and schedule ! Crank Gathers Season 4: BW vs SC2 Team League
Strategy
[G] Having the right mentality to improve
Custom Maps
[D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 529 Opportunities Unleashed Mutation # 528 Infection Detected Welcome to the External Content forum
Brood War
General
25 Years Since Brood War Patch 1.08 FlaSh's ASL S21 Finals Review [BSL22] Non-Korean Championship from 13 to 28 June BW animated web series: seeking contributors FlaShFTW vs A.Alm Grudge Match Event
Tourneys
[BSL22] Grand Finals - Sunday 21:00 CEST [ASL21] Grand Finals [Megathread] Daily Proleagues Escore Tournament StarCraft Season 2
Strategy
Why doesn't anyone use restoration? Any training maps people recommend? Muta micro map competition [G] Hydra ZvZ: An Introduction
Other Games
General Games
ZeroSpace Megathread Summer Games Done Quick 2026! Nintendo Switch Thread The Perfect Game Path of Exile
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia
Community
General
US Politics Mega-thread Trading/Investing Thread Things Aren’t Peaceful in Palestine YouTube Thread Russo-Ukrainian War Thread
Fan Clubs
The herO Fan Club!
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion Movie Discussion! [Manga] One Piece
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Esportsmanship: How to NOT B…
TrAiDoS
Why RTS gamers make better f…
gosubay
ASL S21 English Commentary…
namkraft
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 5011 users

To Be Another Vtuber

Blogs > Zambrah
Post a Reply
Zambrah
Profile Blog Joined June 2011
United States7393 Posts
May 01 2021 21:52 GMT
#1
After my little practice excursion with Frotaku I restarted from scratch(ing my eyes out at all of that fucking time spent and W A S T E D) and built up a new dude,

[image loading]

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.

So,

[image loading]

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!

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

[image loading]

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,

[image loading]

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.

[image loading]

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.

[image loading]

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!

[image loading]

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!

Neat right?!

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!


*
Incremental change is the Democrat version of Trickle Down economics.
Please log in or register to reply.
Live Events Refresh
Sparkling Tuna Cup
10:00
Weekly #134
YoungYakov vs HonMonOLIVE!
CranKy Ducklings80
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Ryung 89
ProTech87
Codebar 11
Rex 0
StarCraft: Brood War
Britney 35828
Calm 6178
Hyuk 786
Zeus 525
Shuttle 315
Larva 241
EffOrt 198
Soma 189
Rush 177
firebathero 174
[ Show more ]
Pusan 133
Light 104
ggaemo 97
hero 66
sorry 54
Liquid`Ret 44
Soulkey 43
Killer 36
scan(afreeca) 35
ToSsGirL 32
Backho 30
Hyun 28
Free 23
IntoTheRainbow 17
GoRush 17
Noble 17
soO 16
Barracks 15
[sc1f]eonzerg 14
Hm[arnc] 14
JulyZerg 13
Shine 12
ajuk12(nOOB) 12
Bale 12
yabsab 12
SilentControl 11
zelot 11
Dota 2
Gorgc1671
Dendi49
XcaliburYe41
League of Legends
JimRising 434
Counter-Strike
olofmeister2035
shoxiejesuss1247
markeloff111
Other Games
Lowko944
crisheroes245
Pyrionflax182
Sick167
Happy156
Mew2King44
Organizations
Other Games
gamesdonequick539
BasetradeTV208
StarCraft 2
WardiTV65
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 15 non-featured ]
StarCraft 2
• CranKy Ducklings SOOP30
• iHatsuTV 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 9
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis5394
• Jankos2842
Upcoming Events
WardiTV Spring Champion…
3m
Ryung 0
Rex0
WardiTV0
PiGosaur Cup
13h 3m
Replay Cast
22h 3m
Kung Fu Cup
1d
Maestros of the Game
1d 4h
Classic vs Lambo
Clem vs Maru
Replay Cast
1d 13h
The PondCast
1d 23h
Maestros of the Game
2 days
Serral vs Rogue
herO vs SHIN
Replay Cast
2 days
Maestros of the Game
3 days
[ Show More ]
Replay Cast
3 days
CranKy Ducklings
3 days
uThermal 2v2 Circuit
4 days
Sparkling Tuna Cup
4 days
uThermal 2v2 Circuit
5 days
OSC
5 days
Replay Cast
5 days
Wardi Open
6 days
Replay Cast
6 days
Liquipedia Results

Completed

BSL Season 22
2026 GSL S2
Heroes Pulsing #1

Ongoing

IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
CSCL: Masked Kings S4
YSL S3
Acropolis #4 - GSB
SCTL 2026 Spring
WardiTV Spring 2026
Maestros of the Game 2
uThermal 2v2 2026 Main Event
Murky Cup 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026

Upcoming

BSL 22 Non-Korean Championship
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
Heroes Pulsing #3
Heroes Pulsing #2
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.