C++ Game Animation Programming: Learn modern animation techniques from theory to implementation using C++, OpenGL, and Vulkan
Author: Michael Dunsky (Author), Gabor Szauer (Author)
Publisher finelybook 出版社: Packt Publishing
Publication Date 出版日期: 2023-12-20
Language 语言: English
Print Length 页数: 480
ISBN-10: 1803246529
ISBN-13: 9781803246529
Book Description
Build your own OpenGL or Vulkan application in C++ and use it as a playground to explore the path from basic features to advanced techniques of character animation in modern games with the help of this illustrated guide
Key Features
- Learn how to create a game skeleton with keyboard and mouse controls along with modern graphics
- Gain insights into model loading, character animations, inverse kinematics, and debugging techniques
- Master the art of creating animated characters and controlling their various aspects
- Purchase of the print or Kindle book includes a free PDF eBook
Book Description
If you‘re fascinated by the complexities of animating video game characters and are curious about the transformation of model files into 3D avatars and NPCs that can explore virtual worlds, then this book is for you.
In this new edition, you’ll learn everything you need to know about game animation, from a simple graphical window to a large crowd of smoothly animated characters. First, you’ll learn how to use modern high-performance graphics, dig into the details of how virtual characters are stored, and load the models and animations into a minimalistic game-like application. Then, you’ll get an overview of the components of an animation system, how to play the animations and combine them, and how to blend from one animation into another. You’ll also get an introduction to topics that will make your programming life easier, such as debugging your code or stripping down the graphical output.
By the end of this book, you’ll have gained deep insights into all the parts of game animation programming and how they work together, revealing the magic that brings life to the virtual worlds on your screen.
What you will learn
- Create simple OpenGL and Vulkan applications and work with shaders
- Explore the glTF file format, including its design and data structures
- Design an animation system with poses, clips, and skinned meshes
- Find out how vectors, matrices, quaternions, and splines are used in game development
- Discover and implement ways to seamlessly blend character animations
- Implement inverse kinematics for your characters using CCD and FABRIK solvers
- Understand how to render large, animated crowds efficiently
- Identify and resolve performance issues
Who this book is for
This book is for curious C++ developers, game programmers, game designers, and character animators, either pursuing this as a hobby or profession, who have always wanted to look behind the curtain and see how character animation in games works. The book assumes basic C++ and math knowledge, and you should be able to read code and math formulas to get the most out of this book.
Table of Contents
- Creating the Game Window
- Building an OpenGL 4 Renderer
- Building a Vulkan Renderer
- Working with Shaders
- Adding Dear ImGui to show valuable information
- Understanding Vector and Matrix
- A Primer on Quaternions and Splines
- Loading Models in the glTF format
- The Model Skeleton and Skin
- About Poses, Frames, and Clips
- Blending between Animations
- Cleaning up the User Interface
- Implementing Inverse Kinematics
- Creating Instanced Crowds
- Measuring Performance and Optimizing the Code
Gabor Szauer has been making games since 2010. He graduated from Full Sail University in 2010 with a bachelor’s degree in game development. Gabor maintains an active Twitter presence, and maintains a programming-oriented game development blog. Gabor’s previously published books are Game Physics Programming Cookbook and Lua Quick Start Guide, both published by Packt.