𝔖 Scriptorium
✦   LIBER   ✦

📁

Technical Animation in Video Games

✍ Scribed by Matthew Lake


Publisher
CRC Press
Year
2023
Tongue
English
Leaves
271
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


This book provides a comprehensive overview of video game technical animation, covering the next generation pipelines that industry developers utilise to create their games. It covers the technical animation workflow from start to finish, looking at both software and hardware, as well as the industry standard processes that all technical animators need to know.

Written to be an accessible technical animation resource, this book combines easy-to-understand principles with educational use cases on how to combine the principles and tools taught within. Example test scripts, animation files, and rig assets are provided as tangible examples that can be modified and taken apart to deepen your understanding. It covers the end-to-end pipeline of technical animation, from the very first steps of placing joints in Autodesk’s Maya to breathe life into your static characters, through tools and automation development, all the way to Unreal Engine 5 integration and optimisation.

Additional resources are available on the book’s GitHub repository. From this resource, you will find example files for Maya and Python scripts that will help with your own work and demonstrations featured throughout this book.

This book is essential reading for early-career game technical animators as well as those studying game animation courses. It will also appeal to technical animators working in the film industry.

✦ Table of Contents


Cover
Half Title
Title Page
Copyright Page
Dedication
Contents
About the Author
1. Technical Animator
1.1. What Is a Technical Animator?
1.1.1. Responsibilities
1.1.2. Rigging
1.1.3. Engine Integration
1.1.4. Tools
1.1.5. Motion Capture
1.1.6. Pipeline Research and Development
1.1.7. Animation
1.2. Character Traits
1.2.1. Every Day Is a School Day
1.2.2. Tidy Outliner, Tidy Mind
1.2.3. Identify Inefficiencies
1.2.4. Thick Skin and Constructive Mentality
1.2.5. Problem Decomposition—The What and Why?
1.2.6. It’s a Process
1.2.7. Out of Sight, Not Out of Reach
1.2.8. Reference, Reference, Reference!
1.2.9. Being Human
2. Introduction to Software
2.1. Digital Content Creation
2.1.1. Autodesk Maya
2.1.2. Autodesk 3D Studio Max
2.1.3. Autodesk MotionBuilder
2.2. Game Engines
2.2.1. Unreal Engine
2.2.2. Unity Engine
2.3. Third-Party Plugins, Extensions and Tools
2.4. Technology Choice
2.4.1. Technology Chosen
2.4.2. Additional Resources
3. Introduction to Motion Capture Technology
3.1. Optical Marker
3.1.1. Passive
3.1.2. Active
3.2. Optical Markless
3.2.1. Depth Tracking
3.2.2. Pixel Tracking
3.3. Inertial Systems
4. A Technical Understanding
4.1. Meshes, Polygons and the Dreaded NGon
4.2. Topology for Deformation
4.3. Bind Pose—The T-Pose and A-Pose
4.4. Engine-Friendly Content
4.5. Forward Kinematics and Inverse Kinematics
4.6. Euler and Quaternions
4.7. What Is Data?
4.7.1. ASCII vs Binary Data
4.7.2. What Makes Data Tick
4.8. Preparing Your Workspace
4.8.1. Folder Structure
4.8.2. Naming Conventions
5. Introduction to Maya
5.1. Interface
5.1.1. Toolbar Menu Sets
5.1.2. Shelves
5.1.3. Viewport
5.1.4. Scene Outliner
5.1.5. Channel Box
5.1.6. Attribute Editor
5.1.7. Node Editor
5.1.8. Workspaces
5.2. Scene Setup
5.2.1. Working Units
5.2.2. Frame Rate
5.2.3. New Scene Defaults
5.3. Rigging Tools
5.3.1. Constraints
5.3.2. Transformation Limits
5.3.3. Attribute Connections—Direct/Math/Curve
5.3.4. Animation Expressions
5.4. Useful Maya Settings and Tips
5.4.1. AutoSave and Incremental Saves
5.4.2. OS-Native File Browser
5.4.3. Infinite Undo
5.4.4. Hotkey Editor
5.4.5. Floating Menus
5.4.6. Documentation
6. Introduction to Python
6.1. Writing Standards
6.2. Writing Efficiencies
6.3. Python Basics
6.3.1. Variables
6.3.2. Variable Collections
6.3.3. Functions
6.3.4. Building a Function
6.3.5. Conditional Statements
6.3.6. For Loops
6.3.7. While Loop
6.3.8. Comments
6.3.9. Modules
6.4. Python Tips and Tricks
6.4.1. Help()
6.4.2. Print(Dir())
6.4.3. String Construction
6.4.4. String Deconstruction
6.4.5. Slicing
6.4.6. Remove Duplicates from Array
6.4.7. File Path
6.4.8. Wild Cards
7. Python for Maya
7.1. Maya Command Line
7.2. Script Editor
7.2.1. Script Editor—Saving Scripts to Shelf
7.3. Execute External Python Files
7.4. cmds Module
7.4.1. MEL to cmds
7.4.2. cmds.Ls()
7.4.3. cmds.getAttr() cmds.setAttr() cmds.listAttr()
7.5. Building Maya User Interface
7.5.1. Window Generation
7.5.2. Window Customisation
7.5.3. Parental Structure
7.5.4. The Layouts
7.5.5. The Controls
7.5.6. User Experience (UX)
7.6. MEL Script Replacement
8. Maya—Building a Skeleton
8.1. Rig Considerations
8.1.1. What Is Your Project?
8.1.2. Identify Your Target Hardware
8.1.3. Software Choice
8.1.4. Identify Your Style
8.1.5. What Does the Character Need?
8.1.6. Endeavour to Make Flexible, Catch-All Systems
8.2. Our Rig Project
8.3. Joints/Bones
8.3.1. Scene Preparation
8.3.2. Joint Creation
8.3.3. Coordinate System Compensation
8.3.4. Joint Visualisation
8.3.5. Skeleton Building
8.3.6. Placing Joints
8.3.7. Joint Alignment
8.3.8. Joint Mirroring/Symmetry
8.3.9. Chain Joint Direction
8.3.10. Joint Orientation
8.3.11. Auto-Riggers
8.4. Skinning
8.4.1. Applying Skin
8.4.2. Range of Motions
8.4.3. Skin Weights
8.4.4. Weighting Techniques
8.4.5. Moving Joints After Binding Skin
8.5. Corrective Joints/Helpers/Solvers
8.5.1. Solution 1—Direct Connection (Beginner)
8.5.2. Solution 2—Aim Constraint (Intermediate)
8.5.3. Solution 3—Aim Constraint Alternate (Intermediate)
8.5.4. Solution 4—Matrices (Advanced)
8.6. Blendshapes/Morph Targets
8.6.1. Corrective Blendshapes
8.7. Organisation
8.7.1. Outliner
8.7.2. Display Layers
8.7.3. Colours
8.8. Skeleton Evaluation
8.9. Animation Transfer—Part 1
8.9.1. Characterising the Skeleton
8.9.2. Transferring Animation through HIK
8.10. Exporting the Skeleton
8.10.1. Working File and Export File
8.10.2. Cleaning the Scene
8.10.3. FBX Export
9. Maya—Building a Control Rig
9.1. Rig Separation
9.2. Building Controls—Fundamentals
9.2.1. Controller Transforms
9.2.2. Controller Shapes
9.2.3. Controller Conventions
9.2.4. Controller Hierarchy
9.3. IK/FK Switching
9.3.1. Setup IK/FK Switching
9.3.2. Reverse Foot
9.4. Space Switching
9.4.1. How to Create a Space Switch
9.4.2. Animating with Space Switching
9.5. User Experience
9.5.1. Cleaning the Channel Box
9.5.2. Controller Node Tag
9.5.3. Shareable Attributes
9.6. Animation Transfer—Part 2
9.7. File Referencing
9.8. Evaluation
9.9. Exporting Animation
9.9.1. Step 1—Bake Animation
9.9.2. Step 2—File Cleanup
9.9.3. Step 3—FBX Export
9.10. Maya Game Exporter
10. Introduction to Unreal Engine 5
10.1. Interface
10.1.1. Viewport
10.1.2. Details Panel
10.1.3. Scene Outliner
10.1.4. Content Browser
10.2. Unreal Engine Workflow
10.2.1. UAsset Content
10.2.2. UAsset Redirectors
10.2.3. Unreal Engine Terminology
10.3. Blueprints
10.3.1. Event Graph
10.3.2. Functions
10.3.3. Variables
10.3.4. Events
10.3.5. Inheritance
10.3.6. Blueprint Casting
10.4. Useful Editor Settings
10.4.1. Load Level at Startup
10.4.2. Open Assets in Tabs, Not Windows
10.4.3. Show Frame Rate and Memory
10.5. Customising Your Engine’s Inis
10.5.1. BaseEditorPerProjectUserSettings
10.6. Unreal Usability Tips and Tricks
10.6.1. Coloured Folders
10.6.2. Reload Content
10.6.3. Blueprint Wire Tips
10.6.4. Blueprint Variable Shortcuts
10.6.5. Bulk Edit Assets
10.6.6. Slomo
10.6.7. ShowDebug ANIMATION
11. Unreal—The Skeleton Setup
11.1. Import Skeleton FBX
11.2. Character Assets
11.2.1. Skeleton Asset
11.2.2. Skeletal Mesh Asset
11.2.3. Physics Asset
11.3. Import Animation FBX
11.4. Animation Assets
11.4.1. Animation Notifies
11.4.2. Animation Curves
11.4.3. Root Motion
11.4.4. Additive Animation
11.5. Animation Usage
11.5.1. Skeletal Mesh Actor
11.5.2. Skeletal Mesh Component
11.6. Shareable Animation Setup
11.6.1. Retarget Source
11.6.2. Compatible Skeletons
11.7. Remove Old Joints from the Skeleton
12. Unreal—The Animation Blueprint
12.1. Event Graph
12.2. AnimGraph
12.2.1. Execution Flow—Branching
12.2.2. Execution Flow—Pose Space
12.3. Animation Evaluation
12.3.1. Distance Matching
12.4. Additive Animation
12.5. Overlay Animation
12.6. Blendspaces
12.6.1. Additive Blendspaces and Aim Offsets
12.7. Skeletal Control Nodes
12.8. State Machine
12.8.1. State Machine—Transitions/Blending
12.8.2. State Machine—Transition Logic Sharing
12.8.3. State Machine—Standard and Custom Blends
12.8.4. State Machine—Conduits and Alias States
12.8.5. State Machine—Events
12.9. Animation Notifies
12.10. Inertial Blending (Inertialization)
12.10.1. Using Inertialization
12.11. Anim Node Functions
12.12. Cached Pose
12.13. Animation Blueprint Creation
12.14. Animation Blueprint Assignment
12.14.1. Skeletal Mesh Component Assignment
12.14.2. Post-Process ABP
12.15. Animation Blueprint Inheritance
12.16. AnimGraph Debugging
13. Unreal—The Control Rig Blueprint
13.1. Control Rig Setup
13.2. Rig Graph
13.2.1. Execution Order
13.2.2. Solve Direction
13.2.3. Work Preview and Debug
13.3. Control Rig Tools
13.3.1. Set and Get
13.3.2. Quaternion Rotations
13.3.3. Math Utilities
13.3.4. Constraints
13.4. Application in AnimGraph
13.5. Application as a Control Rig
14. Unreal—Physics Assets
14.1. Physics Asset Creation and Application
14.2. Physics Asset Editor
14.2.1. Graph
14.2.2. Skeleton Tree
14.2.3. Tools
14.2.4. Scene Simulation
14.3. Physics Bodies
14.3.1. Primitives
14.3.2. Physics Constraints
14.3.3. Body Collision
14.3.4. Physics Properties
14.3.5. Physics Body Mirroring
14.4. Skeletal Mesh Bounds
14.5. Ragdoll Trigger
14.6. AnimGraph RigidBody
15. Unreal—Sequencer Cinematics
15.1. Keyframing and Animation
15.2. Pre/Post Roll Frames
15.3. Keep State
15.4. Possessable and Spawnable
15.5. Cameras
15.5.1. Film Back and Focal Length
15.5.2. Depth of Field
15.5.3. Camera Cut Track
15.6. Events and Sequencer Director
15.7. Offline Render to External Image/Video
15.8. Runtime Sequencer Trigger
15.8.1. Trigger Volume
15.9. Function Trigger on Variable Change
15.10. Sequencer to AnimGraph
16. Unreal—Cloth Dynamics
16.1. Cloth Creation Part 1—Prerequisites
16.2. Cloth Creation Part 2—Data Creation
16.3. Cloth Creation Part 3—Painting Masks
16.3.1. Cloth Properties
16.3.2. Updating Cloth Profile Mesh
16.3.3. Collision
16.3.4. Wind
17. Unreal—The Optimisation
17.1. Game Content Size Optimisation
17.1.1. The Size Map Tool
17.1.2. Animation File Size Reduction
17.1.3. Texture Size Reduction
17.2. Level of Detail (LOD)
17.2.1. LOD Auto-Generation
17.2.2. LOD Manual Integration
17.2.3. LOD Info—Screen Size
17.2.4. LOD Info—Hysteresis
17.2.5. LOD Info—Remove Joints from LODs
17.3. ABP—State Machine Optimisations
17.3.1. Multi-Threaded Animation Update
17.3.2. Animation Fast Path
17.3.3. AnimGraph LODs
17.3.4. Additional Efficient AnimGraph Practices
17.4. Skeletal Mesh—Skeleton Pose Update
17.5. Blueprint—Tick
17.5.1. Enable and Disable Tick
17.5.2. Finding Ticking Objects
17.5.3. Tick Interval Reduction
17.6. Blueprint—References and Casts
17.6.1. Hard References and Soft References
17.6.2. Casts
17.7. Blueprint—Interfaces
17.8. Profiling
17.8.1. Stats
17.8.2. Statistics Window
17.8.3. Profiling GPU
17.8.4. Unreal Insights (CPU, GPU and Memory)
17.9. Dropping Fidelity
18. Evaluation
18.1. Looking Forward
18.1.1. Continued Learning
References
Index


