Vertex animation: Difference between revisions
Jump to navigation
Jump to search
Note: DMX does not require a vertex cache file, so if you're using DMX ignore these two steps. The vertex animation data can be exported by Blender Source Tools to DMX.
(fixed up some vertex animation misconceptions) |
m (Fixed the templates) |
||
Line 7: | Line 7: | ||
== Implementation == | == Implementation == | ||
{{ | {{todo | CLEANUP! OUTDATED!}} | ||
# Create a vertex animation in your modelling tool. | # Create a vertex animation in your modelling tool. | ||
# Export a Vertex Cache file. Currently only the official Maya exporter can do this, and only to SMD. | # Export a Vertex Cache file. Currently only the official Maya exporter can do this, and only to SMD. | ||
# Add the <code>vcafile</code> command to your [[$model (QC)|$model]] block (see example below). | # Add the <code>vcafile</code> command to your [[$model (QC)|$model]] block (see example below). | ||
{{Note | {{Note | DMX does not require a vertex cache file, so if you're using DMX ignore these two steps. The vertex animation data can be exported by Blender Source Tools to DMX.}} | ||
This produces two flex controllers named after your VCA file. The first defines the blend weight of the animation, the second (prefixed with <code>multi_</code>) defines the active frame. | This produces two flex controllers named after your VCA file. The first defines the blend weight of the animation, the second (prefixed with <code>multi_</code>) defines the active frame. |
Revision as of 16:30, 23 June 2019
Vertex animation is the keyframed animation of individual vertices of a mesh. It's good for very complicated motion like that of cloth, hair, or water. It uses a flex controller bone to move the model through a series of flexes (one for each frame).
Vertex animation was added in Alien Swarm and is available in all games that branch from it, including Portal 2, Counter-Strike: Global Offensive, Source Filmmaker, and Dota 2.
Todo: Check if vertex animation was actually added in L4D or L4D2
Implementation
Todo: CLEANUP! OUTDATED!
- Create a vertex animation in your modelling tool.
- Export a Vertex Cache file. Currently only the official Maya exporter can do this, and only to SMD.
- Add the
vcafile
command to your $model block (see example below).

This produces two flex controllers named after your VCA file. The first defines the blend weight of the animation, the second (prefixed with multi_
) defines the active frame.
A programmer can now control your animation. If you need to map the vertex animation to a standard animation sequence, perform these extra steps:
- Add a new bone which will drive the vertex animation. It doesn't need to have any vertices attached.
- Add two
$boneflexdriver
commands to bind your vertex animation to the new bone (see example). - Add at least one
$sequence
in which the new bone is animated in its X and Y axes. Its X position defines the blend weight of the vertex animation (0-1), and its Y position defines the frame of vertex animation (0-1).
Example
$model "body" "ref_mesh.smd" {
vcafile "vertex_animation.vta"
}
// Optional:
$boneflexdriver "flexAnimBone" tx "vertex_animation" 0 1
$boneflexdriver "flexAnimBone" ty "multi_vertex_animation" 0 1
$upaxis Y // currently flex driver sequences must be Y-up
$sequence "vertex_animation" "flexAnimBone_anim.smd"
Example Videos
- A simple video showing the use of Vertex animation for hair.
- A simple video showing the use of Vertex animation for cloth.
- Example of vertex animation in Source Filmmaker.
- Example of vertex animation in Portal 2's HLMV.