Using Motion Capture with a Biped

Using Motion Capture Files with a Biped
Motion capture file formats include BIP, BVH, and CSM. BIP files are the easiest to work with, try to use them if you can. This tutorial assumes you have a biped rigged character ready in 3DS Max.1) Select the Biped. Under the Motion tab, find the Motion Capture section.
2) Click the “Load Motion Capture File” button and select the file.
At this point you will be able to preview the animation before making any adjustments.

Adding Layers
At this point you may want to make adjustments to the animation. You can do this through the use of Layers.

1) On the Layers rollout (under the motion tab), click Create Layer.
2) Turn on Auto Key and animate like you normally would (in this example I simply lifted his left arm).
– The red stick figure represents the original motion.

Creating a Walk Loop
Often times animations will have the character walk around in world space, but for machinima purposes you may not want them to leave their starting position (so you can keyframe their movement in the game engine instead). This is easy to fix.
1) Create a new biped layer.
2) Select the root bone (usually Bip001).
3) Turn on Auto Key.
4) Set the Y position of the first and last keys to 0 (right-click the move tool and enter the value).

Tips
– Check how the hands and fingers look during animations. A closed hand will often looks more natural.

Converting BVH to BIP
Batch convert BVH to BIP
Reducing Keys

An Introduction to the Starcraft 2 Editor

This is a guide that will cover the basics of how the Starcraft 2 assets can be previewed. This guide is intended for understanding how the cutscenes work.

How to preview models
1) Open the editor and go to File > Dependencies.

2) Click the “Add Standard” button and select everything (there should be 4 items). Click Ok.

3) Go to Window > Previewer
– This is your model viewer. Use the tree on the right side to find models.
– Most of the high quality cinematic character models are in Assets > StoryModeCharacters
– Additional character models can be found in the portraits directory.

Viewing the cutscenes
1) Download the SC2 cutscene files from here. This will allow you to play the cutscenes in the editor.
2) Go to File > Open and select one of the scene files.
3) To select the default camera view, Go to View > Camera, then select the camera with the Cam_Export suffix.

– At the bottom are standard playback controls: play, pause, etc.
– Unfortunately, there’s not much you can do with these cutscenes other than see how they’re put together.

SC2 Model Previews

Converting WoW Models to UDK with Machinima Studio

Machinima Studio is a useful tool for exporting WoW assets. This tutorial also covers how to import the assets into UDK, which is an optional step.

Converting M2 Models with Machinima Studio
Machinima Studio has thumbnail browsing, which is a big advantage over WoW Model Viewer when looking for models. The downside is the textures are usually exported as JPG, meaning they generally will need to be converted to something a little more universal (TGA or PNG).
1) Locate the model

2) Export as a OBJ file.

2) Run the 3DS Max script obj_to_ase.ms to convert to an ASE file.
– Make sure 3DS Max is set to use the correct OBJ import settings and the correct ASE export settings.
3) Copy the toolbox folder to the new directory.
4) Run convert_ms_models_to_udk.bat.
Import the textures into the UDK. Save.
Import the ASE files into the UDK. Save.

Output Example #1

Converting Skyboxes to UDK
One benefit of using Machinima Studio is it exports the WoW skyboxes complete with all the textures.
1) Locate the skybox you wish to use and export as an OBJ file.
– Skyboxes can be found under Models > Environments > Stars.

2) Run the 3DS Max script obj_to_ase.ms to convert to an ASE file.
3) Copy the toolbox folder to the new directory.
4) Run convert_ms_models_to_udk.bat.
Import the textures into the UDK. Save.
Import the ASE files into the UDK. Save.
– The materials will each need to be examined to determine the settings needed. Everything should be set to emissive. Things like clouds and stars should be set to additive or masked. [Pic]
– Moving objects in the sky (such as clouds) can be accomplished by adding a rotator or panner in the material editor.

Output Example #1

Adding Custom Animations to Left 4 Dead 2

Note: This tutorial is no longer recommend as a way to make L4D/L4D2 machinima. It is much easier to move the assets to another game (Garry’s Mod or UDK) than to use custom animations within L4D. However, I will leave this tutorial here in case someone is really curious about the process.

