WORK IN PROGRESS PAGE!
This is a tutorial about how to modify the current character rig in Overgrowth to fit to a custom character. I will use my bear clan character (preorder forum access required) project to base this tutorial on. It features a very tall, big and proportionally odd character compared to the ones already existing in the game, and with any luck we'll be able to teach you how to make such a character work.
This tutorial uses the "wolfrig2.blender" file provided from alpha build 188 to create the bear's skeleton. If you want to create a character with more human proportions, you'll want to use the file "rabbit_rig.blend" instead. But the same stages should apply to both.
As with any tutorial, it's recommended that you start from the top and work your way down.
Before we start, there are a few things you need before you continue.
1.) A copy of Overgrowth (this tutorial assumes you've updated the game to at least alpha build 188 (7/29/2012)).
2.) The Blender project files found at "Overgrowth\Data\Blend files\wolfrig2.blend" (OR "rabbit_rig.blend") which is provided to you in your copy of the game.
3.) Download and install Blender 2.55 Beta, 32-bit version. Do NOT use any other version, or the plugins won't work. You can however install many versions of Blender on the same computer if you want to use the latest version for making the model or similar.
4.) Get the Phoenix-bone and animation plugin provided to you in your copy of the game and put it in your Blender 2.55 Beta installation:
4.1.) Copy the folders "io_phxbn" and "io_anm" found in "Overgrowth\Data\BlenderScript\addons\".
4.2.) Paste the folders into your Blender 2.55 Beta install at "C:\Program Files (x86)\Blender Foundation\blender-2.55-beta-windows32\2.55\scripts\addons"
5.) Google awareness. Blender is not a particularly easy-to-understand program at a first glance, so if you encounter any difficulties (and you probably will), you'll find plenty of help on the internet.
6.) A finished, functional 3D model. This tutorial won't cover how you do this, but here's a list of things I assume you have done to the model:
6.1.) It is scaled correctly to the other characters
6.2.) Model is facing -Z
6.3.) Is completely clean of broken faces and have had its history removed to avoid errors before exporting
6.4.) Both arms are completely straight and at a slight angle downward, legs not spread apart (knees can still be bent)
6.5.) I did triangulate the model before export, I'm not entirely sure if it's a necessity though
6.6.) Exported as an .obj-file
6.7.) And of course preferably it's actually textured with diffuse and normal map, ready to go
Setting the stage
Now with the prerequisites out of the way, here's what you'll do to apply your fancy new model to the Overgrowth character rig:
1.) Open up Blender 2.55 and Load the appropriate rig provided to you in the Overgrowth folder, in our case it's "Overgrowth\Data\Blend files\wolfrig2.blend".
2.) Select the wolf's mesh and delete it. You won't be needing it. Save your file as a new project with "File -> Save As..." so you don't accidentally mess up the wolfrig2.blend file. Be sure to often save incrementally in case you mess up!
2.1.) It is recommended to open up another instance of Blender 2.55 and load up the wolfrig2.blend file so you can look at how the Wolfire team have aligned the mesh to the skeleton.
It is key that you try to stay as true to their version as possible to make it look good.
4.) Import your model into Blender using "File -> Import -> Wavefront (.obj)".
Blender know-how's (If you're unfamiliar with Blender, don't skip this step!)
The biggest hurdle for you to overcome really when it comes to following this tutorial, is that now you have to interact with the program. Below is a cheat-sheet for the different commands you'll need to know, as well as how to manipulate the user-interface. Blender is really weird since it's super customizable, but if no one tells you how it works, it's pretty damn impossible to find out on your own for the most part.
First up, you need to know how to modify the user-interface so it's set up the way we want it.
User Interface Set-Up
1.) When you start Blender, you'll see all sorts of windows. The content inside of those windows can be switched by finding the icon which is located either in the upper or lower left of said window. In these dropdown menus, you'll see things like "Outliner" and "DopeSheet".
2.) In the utmost upper right and utmost lower left of each window, there's three gray stripes tucked away in the corner. Mouse over those stripes until your pointer becomes a crosshair. That's when you know you're now ready to click and hold the stripes, then drag away with your mouse. You can either drag it into the same window it belongs to to split that window and giving you another window. Or you can drag it in the opposite direction over to an adjacent window, and a big translucent arrow appears. When you release, you've then removed the adjacent window.
3.) Now I want you to have the following windows up:
3.1.) Outliner, Properties, 3D View, Timeline
3.2.) DopeSheet - Change the dropdown that appears there which also says "DopeSheet" to "Action Editor" to be able to see and change active animations. This is also contextual, so you must have the skeleton selected before you'll be able to switch animations.
"Transform" - The act of "transforming" (modifying) an objects coordinates, rotation or scale.
RMB - Selects objects.
LMB - Confirms a transformation, you should always finish a Move/Scale/Rotate with LMB, otherwise RMB to cancel.
MMB - Rolls the view, it works like a 3D-ball, it's a bit funky but you'll learn to love it
SHIFT+MMB - Pans the view
Z - Toggle Wireframe or Solid display on the model
G - Move Tool
S - Scale Tool
R - Rotate Tool
X - Lock transformation to follow X-axis only
Y - Lock transformation to follow Y-axis only
Z - Lock transformation to follow Z-axis only
SHIFT+X - Lock transformation to follow Z and Y-axis only
SHIFT+Y - Lock transformation to follow X and Z-axis only
SHIFT+Z - Lock transformation to follow Y and X-axis only
NUMPAD - Allows you to control the camera
NUM1 - Front view
NUM3 - Side view
NUM5 - Isometric/Perspective view toggle (important!!!)
NUM7 - Top view
Select MESH + CTRL+TAB - Switch between "Object Mode" and "Weight Paint" mode (this key gets all contextual depending if you have the rig or mesh selected however, beware)
CTRL+P - Select MESH + RIG -> CTRL+P to create a pop-up menu that allows you to bind the mesh to the rig
Aligning the character rig
Okay, we've made good progress. Now onto the rigging.
1.) Select the rig by right-clicking on any piece that shows. Press Z if to switch to Wireframe if you can't see any joints.
2.) In the "Properties" window, select the icon of the T-posed character.
3.) Under the tab "Skeleton" in that window you'll "Layers" and "Protected Layers". Ignore the latter completely. For now, hold SHIFT and left-click all of the buttons under "Layers" so they are pressed down. This brings all the rigging objects into view on the 3D View window. If you don't show all the pieces and start moving around, you'll mess it up and have to start over.
4.) Now you should use the NUM5 to switch between Isometric and Perspective View. Isometric is best for our purpose.
5.) Try out NUM1/NUM3/NUM7 and see how it switches the view between Front/Side/Top in that order. This will help you a lot.
6.) I want you now to move the lower right leg. But we must make sure that the pivot point is set to the right spot, up by the second-highest joint. Use RMB to select the joint (since Blender is showing multiple sets of bones on top of each other, it may not be highlighted for you, but it's selected, trust me).
7.) Press SHIFT+S to get up a window that lets you set the location of your cursor/pivot point. Press "Cursor to Selected" and the cursor will move to the selected joint.
8.) Now here begins the actual movement of the joints. I've found that the best way to modify is to use CTRL+LMB and then drag on the 3D View to get a selection lasso. CTRL+SHIFT+LMB also creates a lasso, but deselects instead.
9.) Select the entire lower right leg by using the lasso from the front view (NUM1) in isometric mode (NUM5).
10.) If you want more precision, you want to use the snap functionality. It is found at the bottom of the 3D View by the little magnet. Activate the magnet by clicking on the icon (or SHIFT+TAB). Change the snapping settings down there to "Vertex" and "Center". (NOTE: This should only be used if your model is completely symmetrical, if it isn't... uhm... well. You find your own solution, probably by changing the snapping settings).
11.) Press G to start moving the leg, then just to be sure, press SHIFT+Y to limit movement only to the X and Z-axis (this SHIFT shortcut works for all axis and transformations). It'll start to snap to vertices, so it's now quite easy to mirror whatever movement you do to the other leg. For those who may protest saying there's a mode to mirror joint movement (Press T to bring up that window) by enabling "X-Axis Mirror", is that it doesn't quite work for this rig for whatever reason. So do it manually.
12.) Use all the transformation tools (G, S, R) at your disposal and making sure to use the lock-to-axis hotkeys (Z, X, Y and SHIFT modifier) to move the joints around where you want them.
13.) You now have enough knowledge to move all the other joints around to where you want them by switching views with the NUM, but again remember to save incrementally, look at the original wolf-rig for comparison from all angles and edit your rig to be completely symmetrical.
Binding the character rig to the mesh
1.) Select the joints to weight by having the "Properties" window open, Mesh selected, then click the triangle-shaped button, then under THAT tab you'll find "Vertex Groups" which lists all the joints