Mathematics for Games Development using (Unity 6 Compatible)
- Descrição
- Currículo
- FAQ
- Revisões
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 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.
-
1WelcomeVídeo Aula
An overview of the content and purpose of the course by Penny.
-
2Join the H3D Student CommunityVídeo Aula
H3D has a bustling online student community. Here's how to get involved.
-
3Contacting H3DTexto
How to contact us
-
4FAQsTexto
Regularly asked questions you should check out before starting the course.
-
5How to Study This CourseTexto
Hints on how to proceed through the course.
-
6Basic TrigonometryTexto
An article covering some basic trigonometry concepts you should be familiar with.
-
7Basic Trigonometry QuizQuestionário
This quiz will test your understanding of basic trigonometry.
-
8Updating to Unity 6Vídeo Aula
While this course was developed in a previous version of Unity, we've tested the projects and they work with Unity 6. This video is a guide to help you adjust your learning in this course to use Unity 6.
-
9Bits, Bytes and BinaryVídeo Aula
In this lecture we will revise binary code and begin looking at setting individual bit values.
-
10Binary QuizQuestionário
This quiz will test your understanding of the content we've covered on bits and binary.
-
11Bit Flags & Bitwise OperatorsVídeo Aula
In this lecture we will discover how bit values in a a binary sequence can be used as flags and the operators that allow us to set them.
-
12Turning Bit Flags OffVídeo Aula
In this lecture we will complete the challenge from the previous lecture and discover how to turn bit settings off.
-
13Bit MasksVídeo Aula
In this lecture we will examine how to match a bit sequence with a mask to check if one bit is set.
-
14Bit Mask Challenge SolutionVídeo Aula
In this video I will present a solution to the challenge set at the end of the last lecture as well as discuss checking a bit mask for multiple bits being set.
-
15Bit ShiftingVídeo Aula
In this lecture you will learn how to shift the order of bits in a sequence and how this can be used for sending data efficiently over a network.
-
16Bit Shift QuizQuestionário
This quiz will test your understanding of how bit shifting works.
-
17Bit Toggling and Unity SpecificsVídeo Aula
In this lecture we will discover how to turn a single bit on and off while leaving others in tact and then examine a specific use of bit sequences in Unity.
-
18BitboardsVídeo Aula
In this lecture you'll be introduced to bit boards and learn how to store game board states as a binary sequence in an integer.
-
19Putting Bitboards Into Practice Part 1Vídeo Aula
In this lecture we will begin work on creating a tiled game world that is represented by Bitboards.
-
20Putting Bitboards Into Practice Part 2Vídeo Aula
In this lecture we continue working on the Bitboard game board representation and add some algorithms to work with its states.
-
21Putting Bitboards Into Practice Part 3Vídeo Aula
In this lecture you will create a score calculating method and work out a score based on the location of player pieces in a Bitboard with tile pieces.
-
22Bitboard QuizQuestionário
This quiz will test your understanding and skills in working with Bitboards.
-
23Other Bitwise Operation HacksTexto
-
24Cartesian Coordinates & PointsVídeo Aula
In this lecture we will examine the nature of the space we use to plot points and position game objects.
-
25Plotting Points: A Simple Data StructureVídeo Aula
In this lecture we will create a class with methods to use the game view as a graph plotting area and explore the creation of points.
-
26Drawing Lines: SolutionVídeo Aula
In this lecture we will continue working with the Coords class to add the axis lines onto the screen and them finish up with a star sign challenge.
-
27Graph Line ChallengeVídeo Aula
In this lecture we will extend the DrawGraph class to add gridlines.
-
28Practice Locating 2D Points on a Cartesian PlaneVídeo Aula
In this lecture we will start working on a 2D game that will not only use your math skills to develop it but also test them when you play.
-
29Calculating Distance Part 1Vídeo Aula
In this lecture we will add a UI system into the 2D math game to display positions of the tank and fuel.
-
30Points QuizQuestionário
This quiz will test your knowledge of points in 2D.
-
31Calculating Distance Part 2Vídeo Aula
This lecture continues the building of the UI system and mechanics to add calculating distance part of the game challenge.
-
32Introduction to Vectors Part 1Vídeo Aula
In this video you will begin to learn about one of the most fundamental geometrical and mathematics concepts in games; the vector.
-
33Introduction to Vectors Part 2Vídeo Aula
This video continues the initial investigation of using vectors to relocate points by adding in scaling factors.
-
34Vectors QuizQuestionário
This quiz is designed to test your understanding of the basics of vectors.
-
35Vectors: Moving to a PointVídeo Aula
In this video we will investigate how to move a game object from one location to another by calculating the vector between them.
-
36Vectors and Points QuizQuestionário
This quiz will test your ability to perform calculations with points and vectors.
-
37Vector Normal FormVídeo Aula
In this lecture vector normal form will be introduced.
-
38Calculating Vector Normals QuizQuestionário
This quiz will test your skills at calculating vector normals. (Please note that most of these values have been rounded up to 2 decimal places for readability)
-
39Dot ProductVídeo Aula
In this lecture we introduce the dot product, learn how to calculate it and find out what it's uses are for determining the relative orientation of vectors.
-
40Derivation of Vector Angle CalculationTexto
-
41Dot Product QuizQuestionário
This quiz will test your ability to calculate the dot product and comprehend the results.
-
42RotationsVídeo Aula
In this lecture we will write the method to turn a vector from facing in one direction to another given an angle to turn by.
-
43Cross ProductVídeo Aula
In this lecture we will examine how to determine which way to turn to face in a certain direction using the Cross Product of two vectors.
-
44Cross Product QuizQuestionário
This quiz will test your ability to calculate the cross product and evaluate the answer.
-
452D LookAt ChallengeVídeo Aula
In this video you will be given the challenge of writing a 2D LookAt method to add to the math class that's being developed.
-
46Dot Cross ChallengeVídeo Aula
In this lecture we will continue work on our 2D vector math game and add in the ability to set the angle of rotation via the UI.
-
47Challenge SolutionsVídeo Aula
This video provides the solutions for the problems posed at the end of the last lecture.
-
48Turn Angle and Distance QuizQuestionário
This quiz will test your skills at calculating angles and distances.
-
49Recreate Rotate and Translate Challenge Part 1Vídeo Aula
In this video you will be challenged to recreate the code of the Unity Rotate and Translate methods to create your own player controller for the tank.
-
50Recreate Rotate and Translate Challenge Part 2Vídeo Aula
We continue in part 2 of this lecture by examining how to transform vectors from the world space into the local space of a game object.
-
51Moving from 2D to 3DVídeo Aula
In this video we will take a look at how very similar, or in fact the same, all the operations we've been using on 2D points and vectors are in 3D space.
-
523D Points QuizQuestionário
This quiz will test your understanding of working with points in 3D.
-
533D Vector Mathematics QuizQuestionário
This quiz will test your ability to work with vectors in 3D space.
-
54Exploring Rotation in 3DVídeo Aula
In this lecture we will explore the nature of 3D rotations and introduce Euler Angles.
-
55Lines, Line Segments and Rays Part 1Vídeo Aula
In this lecture we introduce the parametric form for a line and discuss the differences between lines, line segments and rays.
-
56Lines, Line Segments and Rays Part 2Vídeo Aula
In this lecture we complete writing a Line class to include in our math library and explore the use of linear interpolation.
-
57Lines QuizQuestionário
This quiz will test your knowledge on lines, line segments and rays.
-
58PlanesVídeo Aula
In this lecture we will explore the parametric form of planes and students will develop their own plane class.
-
59Planes Points QuizQuestionário
This quiz will test your ability to navigate through points on a plane by the addition of vectors.
-
60Another Line ConstructorVídeo Aula
In this very short lecture we will quickly add another line constructor that will be used in later videos.
-
61Intersection of Two Line SegmentsVídeo Aula
In this section we will examine the mathematics behind determining the intersection of two 2D lines and begin programming it into our Maths library.
-
62Improving Line IntersectionVídeo Aula
In this lecture we will improve on the line intersection algorithm to handle the restrictions of parallel lines and line segments.
-
63Line Intersection QuizQuestionário
This quiz will test your knowledge on line intersection calculations.
-
64Line-Line Intersection ChallengeVídeo Aula
In this video you will be challenged to make a 2D ball travel along one line until it hits another line.
-
65Line-Plane IntersectionsVídeo Aula
In this lecture we will examine how to determine where a line hits a 3D plane.
-
66Line-Plane Intersections, Projections and ReflectionsVídeo Aula
In this video we will explore our investigation of line intersections and work on a reflection formulae to bounce a wall off a wall.
-
67Plane ReflectionsVídeo Aula
In this video we will extend line-line intersection and reflection to create a simulation of a 3D ball hitting a plane.
-
68Unity Specifics For IntersectionsVídeo Aula
In this video we will take a look at the specifics of creating planes, rays and intersections in Unity using the game engine's own SDK.
-
69More Unity Specifics Part 1Vídeo Aula
In this lecture we will discuss how to more a game object on a plane and keep it inside a boundary.
-
70More Unity Specifics Part 2Vídeo Aula
In this video we will come up with a solution to blocking an object inside a plane with many bounding planes using Unity specific code.
-
71An Introduction to MatricesVídeo Aula
This lecture will introduce you to the mathematical concept of matrices and explain what they are and how you can perform operations with them.
-
72Matrix QuizQuestionário
This quiz will test your skill at working with matrices.
-
73Homogeneous CoordinatesVídeo Aula
In this lecture we will examine a new way of representing vectors and points that will assist with matrix multiplications to come.
-
74TransformationsVídeo Aula
In this lecture we will examine the matrix calculations required to achieve the transformations of translation, rotation and scaling.
-
75Matrices: Data Structures and Algorithms Part 1Vídeo Aula
In this video we will start putting together a matrix class to store and perform operations on 2 dimensional arrays.
-
76Matrices: Data Structures and Algorithms Part 2Vídeo Aula
In this lecture we will finish our work on the matrix class by adding multiplication and a few extra touches to the code.
-
77TranslationVídeo Aula
In this lecture we will create a translation matrix and have it move points around in a 3D world.
-
78ScalingVídeo Aula
In this lecture we will create the matrix for scaling and discover how scaling isn't the only thing this transformation achieves when used.
-
79RotationVídeo Aula
In this lecture we will examine the rotation matrices and build the code to perform rotations into the maths library.
-
80Affine TransformationsVídeo Aula
In this lecture affine transformations will be discussed and lead us into a closer look an an object's transformation matrix.
-
81Shear and Reflect ChallengeVídeo Aula
In this lecture you will implement the shear and reflection matrix operations.
-
82QuaternionsVídeo Aula
In this lecture we are introduced to Quaternions and examine why they are a better alternative to Euler Angles for rotation.
-
83Quaternion QuizQuestionário
This quiz will test your understanding of the content we've covered on quaternions.
-
84Programming Quaternion RotationsVídeo Aula
In this lecture you will implement the quaternion creation and use algorithms into the math library.
-
85Extracting the Rotation Axis and AngleVídeo Aula
In this lecture we will test the new methods for getting the angle of rotation and rotation axis from a transformation matrix.
-
86Quaternion RotationsVídeo Aula