Creating a Left 4 Dead 2 Scene
Part I: Lip-sync
L4D2 has a few differences you need to be aware of, compared to other source games. I spent a good amount of time figuring out how to make a scene, and documented the process for anyone else who is looking to learn.
1) Start by creating the Faceposer files.
– Make sure you add the phonemes before aligning the words, or else the program will crash.
2) Once your vcd files are finished and saved, go to File -> Rebuild scenes.image.
3) After that has finished, copy your scenes.image file from left 4 dead 2\left4dead2\scenes to left 4 dead 2\left4dead2_dlc2\scenes.
4) Rebuild your sound cache by going into the game console and typing snd_rebuildaudiocache.
– This will take a few minutes so make sure you add all your audio files before running this command.

Part II: Creating a $definebone file for the model.
Before you can use custom animations, you will need to create a $definebone .qci file.
1) Decompile the original model.
2) Open mdldecompiler.qc and remove the $lod lines. There should be about 3 of them at the top of the file.
3) Open the command prompt and run the following command “studiomdl -definebones mdldecompiler.qc > sharedbones.qci”
4) Delete the lines from sharedbones.qci that don’t start with $definebone.
5) The hand bones in the qci file will contain junk data. Notice how the highlighted numbers are different than the other lines. This will make the character hands act funny. Fix this by changing it to 0.000000 0.000000 0.000000.

Part III: Custom Animations
L4D2 doesn’t have many animations that are useful for conversation, so it goes a long way to make a few of your own. Again, compared to other Source games this requires a little more work.
1) Create your animation in 3D Studio Max and export as an .smd file.
2) Use this tutorial for the next few steps to set up the .qc file.
My .qc file looks like so:

$modelname "survivors/anim_mechanic.mdl"

$includemodel "survivors/anim_mechanic_original.mdl"

$include "ellis_bones.qci"

$sequence z_stand_still "stand_still.SMD" ACT_NONE 1 fps 30.00

Part IV: Hex Editing
This next part is L4D2 specific. You will need to use a hex editor to change a file in order for it to read from your newly created animation file.
1) Open pak01_dir.vpk with a hex editor.
2) Search for the name of the animation file. In this example it’s anim_mechanic. There will be two results. Replace the second one with anim_mechnaniz.
– By changing this name the game will look for the local file, otherwise it will use the animation file stored in the .vpk files.
3) You should now be able to preview your animation using the model viewer.

Part V: Mapping
You will need to create a custom map to play your .vcd files. See the vcd_tutorial attachment for a very basic example.

Part VI: Recording
You should now be ready to play your scene in game. It’s a good idea to use players as actors rather than bots. The bots tend to move around a lot randomly.
There’s a few camera options you can try:
Noclip – Very basic and easy, but requires a dedicated cameraman.
Recording a demo – The built in demo recorder is the only way to record something in game (ie without Fraps), but is not really ideal for machinima. It is an option though.
Built in cameras – Cameras can be placed in the map file that can be triggered. Unfortunately there’s no way to preview where these cameras a looking. The attached map l4d_camera_tutorial provides an example of a moving camera intro.

Game Visual Examples

Deus Ex: Human Revolution

Tron Evolution uses the Unreal 3 Engine. The game assets can be extracted using Umodel.
– Some of the character meshes are rotated at an awkward offset.
– The light cycles seen in the Tron Legacy movie are versions 4 and 5.
– Fraps footage will have the “GridGame” prefix.
– The game packages have the extensions .upk and .umap. They can not be opened in the UDK (gives a licensee error).
– Packages are located in “Disney Interactive Studios\Tron Evolution\GridGame\CookedPC”.

Alice: Madness Returns uses the Unreal 3 Engine. The game assets can be extracted using Umodel.
– Fraps footage will have the “AliceMadnessReturns” prefix.
– The game packages have the extensions .upk and .umap. They can not be opened in the UDK (will cause UDK to crash).
– Packages are located in “EA Games\Alice Madness Returns\Alice2\AliceGame\CookedPC”.

Dead Rising 2 works well with 3D Ripper DX, but there’s not many machinima possibilities within the game itself.
– Extracted audio files will just have numbers for a name, making it difficult to locate specific sounds.
– Fraps files will have the “deadrising2” prefix.
– This game contains a number of comedic props, use 3D Ripper DX to extract them.
Extracting Files
Dead Rising 2 uses .big files to store data. These can be extracting using Gibbed.DeadRising2.Tools.
1) Locate the file you wish to extract. Drag it on to Gibbed.DeadRising2.Unpack.exe
– The .big files can be found in “Capcom\Dead Rising 2\data”
– The audio files are mostly in .adw format, which is basically a .wav file.
– The most useful thing you can get from this extractor are the audio files. It is possible to extract textures and some models as well, but it would likely be a lot easier to use 3D Ripper DX for that.

