English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 15 Hours | 8.71 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 and 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 to see how they work in games environments.
Learn how to program and work with:
- Bitwise Operations, Bit Packing and Bitboards
- 2D and 3D Space
- Mapping from one coordinate system to another
- Positioning Objects
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.
Introduction and Welcome
3 How to Study This Course
4 Basic Trigonometry
5 Bits, Bytes and Binary
6 Bit Flags & Bitwise Operators
7 Turning Bit Flags Off
8 Bit Masks
9 Bit Mask Challenge Solution
10 Bit Shifting
11 Bit Toggling and Unity Specifics
13 Putting Bitboards Into Practice Part 1
14 Putting Bitboards Into Practice Part 2
15 Putting Bitboards Into Practice Part 3
16 Other Bitwise Operation Hacks
17 Cartesian Coordinates & Points
18 Plotting Points: A Simple Data Structure
19 Drawing Lines: Solution
20 Graph Line Challenge
21 Practice Locating 2D Points on a Cartesian Plane
22 Calculating Distance Part 1
23 Calculating Distance Part 2
24 Introduction to Vectors Part 1
25 Introduction to Vectors Part 2
26 Vectors: Moving to a Point
27 Vector Normal Form
28 Dot Product
29 Derivation of Vector Angle Calculation
31 Cross Product
32 2D LookAt Challenge
33 Dot Cross Challenge
34 Challenge Solutions
35 Recreate Rotate and Translate Challenge Part 1
36 Recreate Rotate and Translate Challenge Part 2
37 Moving from 2D to 3D
38 Exploring Rotation in 3D
39 Lines, Line Segments and Rays Part 1
40 Lines, Line Segments and Rays Part 2
42 Another Line Constructor
43 Intersection of Two Line Segments
44 Improving Line Intersection
45 Line-Line Intersection Challenge
46 Line-Plane Intersections
47 Line-Plane Intersections, Projections and Reflections
48 Plane Reflections
49 Unity Specifics For Intersections
50 More Unity Specifics Part 1
51 More Unity Specifics Part 2
52 An Introduction to Matrices
53 Homogeneous Coordinates
55 Matrices: Data Structures and Algorithms Part 1
56 Matrices: Data Structures and Algorithms Part 2
60 Affine Transformations
61 Shear and Reflect Challenge
63 Programming Quaternion Rotations
64 Extracting the Rotation Axis and Angle
65 Quaternion Rotations
66 Final Maths Library Code
67 Some Final Words from Penny
68 Where to now?