📜 SIMILAR VOLUMES


Game Anim: Video Game Animation Explaine
✍ Jonathan Cooper 📂 Library 📅 2019 🏛 CRC Press/Taylor & Francis Group 🌐 English

"Hints, tips, and best practices for creating video game animation learned from some of the largest and most successful video game productions in the world. This book de-mystifies the animation side of game development, explaining every step of the process while providing valuable insights and wor

Game anim : video game animation explain
✍ Cooper, Jonathan 📂 Library 📅 2019 🏛 CRC Press/Taylor & Francis Group 🌐 English

"Hints, tips, and best practices for creating video game animation learned from some of the largest and most successful video game productions in the world. This book de-mystifies the animation side of game development, explaining every step of the process while providing valuable insights and wor

Game Anim: Video Game Animation Explaine
✍ Jonathan Cooper 📂 Library 📅 2021 🏛 CRC Press 🌐 English

The second edition of Game Anim expands upon the first edition with an all-new chapter on 2D and Pixel Art Animation, an enhanced mocap chapter covering the latest developments in Motion Matching, and even more interviews with top professionals in the field. Combined with everything in the first edi

Game: Animals, Video Games, and Humanity
✍ Tom Tyler 📂 Library 📅 2022 🏛 University of Minnesota Press 🌐 English

<p><span>A playful reflection on animals and video games, and what each can teach us about the other</span><span><br>  </span></p><p><span>Video games conjure new worlds for those who play them, human or otherwise: they’ve been played by cats, orangutans, pigs, and penguins, and they let gamers expe

Game: Animals, Video Games, and Humanity
✍ Tom Tyler 📂 Library 📅 2022 🏛 University of Minnesota Press 🌐 English

<p><span>A playful reflection on animals and video games, and what each can teach us about the other</span><span><br>  </span></p><p><span>Video games conjure new worlds for those who play them, human or otherwise: they’ve been played by cats, orangutans, pigs, and penguins, and they let gamers expe

Game: Animals, Video Games, and Humanity
✍ Tom Tyler 📂 Library 📅 2022 🏛 University of Minnesota Press 🌐 English

<p><span>A playful reflection on animals and video games, and what each can teach us about the other</span><span><br>  </span></p><p><span>Video games conjure new worlds for those who play them, human or otherwise: they’ve been played by cats, orangutans, pigs, and penguins, and they let gamers expe