Duke Nukem Forever uses a heavily modified Unreal 2 Engine. The game assets can be extracted using Noesis.
– A tutorial for extracting models can be found here.
– Game music can be found under “Duke Nukem Forever\Music”.
– Sounds can be extracted by using Noesis to export the SoundDir.dat file.
– Fraps files will have a “DukeForever” prefix.

Mirror’s Edge uses the Unreal 3 Engine. The game assets can be extracted using Umodel.
– Mirror’s Edge is one of the few Unreal based games that allows access to the Unreal Editor.
– While you can use the editor to explore the assets and preview the levels, you won’t be able to build the same lighting.
– The editor is a very dated build and not recommended for building levels. If you wish to explore the levels, delete all the kismet sequences and game specific actors (example: TdTutorialStart) to prevent errors.
– Fraps footage will have a “MirrorsEdge” prefix.
– The game packages have the extensions .upk and .me1. They can not be opened in the UDK (gives a licensee error).
– Packages are located in “EA Games\Mirror’s Edge\TdGame\CookedPC”.

Mirror’s Edge Map Examples
SP00/Tutorial_p.me1

SP01/Escape_Off.me1

SP04/Subway_Plat.me1

SP09/Scraper_Lobby.me1

Minecraft Machinima Info

Minecraft is known for its extensive mod possibilities.
– Fraps footage will have the “javaw” prefix.
– Textures can be found in “C:\Users\username\AppData\Roaming\.minecraft\bin\minecraft.jar”.

Minecraft to UDK
Enlarging the Textures
The textures will need to be enlarged and separated before import into UDK.
1) Open terrain.png in Photoshop.
2) Go to Image > Image Size. Set the scale to 3200% and select “Nearest Neighbor” from the dropdown.
– This will create block textures that are 512×512.

Because Minecraft environments are made out of blocks of the same shape, we will only need a single block which we can then duplicate and create different materials for within the UDK.
– Note: Tree textures are not two-sided.

Output Example #1

Minecraft to OBJ converter
Minecraft Skins
Minecraft Texture Packs
Minecraft style maps for TF2 and CSS
Minecraft human model rigged

3DS Max Tips and Resources

3D Studio Max is used for importing and exporting 3D objects which can be used with a variety of programs. It can also be used for creating original models and animations. Why use it over Maya, Lightwave, or Blender? The biggest reason is it offers the most support. It has more tutorials and more third party scripts than the competition. If you are using game assets chances are you won’t have problems with 3D Studio Max.

Keyboard shortcuts
Z – Zoom on selected object.
F3 – Toggle wireframe mode.
ALT+W – Maximize the viewport.

Rendering for Compositing
1) Open the model in 3DS Max. It should have materials applied already.
2) Add a Skylight to the scene.

3) Go to Render -> Render Setup. Select the output size you wish to use. Under the “Assign Renderer” section, make sure “Default Scanline Renderer” is selected.

4) Under the Advanced Lighting tab, select Light Tracer from the drop down.

You are now ready to render to whichever format you wish. A PNG or TGA sequence is recommended (make sure it has an alpha channel).

Output Example #1
Output Example #2

Problems and Fixes
1) The XYZ arrows goes missing.
– Press X to toggle on/off.
2) I am unable to move or alter an object.
– Try pressing space bar to unlock the model.
3) How can I divide an object in half?
– Try using the slice modifier.
4) How can I center an object in the viewport?
– Press the Z key.
5) How can I copy animation keys?
– Hold shift and drag the selected keys.
6) How can I add a directory of assets (textures, etc)?
– Customize > Configure User Paths
7) How can I match the scale of an object?
– Tools > Align > Align
8) How can I center my object’s coordinates?
– Edit > Transform Toolbox > Center
9) How can I import sound files into 3DS Max?
– Open the Mini Curve Editor. Double-click the Sound setting.
10) The bounding box around my mesh is crooked. How can I fix this?
– Make sure your mesh is selected. Go to the utilities tab. Press the Reset XForm button. This will rebuild your bounding box.
11) How can I change the viewport layout?
– Views > Viewport Configuration > Layout Tab
12) How do I use an alpha map?
– Under the Maps section for the material, enable Opacity and add the alpha texture. Under “Bitmap Paramaters”, set “Mono Channel Output” to Alpha. Set “Alpha Source” to Image Alpha.
13) How can I change or add map paths?
– Move your Max file into the new maps folder and open it from that location. By default, Max will always look within the root of the Max file for map files. Once the file opens and finds all of your maps, save the Max file back to the original location – then all of your map paths will update.
14) How can I reset my 3DS Max user settings?
– See this link.
15) What is causing this yellow box when I mouse over the grid?
– The “Snaps Toggle” is on.
16) The right-click menu is disappearing.
Disable the window transparency in Windows 7.

