Pro Java 9 Games Development Leveraging the JavaFX APIs

(Michael S) #1
Chapter 3 ■ advanCed 3d Content rendering: 3d asset ConCepts and prinCiples

Complex physics simulations containing many interacting elements can’t be done using keyframes,
although it is theoretically possible if you have a massive amount of time on your hands; however, this would
not be profitable (worth your time). Just like the application of motion curves to keyframe playback utilizes
interpolation algorithms, a procedural animation algorithm goes one step further and also affects not only
the timing of the keyframes but also the keyframe data itself (X, Y, Z data, rotation data, scale data, etc.).
Since procedural animation is in the form of an algorithm, it’s quite efficient because once the
algorithm has been created, it can be used again and again with no additional work. These procedural
animation algorithms have created a number of special effects genres in 3D, including rigid body dynamics
and soft body dynamics (physics simulations), rope and chain dynamics, cloth dynamics, hair and fur
dynamics, particle systems, fluid dynamics, muscle and skin flex dynamics, lip-sync dynamics, and facial
expression dynamics. We will cover procedural animation a bit later, as we are progressing from the less
advanced concepts to more advanced concepts in each of these chapter sections.
Let’s cover an overview of character animation next; it is the next type of animation that is likely to be
supported in JavaFX because the JavaFX importers are supporting the import of more complex types of 3D
data, including advanced types of animation such as character animation.


Character Animation: Skeletal, Muscles, Skin, Forward, and Inverse


Kinematics


An even more complex type of animation is character animation, and character animators are one of the
popular positions on a 3D film, game, or television content production team. Character animation involves
a number of complex layers, including setting up a “bones” hierarchy for the character’s skeleton, using
inverse kinematics to control the skeletal (character) movement, attaching muscles to the skeleton and
defining how they flex, attaching the muscles to the skin, and even adding clothing and cloth dynamics to
dress the character. In 3D character animation, things are done in a very similar matter to how they are done
in real life so as to realistically simulate real life, which is often what 3D, i3D, and VR are attempting to do.


Figure 3-6. The Blender 2.8 Timeline Editor, with two keyframes at frame 0 and frame 10, and the current
frame 6 setting

Free download pdf