Skeleton
From TrainzOnline
(Difference between revisions)
(Created page with "Animation in Trainz (and most other GPU-based renderers) involves several steps: 1. Creating a mesh, laid out in bind pose. 2. Creating a skeleton for that mesh, comp...") |
m |
||
Line 2: | Line 2: | ||
1. Creating a mesh, laid out in [[bind pose]]. | 1. Creating a mesh, laid out in [[bind pose]]. | ||
+ | |||
2. Creating a [[skeleton]] for that mesh, comprised of bones arranged in a hierarchy. | 2. Creating a [[skeleton]] for that mesh, comprised of bones arranged in a hierarchy. | ||
+ | |||
3. For each vertex of the mesh, defining which bones influence the vertex and how strong the influence is. | 3. For each vertex of the mesh, defining which bones influence the vertex and how strong the influence is. | ||
+ | |||
4. Defining animation sequences for the bones. | 4. Defining animation sequences for the bones. | ||
Revision as of 12:58, 16 October 2017
Animation in Trainz (and most other GPU-based renderers) involves several steps:
1. Creating a mesh, laid out in bind pose.
2. Creating a skeleton for that mesh, comprised of bones arranged in a hierarchy.
3. For each vertex of the mesh, defining which bones influence the vertex and how strong the influence is.
4. Defining animation sequences for the bones.
The mesh file contains the skeleton data (ie. a list of named bones and their parent-child relationships), and the vertex buffers in the mesh contains the per-vertex influence data.
The animation files contain a timeline with positioning data for each bone at various keyframes.