Helpful Links
Texturing Tutorial
Character Creation Tutorial
CGPersia Forums
3DS Max Cheat Sheet
TF2 3DS Max Render Example

Importing WoW Models with Animations (FBX) into 3DS Max

This is a quick guide on how to properly import FBX files with animations into 3D Studio Max. Before starting, make sure you have the most recent FBX plugin from here.

Importing an FBX Model
1) Select the character in WoW Model Viewer. Go to File > Export and select the FBX option. You will be prompted to select an animation name, leave this blank to export all animations.
– It may take a minute or two to fully export. The program may seem unresponsive, but it is likely still working. Be patient.

2) In 3D Studio Max, go to File > Import and select the FBX file. Under the animation section, select the “No animation” option.
– You may get a warning about the skin while importing, just click ok it won’t affect anything.

Optional Cleanup Steps
3) Remove the TurboSmooth modifier from the mesh.
4) Add an “Edit Mesh” modifier and consolidate the material slots.

Adding Animations
1) With the model still open, import the FBX file again and select an animation from the drop down list.
2) Remove the TurboSmooth modifier.
Importing animations currently has a bug which affects the last few keyframes. Fortunately, this is easy to fix.
3) Select all the bones (CTRL+A). Copy the first key and place it over the last key. (Shift-click and drag the key to the end).
– You can export the animation at this point.

Problems and Fixes
1) When trying to export in 3DS Max, I get the error “Duplicate bone name encountered”.
– This is caused by the bone names being too long. Use Tools > Rename Objects to rename the bone prefix to something shorter.

Converting WoW Models to UDK with WoW Model Viewer

Exporting M2 models using WoW Model Viewer
1) Export the models from WoW Model Viewer as OBJ files to a new directory.

2) Run the 3DS Max script obj_to_ase_rescale.ms to convert the models to ASE files and resize them.
– Make sure the OBJ import options have “Import as single mesh” selected.
– The objects are being resized so their thumbnails will show up properly in the UDK.
3) Copy the toolbox folder to the new directory.
4) Run convert_wmv_models_to_udk.bat.
Import the textures into the UDK. Save.
Import the models into the UDK. Save.
– Alpha materials will need to be set manually. [Pic]

Output Example #1

Problems and Fixes
1) The models are being exported into many sub directories.
– Go to Options > Export Options > Uncheck “Preserve Directory Structure”.

Importing WoW 2.4 Characters with Facial Animations

Note: This uses the 2.4 WoW character models, which are pretty dated by now. I am leaving this here for reference purposes, but it is dated. If you wish to use something newer, look into the FBX export option.

This is an overview of how I converted WoW character models and added custom facial animations.

Exporting the model M2 file
1) Open WoW Model Exporter and load WoW 2.4.

2) Save the M2 and export the animation list-file.

Importing the character into 3DS Max
1) Open 3D Studio Max. Import the M2 using WoWM2Import.ms, set the FPS to 100.

The imported model will be very small. We will fix that in the next step.

Modifying the mesh
1) Right-click the viewport and select “Unhide All”. Select everything and scale by 5000%. Manually recenter.

2) Select the bones, add them to a new layer, then hide the layer.

3) Export with ActorX.
Optional: Change the bone size. Select the bones. Go to Animation -> Bone Tools. Change the width and height to 0.01.
Optional: Some characters have eyelids which need to be hidden. Create a new material ID for the eyelids.

Adding Animations
1) Download the toolbox.
2) Place the animation list-file in the wow/m2 directory.
3) Run convert_animations_to_max.bat.
– This creates a maxscript file that will save each animation as a seperate .max file.
4) Batch process the animations using ActorX. Use the “Process all animations” button.

3) Export as PSA.
4) Import the PSA into the UDK and untick “Anim Rotation Only” in the animation editor.

Teeth and Face Morphs
Most WoW characters don’t have teeth. In order to make better looking face animations, we will need to add them.
1) Import the teeth (I use teeth from Left 4 Dead 2 characters). Position and rescale to match the WoW mesh.

