Mathematics for Computer Games Development using Unity

Mathematics for Computer Games Development using Unity

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 70 lectures (15h 6m) | 6.15 GB

A Beginner’s Guide to Essential Mathematics, Data Structures and Algorithms used in Game Programming applied in Unity

Did you know computer games use mathematics to perform every single task, from rendering to animation and physics to AI? Mathematics is everywhere. A fundamental understanding of mathematics is critical in every occupation and nowhere is it more important than in games development. It underpins all primary operations performed by a game engine. You can’t even move a character across the screen without it. Keen to learn more and build up your knowledge in mathematics to improve your game development skills? Then this course is for you.

In this course you will build your own C# classes to work with the geometrical constructs of 2D and 3D space that will develop your understanding of positioning and moving game objects. In short you will build your own maths library to replicate some of Unity’s Vector2, Vector3, Matrix4x4 and some Mathf methods. Throughout, we will be using the Unity Game Engine to help emphasise the mathematics concepts.

Join Dr Penny de Byl as she introduces game development mathematics using her internationally acclaimed holistic teaching style and expertise from over 25 years of teaching, research and work in games and computer graphics. Through-out the course you will follow along with hands-on workshops designed to teach you the vital mathematical techniques used in programming computer game mechanics and visuals.

During the course we will be building a game that not only uses the code we’ve written to move 2D and 3D objects around on the screen, but to play the game you will have to use your knowledge of points and vectors to solve puzzles that will reinforce your learning. You will also build numerous mini projects to apply mathematical concepts and see how they work in games environments.

Learn how to program and work with:

  • Bitwise Operations, Bit Packing and Bitboards
  • 2D and 3D Space
  • Points
  • Vectors
  • Matrices
  • Mapping from one coordinate system to another
  • Positioning Objects
  • Navigation
  • Angles
  • Interpolation
  • Quaternions

What you’ll learn

  • How to use bitwise operations to optimise processing and storage in games.
  • Everything there is to know about vector mathematics and how to navigate in 2D and 3D space.
  • The principles and practice behind collision detection with lines, line segments and ray casting.
  • The beauty of affine transformations and the fundamentals in transforming game objects.
  • What a quaternion is and how it is used to rotate game objects.
  • How to build a mathematics library in C# from scratch.
Table of Contents

Introduction and Welcome
1 Welcome
2 Join the H3D Student Community
3 Contacting H3D
4 FAQs
5 How to Study This Course
6 Basic Trigonometry

Bitwise Operations
7 Bits Bytes and Binary
8 Bit Flags & Bitwise Operators
9 Turning Bit Flags Off
10 Bit Masks
11 Bit Mask Challenge Solution
12 Bit Shifting
13 Bit Toggling and Unity Specifics
14 Bitboards
15 Putting Bitboards Into Practice Part 1
16 Putting Bitboards Into Practice Part 2
17 Putting Bitboards Into Practice Part 3
18 Other Bitwise Operation Hacks

19 Cartesian Coordinates & Points
20 Plotting Points A Simple Data Structure
21 Drawing Lines Solution
22 Graph Line Challenge
23 Practice Locating 2D Points on a Cartesian Plane
24 Calculating Distance Part 1
25 Calculating Distance Part 2

26 Introduction to Vectors Part 1
27 Introduction to Vectors Part 2
28 Vectors Moving to a Point
29 Vector Normal Form
30 Dot Product
31 Derivation of Vector Angle Calculation
32 Rotations
33 Cross Product
34 D LookAt Challenge
35 Dot Cross Challenge
36 Challenge Solutions
37 Recreate Rotate and Translate Challenge Part 1
38 Recreate Rotate and Translate Challenge Part 2
39 Moving from 2D to 3D
40 Exploring Rotation in 3D

41 Lines Line Segments and Rays Part 1
42 Lines Line Segments and Rays Part 2
43 Planes
44 Another Line Constructor
45 Intersection of Two Line Segments
46 Improving Line Intersection
47 Line
48 LinePlane Intersections
49 Line
50 Plane Reflections
51 Unity Specifics For Intersections
52 More Unity Specifics Part 1
53 More Unity Specifics Part 2

Affine Transformations
54 An Introduction to Matrices
55 Homogeneous Coordinates
56 Transformations
57 Matrices Data Structures and Algorithms Part 1
58 Matrices Data Structures and Algorithms Part 2
59 Translation
60 Scaling
61 Rotation
62 Affine Transformations
63 Shear and Reflect Challenge
64 Quaternions
65 Programming Quaternion Rotations
66 Extracting the Rotation Axis and Angle
67 Quaternion Rotations

Final Words
68 Final Maths Library Code
69 Some Final Words from Penny
70 Where to now