How to Use Face Poser:
The Complete Guide
The following is a guide on how to use Source SDK Face Poser for Half-Life 2. This covers setting it up, making a scene, and using that scene in Garry’s Mod for the purpose of machinima. This isn’t easy, but it is well worth the effort so if you’re interested, give it a try.
Step 1: Open up Steam and install Half-Life 2, Episode 1, Episode 2, and any other games you will want to use characters from. Be sure to launch them at least once so that Steam has a chance to update them to the newest version, otherwise they will not work with FacePoser and when you try to open FacePoser you will get an error message. Also install Garry’s Mod since this is where we will eventually be playing the scenes we will make in FacePoser.
Step 2: Go to the Tools tab in Steam and download Source SDK.
Step 3: Now launch Source SDK. A small menu will come up. At the bottom it should say engine version and current game. Set your engine version to Orange Box and your current game to Half Life 2: Episode 2. Now double click on FacePoser to launch it. Once again, if you get an error message make sure you have all the games you need installed and updated to their latest versions.
Step 4: Now you have FacePoser up, but it’s still not quite ready to go. There are still a few things you need to set up. First you need to download Microsoft Speech SDK 5.1. I believe that this is what allows FacePoser to be able to do lip movements, so that’s kind of necessary. Next you have to create a couple of folders. Go to C:\Program Files\Steam\steamapps\(your account name)\half-life 2 episode 2\ep2 and create two new folders if they aren’t already there. One should be named “sound” and one should be named “scenes.” These folders are going to be where you store .wav files you want to use in FacePoser and finished choreographed scenes you create respectively.
Step 5: Now that that’s taken care of we can set up a FacePoser scene. Go to File > Load Model… This will open up a list of game assets you can use. If you scroll down you will see different characters and props. To load the character you want simply figure out the model’s name and then type it in to open it. For instance if I wanted to use Dr. Kleiner, I would type in “kleiner.mdl” and then click open. If you want a character that is not in this first area chances are the one you want can be found in the “humans” folder. Once you’ve done this your screen will freak out for a little bit and then your character will appear. You can rotate him by left clicking and dragging him, you can move him by shift + left clicking, and you can zoom in and out by shift + right clicking.
Step 6: You’ve selected your character, now let’s start putting together a new scene. Click on Choreography > New… This will create a new choreography scene. Make sure you name this something easy to remember because we will need this later in Garry’s Mod. Also make sure to save this in the “scenes” folder you created in step 4. By doing this you have created a .vcd file that will store all the movements you have your character do. After this you will be asked to name a new actor. Also name this something logical because this will be needed in Garry’s Mod as well. Since I chose Dr. Kleiner as my character I will call him “kleiner.” The timeline will now have the name of your character in green just chillin’ there.
Step 7: So you’ve recorded some dialogue and now you want to know how do you get him to speak? Well this one’s a doosey so follow along closely. FacePoser figures out the lip movements to a sound file in two ways. Both by looking at the waveform of your sound and by having you type in what it is supposed to be saying Microsoft Sam style. Also it is very picky about the kind of sound file you use. To get your sounds ready to go, open them up in Sound Recorder. Go to File > Properties and then click Convert Now… Change your format to Microsoft ADPCM and your attributes to 44.100 kHz, 4 bit Mono 21 kb/sec. Now you’re good to go. Any other format besides this will result in FacePoser crashing a lot and your file not running at all in Garry’s Mod. Just thought I should throw that out there because it’s quite important. Anyway put your sound file in the “sound” folder you created in step 4. Now you’re ready to get back to FacePoser. Down at the bottom you will see a tab called Phoneme Editor. Double click on this to open it. Click on Load and open the sound file you want. You should see a red waveform. Play will allow you to hear your sound so you can recall which one it is. Hit Re-extract. This will prompt you to type in what is being said in your sound. Remember if you have laughing or some other sound like that in your recording type that in too so it will get a lip movement. After that right click in the Phoneme Editor window and click commit extraction. Now when you hit Play your character will say his lines. Depending on the quality and length of your recording this will either go perfectly or it will be an epic fail. If it doesn’t work you can either manually edit the phonemes by hand or you can,you know, just get a better microphone. Also cutting your audio file in to smaller pieces helps a lot too. FacePoser has trouble dealing with large audio tracks. If you do want to mess with the phonemes you can add new ones by right clicking on the existing ones and saying add new phoneme before or after the existing one. To move a phoneme shift left click to drag it. To shorten or lengthen one ctrl left click and drag. Also there is a tab for emphasis. That makes it so you can set key frames that allow the character to put added emphasis on certain parts of his speech. To do this ctrl + left click on the straight blue line, a small blue dot will be made. Click on it and it will turn red and you can move it up and down to allow for increased or lessened emphasis at certain parts in the dialougue.
Step 8: When you are satisfied with how your lip movements look, click Save. Now you want to get that sound file you worked so hard on in the timeline. Right click on the actor name at the top of the timeline. Go to New > Channel… A channel is a blank layer for you to put different kinds of information in to. You will be asked to name the channel. Call this something like “audio” so you know what it is. Once you’ve created this channel, right click the channel and choose WAV file… Under name: just put whatever. Under sound: type in the name of your sound. Don’t forget to put .wav at the end. Under Absolute: put 0 this makes your sound start at 0.00 on your timeline, so the front of your audio doesn’t get cut off. Now you can hit play to see your actor speak. For some reason on some machines the play button is blank, the play button is the first of the three squares right above the timeline. The second one is pause. And the little green thing can be moved around to scrub through the scene.
Step 9: Now let’s add some gestures. These are premade movements directly from the games and each character has a whole bunch created just for them. Create another new channel and call it something like “gestures.” At the bottom of the screen there is a tab called Animation. Double click on this. You will see a bunch pictures of your character doing a bunch of sweet stuff. Go to the gestures and postures tabs and click on the pictures to get a preview of the motions they contain. If you find something you like, click and drag the picture on to the timeline. Click OK and then name it whatever you want, it doesn’t matter. Then say OK again. The gesture or posture you picked will show up on the timeline. You can move this around wherever. Also you can add as many gestures as you want to this channel and they will layer. If you want to change the length of time a gesture you can stretch it on the timeline, or you can select the gesture and double click the Gesture tab at the bottom to edit the start and end times more precisely. Pretty sweet.
Step 10: So now you’ve got your actor saying his lines and making gestures, but there’s still one more thing to do, facial expressions. Create another channel and call it something like “expressions.” Right click on it and choose Flex Animation. Name this something and then set the start time to 0 and the end time to 4 or 6 or whatever, just something different than what it is because otherwise it will show up too small for you to do anything with it. Now stretch this flex animation bar to fit the entire length of your scene. This is a layer that you can use to key frame facial expressions. Make sure it is selected and then look up at the top right where there are a number of sliders. These control all the different things your character’s face can do. To make a key frame hit Make Keyframe it doesn’t make a dot or anything but it does its job. If you mess up and you want to reset everything press Zero Sliders to put all the sliders back to the default position.
Step 11: Congratulations your choreography scene is just about complete! There’s just one more thing to do in FacePoser. Create one last channel. Call this one “lookat.” Right click on it and choose Look at Actor…Put in any name. For look at actor: choose !player. Again adjust the start time to 0 and the end time to something higher than 0. Drag this bar the entire length of your scene. What this does is have your character always looking in your direction so that when you bring him in to Garry’s Mod he doesn’t just stare in to space and look in random directions while talking. I find it to be a good choice and I think you will too.
Step 12: You’re done with FacePoser! Save your scene and then exit out. What you have to do now is find your “scenes” and “audio” folders from step 4. Copy these folders and then paste them under C:\Program Files\Steam\steamapps\(your account name)\garrysmod\garrysmod. Now Garry’s Mod can get at them and use them.
Step 13: Fire up Garry’s Mod and get to whatever map you want. Spawn any NPC you want and then press “~” to bring down the console. If the console doesn’t come down, activate it in your game options. To set the NPC you spawned as your actor you will need to remember what you called your actor in your choreography scene. I called my actor “kleiner.” So I type ent_setname kleiner and press enter. Next you need to tell the NPC actor which scene to act out. Type ent_fire kleiner setexpressionoverride scenes/nameofyourscene.vcd and press enter. Now your NPC should be acting out your scene in a continuous loop. That’s it. Now that wasn’t so hard was it? Oh wait it was…