2) Add an “Edit Mesh” modifier to the WoW mesh and attach the teeth.
Change the animation time to 100 for these next few steps.
3) Locate the jaw bone (ex: Bone_NightElfMale_30). Create an animation of it opening by rotating it. It should be closed on frame 0, and fully open on frame 5.
4) Under the Skin modifier, select all the teeth vertices and change their weight so they aren’t affected by the jaw animation.

5) Add an Edit Mesh modifier, move the vertexes (and teeth) to create one of these face shapes.
– Dont move all the lips verts at the same time when shaping the mouth, it can produce inaccurate results.
6) Turn any mouth morphs off and export the reference with ActorX.
7) Turn on a single mouth morph and export with ActorX using a unique name. Repeat for each mouth morph.
– Make sure the animation is on frame 0 when exporting.
8) Import the reference mesh into the UDK. Create a new morph target set.

9) Import the morph targets and test to make sure they work.
– The order of the modifier list in 3D Studio Max is very important. If you can’t select vertices using an “Edit Mesh”, check the modifier order. Skin needs to be on top.
– To use morph targets with talk animations, the bone that controls the mouth needs to have its keys deleted. Note: Some of the idle and stand animations have mouth movements as well.
– You can not delete any verts when making morph targets, but you can move them so they can’t be seen (or delete them from the reference mesh).

FaceFX Setup
FaceFX will combine bone animations and morph targets to create out animation. First we will export the jaw animation we made earlier.
1) Load the FaceFX plugin in 3D Studio Max. Unhide the jaw bone. Under “Reference Bones” click the export button and select the jaw bone.
2) Move to the last frame of the mouth animation. Under “Bone Poses” in the FaceFX plugin, click export and enter an animation name.
3) Export the FXA file.
4) In the UDK, Right-click the WoW mesh and select “Create new FaceFX asset”.

5) Right-click on the mesh’s FaceFX asset and select “Import from FXA”.
6) Right-click the FaceFX asset and select properties. Add the morph target set.

7) Open the mesh in the animation editor. Under the mesh tab, add the morph target to “preview morph sets”.

8) Open FaceFX and select the “Face Graph” tab. Right click the background, under add node select FUnrealFaceFxMorphNode. Put the morph name under target_name.

– Keyframes can be added to the animation graph by right clicking the curve name under animations. Select “Curve Properties”. Untick “Owned by Analysis”.
– A tutorial that covers FaceFX usage can be found here.

Attaching Armor
1) Load the character file you saved earlier (before any of the “Edit Mesh” modifiers were added). Export with ActorX.
2) Attach to the character in the UDK using SkeletalMeshActorMULTI. This will allow both meshes to play the same animation.
3) Apply an invisible material to all the material slots except those you wish to render.

Attaching shoulders and helms
1) Export the character from WoW Model Viewer wearing the shoulders as a Milkshape file.

2) Open the Milkshape file and export as an OBJ file.

3) Open the WoW character in 3DS Max, import the shoulders OBJ file and make sure “Import as Single Mesh” is not selected.
4) Use the align tool to scale the shoulders to the WoW mesh.

5) Export each shoulder as an ASE file. Import into the UDK.
6) Place the model in the level as an InterpActor. Open the model properties and attach it to the appropriate actor bone.
– Offset and scaling can be done in matinee.

Animation Blending TutorialAnimation NodesMatinee Control
1) Create an AnimTree for the mesh using this setup.
2) Add the waist separator bone to the “Branch Start Bone Name” field.
3) Place the mesh in the map using SkeletalMeshActorMAT. In the properties, set the AnimTree.
4) Add a matinee slot for the mesh. Add an animation track for Slot_LowerBody and Slot_UpperBody. Use the curve editor to set their values to 1.

Problems and fixes
1) The shading on my character doesn’t look right.
– WoW models are generally emissive. Setting the materials to emissive will remove any blockyness.
2) The face animation is not playing when using a custom character skin.
– Previewing the animation in matinee will usually fix this.
3) Attachments are clipping/disappearing when the camera is in certain positions.
– This may be related to the attachment being too small.
4) Where can I find the hair textures?
– Look for paths similar to “textures\character\bloodelf\hair00_00.blp”.
5) How can I add the glowing eyes used by night elves and unded?
These are separate meshes that need to be exported, then attached within the UDK.