Mathematics For Computer Games Development Using Unity

Posted By: ELK1nG

Mathematics For Computer Games Development Using Unity
Last updated 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 6.15 GB | Duration: 15h 6m

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

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.
Requirements
Familiarity with the Unity Game Engine
Confidence in programming with C#
Mathematics skills to high school level (basic trigonometry and algebra).
Description
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 Bitboards2D and 3D SpacePointsVectorsMatricesMapping from one coordinate system to anotherPositioning ObjectsNavigationAnglesInterpolationQuaternionsWhat students are saying about this course:Brilliant course. Might be the most helpful course I've found on Udemy so far. Penny is an amazing instructor. Even by the end of the first section learned super valuable information that I can apply to my games.Early in the program but already learned enough to make the purchase price worthwhile.As always, the professor delivers a great, clear course on a badly needed subject to learn. She is so knowledgeable and can impart her knowledge to her students. I recommend all her courses and her YouTube channel.

Overview

Section 1: Introduction and Welcome

Lecture 1 Welcome

Lecture 2 Join the H3D Student Community

Lecture 3 Contacting H3D

Lecture 4 FAQs

Lecture 5 How to Study This Course

Lecture 6 Basic Trigonometry

Section 2: Bitwise Operations

Lecture 7 Bits, Bytes and Binary

Lecture 8 Bit Flags & Bitwise Operators

Lecture 9 Turning Bit Flags Off

Lecture 10 Bit Masks

Lecture 11 Bit Mask Challenge Solution

Lecture 12 Bit Shifting

Lecture 13 Bit Toggling and Unity Specifics

Lecture 14 Bitboards

Lecture 15 Putting Bitboards Into Practice Part 1

Lecture 16 Putting Bitboards Into Practice Part 2

Lecture 17 Putting Bitboards Into Practice Part 3

Lecture 18 Other Bitwise Operation Hacks

Section 3: Location

Lecture 19 Cartesian Coordinates & Points

Lecture 20 Plotting Points: A Simple Data Structure

Lecture 21 Drawing Lines: Solution

Lecture 22 Graph Line Challenge

Lecture 23 Practice Locating 2D Points on a Cartesian Plane

Lecture 24 Calculating Distance Part 1

Lecture 25 Calculating Distance Part 2

Section 4: Vectors

Lecture 26 Introduction to Vectors Part 1

Lecture 27 Introduction to Vectors Part 2

Lecture 28 Vectors: Moving to a Point

Lecture 29 Vector Normal Form

Lecture 30 Dot Product

Lecture 31 Derivation of Vector Angle Calculation

Lecture 32 Rotations

Lecture 33 Cross Product

Lecture 34 2D LookAt Challenge

Lecture 35 Dot Cross Challenge

Lecture 36 Challenge Solutions

Lecture 37 Recreate Rotate and Translate Challenge Part 1

Lecture 38 Recreate Rotate and Translate Challenge Part 2

Lecture 39 Moving from 2D to 3D

Lecture 40 Exploring Rotation in 3D

Section 5: Intersections

Lecture 41 Lines, Line Segments and Rays Part 1

Lecture 42 Lines, Line Segments and Rays Part 2

Lecture 43 Planes

Lecture 44 Another Line Constructor

Lecture 45 Intersection of Two Line Segments

Lecture 46 Improving Line Intersection

Lecture 47 Line-Line Intersection Challenge

Lecture 48 Line-Plane Intersections

Lecture 49 Line-Plane Intersections, Projections and Reflections

Lecture 50 Plane Reflections

Lecture 51 Unity Specifics For Intersections

Lecture 52 More Unity Specifics Part 1

Lecture 53 More Unity Specifics Part 2

Section 6: Affine Transformations

Lecture 54 An Introduction to Matrices

Lecture 55 Homogeneous Coordinates

Lecture 56 Transformations

Lecture 57 Matrices: Data Structures and Algorithms Part 1

Lecture 58 Matrices: Data Structures and Algorithms Part 2

Lecture 59 Translation

Lecture 60 Scaling

Lecture 61 Rotation

Lecture 62 Affine Transformations

Lecture 63 Shear and Reflect Challenge

Lecture 64 Quaternions

Lecture 65 Programming Quaternion Rotations

Lecture 66 Extracting the Rotation Axis and Angle

Lecture 67 Quaternion Rotations

Section 7: Final Words

Lecture 68 Final Maths Library Code

Lecture 69 Some Final Words from Penny

Lecture 70 Where to now?

Beginner game development students who want to be able to understand the mathematics behind game engines.,Skilled programmers keen to move into 2D and 3D game development spaces.,Game development enthusiasts who want a deeper understanding of how mathematics is applied in games.,Anyone with an appreciation of mathematics who wants to investigate how it is applied in computer game environments.