学习编写 Unity 计算着色器

Learn to Write Unity Compute Shaders

利用 GPU 的强大功能

 学习内容

  • 如何编写 Unity 计算着色器
  • 如何在后处理图像过滤器中使用 ComputeShaders
  • 如何使用 ComputeShaders 实现粒子效果和植绒
  • 如何使用 StructuredBuffers 在 ComputeShader 和实例化 Surface Shader 之间共享数据
  • 使用 ComputeShaders 处理流体模拟
  • 使用 ComputeShaders 创建物理引擎

 要求

  • 您必须熟悉 Unity 的基础知识
  • 你需要有C语言的基础知识#

 描述

通过学习创建计算着色器,您将处于 Unity 开发的前沿。与传统着色器不同,您可以使用计算着色器来处理任何数据操作问题,其中有数十个(甚至数百个)线程同时运行,从而导致游戏中的瓶颈运行速度快很多很多倍。在本课程中,您将从小步骤开始,学习计算着色器的基础知识。首先,我们看一下如何使用缓冲区将数据从 CPU 传递到 GPU。然后,我们将了解如何在计算中使用这些缓冲区。一旦你有了这个初步的基础,你就学会了如何使用这些技术来创建极快的后处理滤波器。您可以使用计算着色器来处理粒子效果和填充计算。在这个课程中,你将创建一个由数千只鸟组成的鸟群,每只鸟都根据它在空中的速度同步拍打翅膀。分而治之就是方法,使用 Compute Shaders。通过使用数百个线程同时运行,我们开发了一个 GPU 物理引擎,可以处理数千个翻滚的棋子。计算着色器非常适合在虚拟形象在草丛中移动时处理草叶的方向。本课程涵盖了具有挑战性的流体(2D 和 3D)主题,您将看到这个计算密集型领域从计算着色器中受益匪浅。

该课程的资源以代码版本完整版本的形式呈现,包括 30 多个不同的示例。Unity Compute Shaders 提供了一个理想的平台来学习如何处理游戏中的复杂问题。详细介绍了使用 Separation、Cohesion 和对齐 3 个关键规则的植绒计算。包括处理快速碰撞检测的物理计算和所涉及的力(理论上和实践上)。平滑粒子流体动力学是一种用于计算流体模拟的技术。我们将从基础级别引导您完成它。

如果您正在使用 Unity,则需要了解如何使用计算着色器来确保您的游戏具有最佳性能。毕竟,为什么要让 GPU 闲置而 CPU 加班呢?如果您将一些任务切换到 GPU 并使用计算着色器处理它们,您将看到巨大的性能改进

本课程使用 Unity 2019.4,并且与 Windows 和 Mac 兼容

 学生反馈

这门课程简直太棒了。我一直想学习这些主题,最终得到了一些令人难以置信的资源。非常感谢。顺便说一句,我喜欢说教。默认的场景和挑战确实帮助我坚持课程而不会感到沮丧。所涵盖的主题非常困难,但您以一种我们可以真正一步一步的方式做到了,同时在屏幕上看到令人难以置信的东西!
“这门课程是对计算着色器如何工作、令人印象深刻的结果和解释的深入、解释清楚的理解”
很棒的课程 – 跟进了Penny De Byls CG着色器课程,它们非常吻合。Nicholas 在一些有趣的项目和出色的概念方面做得很好 – 喜欢流体模拟部分。
“我刚刚从Holistic 3D开始学习计算着色器课程,我喜欢这门课程,我发现它非常容易理解! 多年来一直在寻找一个像样的教程,这绝对是我一直在寻找的那个!
很棒的教程,知识浓缩且易于获取。我一直想学习编程、着色器和 GPU 计算,所以这门课程非常适合我的需求
“这门课程擅长填补我自学成才的知识和对计算着色器的理解的空白。解释简明扼要而全面,同时有助于将基础知识联系起来,打下坚实的基础!

“课程内容丰富,节奏很好(速度快),一路上有很多挑战。挑战就是我给出 5 星评级的原因。这些问题往往需要一些思考,但可以使用我们学到的知识来解决,而且就我的口味而言,难度刚刚好

“对于任何 3D 图形开发人员来说,这门课程绝对是必修课。毫无疑问,这是我在网上看到的最好的资源。尼古拉斯是一位了不起的教练,他能够解释非常复杂的概念,例如纳维-斯托克斯方程是非常简单的术语。如果可能的话,我会给 10 颗星。远远超出了我的预期,我会再看几遍作为参考。感谢 Lever 先生在用非常通俗易懂的语言教授令人难以置信的内容方面的出色工作。请多:)物理模拟”

“如果你想了解计算着色器,这绝对值得你花时间和金钱。Nik Lever 花时间逐行解释相关代码,并且对这个主题非常了解。他快活的英国精神将鼓励即使是最疲惫的灵魂磨练他们的知识,因为他提出的编码挑战随着课程的进行而逐渐增加复杂性。将检查他接下来创建的任何课程。

其他人对 Nik 课程的评价:

  • 非常丰富的内容和令人印象深刻的教学法。向精通该主题并知道如何教学的人学习非常好。

  • Nik 的教学风格让我非常直观地理解了所有内容,我现在对着色器非常熟悉。

  • 我喜欢 Nik 的课程,我从他的解释方式中理解。很棒的内容。

本课程适合谁:

  • 希望将计算着色器添加到其技能集中的开发人员
  • 希望使用 GPU 来避免游戏处理瓶颈的开发人员
  • 渴望了解植绒、GPU 物理、草地、光线追踪和流体等现代技术的开发人员
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。