Hinzufügen von Frames und Animationen (Direct3D 9)
In diesem Abschnitt wird gezeigt, wie Sie einem einfachen Cube Frames und Animationen hinzufügen.
Arbeiten mit Frames
Es wird erwartet, dass ein Frame die folgende Struktur aufweist.
Frame Aframe { // The frame name is chosen for convenience.
FrameTransformMatrix {
...transform data...
}
[ Meshes ] and/or [ More frames]
}
Platzieren Sie das definierte Cubegitternetz in einem Rahmen mit einer Identitätstransformation. Wenden Sie dann eine Animation auf diesen Frame an.
Frame CubeFrame {
FrameTransformMatrix {
1.000000, 0.000000, 0.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000,
0.000000, 0.000000, 1.000000, 0.000000,
0.000000, 0.000000, 0.000000, 1.000000;;
}
{CubeMesh} // You could have the mesh inline, but this
// uses an object reference instead.
}
Arbeiten mit Animationen
Eine Animation wird durch einen Satz von Schlüsseln definiert. Ein Schlüssel ist ein Zeitwert, der einem Skalierungsvorgang, einer Ausrichtung oder einer Position zugeordnet ist.
Animation Animation0 { // The name is chosen for convenience.
{ Frame that it applies to - normally a reference }
AnimationKey {
...animation key data...
}
{ ...more animation keys... }
}
Animationen werden dann in AnimationSets gruppiert:
AnimationSet AnimationSet0 { // The name is chosen for convenience.
{ an animation - could be inline or a reference }
{ ... more animations ... }
}
Nehmen Sie den Cube nun durch eine Animation.
AnimationSet AnimationSet0 {
Animation Animation0 {
{CubeFrame} // Use the frame containing the cube.
AnimationKey {
2; // Position keys
9; // 9 keys
10; 3; -100.000000, 0.000000, 0.000000;;,
20; 3; -75.000000, 0.000000, 0.000000;;,
30; 3; -50.000000, 0.000000, 0.000000;;,
40; 3; -25.500000, 0.000000, 0.000000;;,
50; 3; 0.000000, 0.000000, 0.000000;;,
60; 3; 25.500000, 0.000000, 0.000000;;,
70; 3; 50.000000, 0.000000, 0.000000;;,
80; 3; 75.500000, 0.000000, 0.000000;;,
90; 3; 100.000000, 0.000000, 0.000000;;;
}
}
}
Weitere Informationen finden Sie in den Vorlagen Animation und AnimationSet.