kvBones mini-tutorial

This text file will explain the basics of KvBones. It is not meant to be a full tutorial or instruction manual. You may find that prior experience with mesh deformation and knowledge of vertex manipulation will help you to understand the workings of this plugin.

KvBones is a mesh deformation plug in for 3D Studio Max. It is similar to Digimation's BonesPro or Character Studio, but does not have quite so many features; well, it's still a good deal for the price (it's free).

It is written and copyrighted by Kostya Vasilyev (kostik@pobox.com), and released under GNU General Public License (GPL). See license.txt for details.

Buttons:

KvBonesObj - This button is in the space warps menu and is the button used to create the KvBones helper object.

About - This button tells you about the plugin and the people who worked on it.

Pick Bones - This button allows you to select the bones you wish to use with the mesh deformation.

Reset Position - This button lets you reset the position of the mesh to where it was before any deformation took place.

Edit Bones - This button takes you to another window that allows you to graphically edit the curves that affect how the vertices are weighted.

Show Bone - This button pops up a menu that allows you to show the vertices affected by a bone. The affected vertices show up as red.

Assign - When you are showing a set of vertices, by checking this box, you can edit the vertices affected by a bone as well as their individual weight.

By Alt-Clicking you can remove a vertex from a bones influence.

By Ctrl-Clicking you can add a vertex to a bones influence.

By Shift-Clicking you can copy the settings for the previously chosen vertex to any other vertex you select.

Weight Spinner and Balance - The Weight spinner allows you to determine the weight of each vertex as it is affected by the bone. The vales that are already assigned to the vertices are determined by the curves of the bones, which can be seen in the Edit Bones menu. With editing the weight of the vertices, you will find that you will usually want to make sure the Balance box is checked. This will allow you to adjust the influence between the two bones that can affect each vertex.

Vertex Info - This is the area below the weight spinner that shows you the current weight information on the selected vertex.

Work Path:

Getting started

First create your mesh and bones structure. Once you have reached this point, you can create the KvBones helper object by going to space warps on the create tab and going to "Kostya's Plugins" on the pop up menu. Click the KvBones object button and create the helper object by clicking in any viewport. Click the "Bind to Spacewarp" button and attach the mesh to the KvBones helper object. Now when you click on the mesh, go to your modify menu, the KvBones system will be in your stack, and the KVbones parameters will be available to you. First click on the Pick Bones button and select the bones you wish to use with your mesh deformation.

Animating

At this point, the code will use certain heuristics to assign bones to vertices. You can edit those assignments later. Now enter animation mode, and start moving the bones. The mesh will follow the bones.

Changing bone vertex assignments

Each vertex in the mesh can be influenced by one or two bones. When you first pick bones, the code will automatically assign bones to vertices, but those assignments may not be exactly what you want. There is two ways to edit assignments: by editing influence curves, and by manually editing bone weights.

Editing curves

Each bone has an "influence curve", that controls how much influence the bone has on a vertex, based upon how vertex is located along the bone. The "Edit Bones" button brings up a dialog box where you can edit these curves. The bone's beginning corresponds to value 0 on the curve's X axis, and the bone's end - to value 1. The Y value of the curve is the actual influence. A bone's influence can start before 0, and end past 1; this means that some bones may overlap, i.e. more than one bone will influence a given vertex. When this happens, the code picks two bones with the greatest influences and normalizes their weights to 1.0, preserving thier relative values.

Note that when you edit bone curves, any manual changes you make by hand (see below) will be lost.

Editing assignments by hand

Click on "Show Bone" button and select the bone whose influence you want to edit. All vertices which are influenced by this bone (to any degree) will now be displayed in red. If you want to edit assigments, check the "Assign" button. Now you can do the following things:

Animating the mesh

Just animate the bones as you normally would, and the mesh will follow :-)

You can reset the mesh's position by using the Reset button (this essentially re-captures the current position of the bones and saves it as new baseline position).

Info file Rev. 1.1

Written by:

Jeremy Krinitt pixel@hotmail.com

Kostya Vasilyev kostik@pobox.com