Develop a compact game engine-like animation application in C++ using OpenGL 4 or Vulkan through hands-on implementation in this part-color guide
Key Features:
- Learn how to build a game engine-like skeleton application using a modern graphics API
- Explore compute shaders, visual selection, UI creation, visual programming, configuration file handling, collision detection, behavior controls, and more
- Create your own virtual world with naturally acting inhabitants
- Purchase of the print or Kindle book includes a free PDF eBook
Book Description:
With two decades of programming experience across multiple languages and platforms, expert game developer and console porting programmer Michael Dunsky guides you through the intricacies of character animation programming. This book tackles the common challenges developers face in creating sophisticated, efficient, and visually appealing character animations.
You'll learn how to leverage the Open Asset Import Library for easy 3D model loading and optimize your 3D engine by offloading computations from the CPU to the GPU. The book covers visual selection, extended camera handling, and separating your application into edit and simulation modes. You'll also master configuration storage to progressively build your virtual world piece by piece.
As you develop your engine-like application, you'll implement collision detection, inverse kinematics, and expert techniques to bring your characters to life with realistic visuals and fluid movement. For more advanced animation and character behavior controls, you'll design truly immersive and responsive NPCs, load real game maps, and use navigation algorithms, enabling the instances to roam freely in complex environments.
By the end of this book, you'll be skilled at designing interactive virtual worlds inhabited by lifelike NPCs that exhibit natural, context-aware behaviors.
What You Will Learn:
- Master the basics of the Open Asset Import Library
- Animate thousands of game characters
- Extend ImGui with more advanced control types
- Implement simple configuration file handling
- Explore collision detection between 3D models and world objects
- Combine inverse kinematics and collision detection
- Work with state machines, behavior trees, and interactive NPC behaviors
- Implement navigation for NPC movement in unknown terrains
Who this book is for:
This book is for experienced C++ developers, game programmers, and character animators who already have basic knowledge of character animation but are curious to learn more. The book assumes advanced C++ knowledge and is ideal for those eager to delve into advanced animation techniques and create interactive virtual worlds.
Table of Contents
- Working with Open Asset Import Library
- Moving Animation Calculations from CPU to GPU
- Adding a Visual Selection
- Enhancing Application Handling
- Saving and Loading the Configuration
- Extending Camera Handling
- Enhancing Animation Controls
- An Introduction to Collision Detection
- Adding Behavior and Interaction
- Advanced Animation Blending
- Loading a Game Map
- Advanced Collision Detection
- Adding Simple Navigation
- Creating Immersive Interactive Worlds