LPM #4: Puppeteering
<-<- FIRST || <- PREV
We have a model with bendy bones, expressions/blendshapes, mapped to a human skeleton, and on the side we have animations. The final step is to pilot it
Here comes some tidbits about Vnyan under the cut, and here comes links to the puppeteer himself Madame and the ever helpful Ame for the mesh and art
When you drop in the model to VNyan, you'll notice a bunch of strange lines. I don't think the antialiasing likes transparency, so the first thing is to turn that bullshit off. And because we are doing a pixel style where the expressions have no inbetween and we want to control the expressions through hotkeys alone (no facial recognition), they are either off or on, we can adjust the tracking for that. Head to Settings -> tracking -> webcamera -> blendshape adjustment and turn the blendshape weight for each of the a,i,u,e,o to 0
It's node graph time. We got 4 of them. Blinking, talking, emotes, and animations
Blinking has a group of nodes that when the "blink close" timer is triggered, toggle on our "blink" blendshape, and set a timer for "blink open" in 40ms. Node group 2 is "blink open". When triggered it turns off the "blink" blendshape, and sets a random timer for "blink close". Group 3 is just to start this vicious cycle, by on application start -> start your "blink open" timer
Talking is quite fun! It's actually a randomly selected mouth shape based on if it detects you talking. On application start it starts a timer for 75ms, and when it's triggered, it hooks back up to itself so it always restarts. Every time this timer is triggered it looks at the volume of your mic, if it's above a certain volume, randomly select an a,i,u,e,o blendshape. You also need to toggle off any existing blendshape, so if "a" gets selected, toggle off i,u,e, and o. If the volume is NOT above a threshold, toggle off all the blendshapes
Emotions won't be automatically detected, instead they are manually set. So the emotion nodes are simply: When a hotkey is pressed, toggle on the blendshape you want, and toggle off all other blendshapes. then I also include a hotkey to turn them all off regardless of which is on as a hard reset
The final animation node takes a little prep work. Firstly drop all your animation files into the "Vnyan\Items\Animations" folder. Then we'll set the camera positions later
THE FINAL NODE MAP is the animations... This one does 3 things when you press a hotkey. It sets the camera so you don't go out of frame if you sit or stand (Set this sequentially so start at 1, then 2, then 3..., depending on how many animations you got). It sets all the blendshapes to off except the one you want. And it plays the animation
Now you can set the cameras by going to settings -> misc -> camera settings. Pick camera 1, press the hotkey for your animation to activate it, position your camera, and hit "save current". Repeat for all your animations!













