Mô tả

Unity's new Data-Oriented Technology Stack (DOTS) and Entity Component System (ECS) programming paradigm have been developed to optimize game development and open up new ways of accessing memory and parallel processing for developing high-performance C# code that takes advantage of contemporary multicore computers. Through the use of the Burst Compiler, your game programs become native code, able to run faster on multiple threads thus pushing the boundaries of the size of your virtual environments and the simultaneous processing of tens of thousands of game objects.

In this course, Penny demystifies Unity's new DOTS architecture and introduces intermediate Unity users to ECS by upgrading classic Unity projects and developing a multitude of examples of the use of DOTS concentrating on the most popular game mechanics. Using her internationally acclaimed teaching style and knowledge from over 25 years working with games, graphics and having written two award-winning books on games AI, Penny will take you from familiar object-oriented programming and upgrade your skill to the more memory efficient and optimized entity component architecture. Throughout, you will follow along with hands-on workshops designed to take you through every step of becoming familiar with ECS.  You will build on numerous scenarios that examine the basics of ECS programming through the new DOTS-specific math and physics libraries.

While DOTS is still in preview, this course aims to assist you in understanding how it works and how games are constructed with it.  The knowledge you obtain will further your ability to decipher future released Unity ECS tech demos and handle API updates.

This course requires Unity 2019.3.0f6. and the Hybrid Renderer Package 0.3.3.

Learn how to program and work with:

  • Entities and Components

  • The C# Job Systems

  • Collision Systems

  • Trigger Systems

  • User Input to Control Entities

  • Interfacing with classic Unity and game objects to entity-based systems.

Contents and Overview

The course begins with a section that compares the old way of working with game objects in Unity, through to the creation of a complete ECS system using the exact same scenario in each instance to give you time to compare the programming methods and optimizations gained through implementing DOTS.

Following this, you will dive deeper into the creation and debugging of entities while learning how to tag, identify and add data to them with custom components.  You will also learn how to find entities once they are injected into the game environment and to access and manipulate them at runtime.

After you've become comfortable with the nature of entities, you will discover how the new math library can be used to replicate many of the functions you've become familiar with in the Unity Mathf API.  The content will cover transformation, rotations, slerps, pivoting, following waypoints and pursuing and fleeing from targets.  A space-based scenario will be created with several planets and thousands of spacecraft programmed to attack, by generating even more thousands of bullets and finally explosions.

Next, you'll build a blocky Minecraft inspired landscape from cubes that can be infinitely generated in any direction by implementing Perlin Noise and examining how parallel processing (achieved through the C# Jobs system) dramatically speeds up processing that has in the past been limited to the main thread.

On completion of this exercise, a thorough examination of the new DOTS physics capabilities will take place.  All the classic Unity elements you've become used to will be replicated via the new physics API and ECS job systems.  You will learn about collisions, triggers, camera tracking, bullet physics and the basics of recreating Newtonian physics for moving dynamic and kinematic entities.

The course ends with a challenge and project to recreate a third person shooter in which a single player takes on a swarm of zombies.

At the completion of this course, you will be familiar with DOTS and the ECS and be able to further your skills by interpreting and making sense of the Unity tech demos as they are released, presenting updated API and introducing more and more functionality into DOTS.

What students are saying about Penny's courses:

  • Excellent course!! I am already in game development industry and there is one quote here that "Whenever you are not able to solve complex problem, its the right time to get back to the BASICS"

  • She is the best teacher ever in this platform

  • Most instructors are very smart people. Some are good at teaching and some are not. Penny is great at describing complex concepts without going down a dark cerebral rabbit hole that so many instructors feel obligated to do. It's like they need to demonstrate their knowledge by explaining every tiny aspect. Penny does not go there. She explains things clearly but does not overwhelm the student with more than they need to know.


Bạn sẽ học được gì

Yêu cầu

Nội dung khoá học

10 sections

Introduction

7 lectures
Welcome
03:08
What Version of Unity Should I Use?
07:09
What Version of Unity Should I Use 2.0.
00:13
Information Relevant to this Course
00:16
Join the H3D Student Community
01:26
Contacting H3D
00:01
FAQs
00:14

DOTS in a Nutshell

9 lectures
Understanding DOTS
10:13
Comparing the Old & the New Part 1
17:26
Comparing the Old & the New Part 2
10:56
Comparing the Old & the New Part 3
13:13
Comparing the Old & the New Part 4
13:44
Comparing the Old & the New Part 5
11:04
Your First ECS Challenge
05:23
Parallel Computing
08:40
Structures, Classes and Blittable Types
08:01

Working with Entities

8 lectures
Creating and Debugging Entities
13:17
Accessing and Modifying Entity Data
11:58
Adding IComponentData Challenge
03:25
Performing Entity Queries
16:10
Entity Query Interface Challenge
10:02
Adding an Entity from Monobehaviour at Runtime
12:55
Constructing an Entity from Scratch
17:30
Constructing Sheep Entities from a Mesh Challenge
13:59

Transformation Mathematics in DOTS

5 lectures
Performing Translations
13:24
Performing Rotations
12:54
Performing a Slerp to Face a Target
04:34
Rotating Around a Pivot Point
11:40
Pivoting Challenge
10:25

Working with Custom Components

4 lectures
Getting Player Transformations into Entities
08:09
Adding and Setting Data Values in a Custom Components
09:10
Updating Custom Component Values
14:40
Waypoint Follow Challenge
08:49

Project: Space Wars Simulation

12 lectures
Finding Closest Planet
08:02
Attacking and Retreat Movement
08:23
Spawning an Entity from an Entity Part 1
11:08
Spawning an Entity from an Entity Part 2
09:38
Spawning Entities from Another Location Part 1
09:35
Spawning Entities from Another Location Part 2
14:21
Restricting the Lifetime of an Entity
16:40
Restricting the Lifetime of an Entity Update
00:09
Implementing Line of Sight in an Entity
07:56
Faking Collisions
09:34
Instantiating Explosions
13:31
A System for Scaling Particles
08:20

Project: Infinite Cube World

6 lectures
Creating a Landscape with Cubes
11:28
Using Perlin Noise for Height
13:53
Enhanced Perlin Heights
11:36
Changing Materials on an Entity
14:59
Identifying Bottlenecks and Solutions to FPS Drop
10:29
Scrolling the Landscape with the Player
12:15

DOTS Physics

13 lectures
The Physics Components
07:29
An ECS Physics-Based Character Controller
16:21
Spawning Multiple Physics Entities
05:48
Shooting Physics Bullets Challenge
14:57
Moving a Bullet with Physics
18:54
Upgrading a Package
19:49
Detecting Collisions
16:37
Using Custom Values in a Collision Event
10:18
Destroying an Entity on Collision
09:26
Entity Tracking with the Camera
10:53
Detecting Physics Triggers
18:35
Converting to a Dynamic Character
06:47
Using Custom Values in a Trigger Event
04:33

Raycasting

10 lectures
Starting with a Tower Defence Setup
19:56
Performing a Raycast Hit Part 1
14:41
Performing a Raycast Hit Part 2
16:55
Destroying an Entity Hit by a Raycast
08:28
Performing Raycast Distance Hits P1
12:32
Performing Raycast Distance Hits P2
08:25
Locating and Following The Closest Physics Entity
10:26
Destroying Tracked Physics Entity
05:48
Destroying Zombie Challenge P1
10:41
Destroying Zombie Challenge P2
11:56

Final Words

2 lectures
Some Final Words from Penny
02:23
Where to now?
11:16

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.