学习 Unity 的实体组件系统来优化您的游戏
Learn Unity’s Entity Component System to Optimise Your Games
更新您的 Unity 编程技能,以利用新的面向数据的技术堆栈和 Burst 编译器
你将学到什么
-
采用不使用 DOT 创建的现有 Unity 项目,并将其转换为采用并行处理和实体组件系统。
-
使用 DOT 的优点和缺点。
要求
-
学生应对 Unity 游戏引擎有深入的了解。
-
学生应精通 C#
描述
Unity 全新的面向数据的技术堆栈 ( DOTS ) 和实体组件系统 ( ECS ) 编程范例旨在优化游戏开发,并开辟访问内存和并行处理的新方法,以开发利用当代多核的高性能 C# 代码电脑。通过使用Burst 编译器,您的游戏程序将变成本机代码,能够在多个线程上更快地运行,从而突破虚拟环境大小和同时处理数万个游戏对象的界限。
在本课程中,Penny 揭开了 Unity 新 DOTS 架构的神秘面纱,并通过升级经典 Unity 项目和开发大量专注于最流行游戏机制的 DOTS 使用示例,向中级 Unity 用户介绍 ECS。Penny 运用她在游戏、图形领域工作超过 25 年的国际知名教学风格和知识,并撰写了两本关于游戏 AI 的获奖书籍,她将带您从熟悉的面向对象编程,将您的技能提升到内存效率更高和优化的水平。实体组件架构。在整个过程中,您将参加旨在引导您熟悉 ECS 的每一步的实践研讨会。您将构建大量场景,通过新的特定于 DOTS 的数学和物理库来检查 ECS 编程的基础知识。
虽然 DOTS 仍处于预览阶段,但本课程旨在帮助您了解它的工作原理以及如何用它构建游戏。您获得的知识将提高您解读未来发布的 Unity ECS 技术演示和处理 API 更新的能力。
本课程需要Unity 2019.3.0f6。和混合渲染器包 0.3.3。
了解如何编程和使用:
- 实体和组件
- C# 作业系统
- 碰撞系统
- 触发系统
- 用户输入控制实体
- 将经典 Unity 和游戏对象连接到基于实体的系统。
内容和概述
本课程从比较在 Unity 中处理游戏对象的旧方法开始,一直到在每个实例中使用完全相同的场景创建完整的 ECS 系统,让您有时间比较编程方法和通过实施获得的优化点。
接下来,您将更深入地了解实体的创建和调试,同时学习如何使用自定义组件来标记、识别实体并向其添加数据。您还将学习如何在将实体注入游戏环境后查找实体以及如何在运行时访问和操作它们。
当您熟悉实体的性质后,您将发现如何使用新的数学库来复制您在 Unity Mathf API 中熟悉的许多函数。内容将涵盖变换、旋转、睡眠、旋转、跟随航路点以及追逐和逃离目标。将创建一个基于太空的场景,其中有几个行星和数千个航天器被编程为攻击,通过产生更多数千颗子弹并最终爆炸。
接下来,您将通过实施 Perlin Noise 并检查并行处理(通过 C# Jobs 系统实现)如何显着加快过去仅限于主线程。
完成本次练习后,将对新的 DOTS 物理功能进行彻底检查。您已经习惯的所有经典 Unity 元素都将通过新的物理 API 和 ECS 作业系统进行复制。您将了解碰撞、触发器、摄像机跟踪、子弹物理以及为移动动态和运动学实体重建牛顿物理的基础知识。
本课程以重新创建第三人称射击游戏的挑战和项目结束,在该游戏中,单个玩家对抗一群僵尸。
完成本课程后,您将熟悉 DOTS 和 ECS,并能够通过解释和理解发布的 Unity 技术演示、展示更新的 API 以及向 DOTS 引入越来越多的功能来进一步提高您的技能。
学生对 Penny 课程的评价:
- 很棒的课程!!我已经进入游戏开发行业,这里有一句话是这样的:“每当你无法解决复杂的问题时,就是回到基础的最佳时机”
- 她是这个平台上最好的老师
- 大多数教练都是非常聪明的人。有些擅长教学,有些则不擅长。佩妮擅长描述复杂的概念,而不会陷入许多教师认为有义务做的黑暗的大脑兔子洞。就好像他们需要通过解释每一个微小的方面来展示他们的知识。佩妮没有去那里。她解释得很清楚,但不会让学生不知所措。
本课程适合谁:
- 习惯使用 Unity 但希望提升技能以实施新 Unity DOTS 系统的专业人士和学生。
评论(0)