Learn to Write Unity Compute Shaders
学习编写 Unity 计算着色器
Harness the power of the GPU
利用 GPU 的强大功能
教程演示🔗
您将学到什么
- 如何编写 Unity 计算着色器
- 如何在后处理图像滤镜中使用 ComputeShaders
- 如何使用 ComputeShaders 实现粒子效果和植绒
- 如何使用 StructuredBuffers 在 ComputeShader 和实例化表面着色器之间共享数据
- 使用 ComputeShaders 处理流体模拟
- 使用 ComputeShaders 创建物理引擎
要求
- 您必须熟悉Unity基础知识
- 您需要具备C#基础知识
描述
通过学习创建计算着色器,您将处于Unity开发的前沿。与传统着色器不同,您可以使用计算着色器来处理任何数据操作问题,在这种情况下,数十个(甚至数百个)线程同时运行会导致游戏中的瓶颈,使其运行速度快很多倍。
在本课程中,您将从小步骤开始,学习计算着色器的基础知识。首先,我们研究使用缓冲区将数据从CPU传递到GPU。然后我们将在计算中使用这些缓冲区。一旦你有了这个初步的基础,你就会学会如何使用这些技术来创建快速的后处理过滤器。可以使用“计算着色器”来处理粒子效果和群集计算。
在这门课程中,你将创造一个由数千只鸟组成的群体,每只鸟都会以与在空中的速度同步的方式拍打翅膀。使用“计算着色器”,分而治之是一种方式。通过使用数百个同时运行的线程,我们开发了一个GPU物理引擎,可以处理数千个翻滚的棋子。当化身在草地上移动时,计算着色器非常适合处理草叶的方向。本课程涵盖了流体(2D和3D)这一具有挑战性的主题,您将看到这个计算密集型领域从“计算着色器”中受益匪浅。本课程的资源以随代码版本和完整版本的形式呈现,包括30多个不同的示例。
Unity Compute Shaders提供了一个理想的平台来学习如何处理游戏中的复杂问题。详细介绍了使用分离、内聚和对齐这三个关键规则进行的植绒计算。包括处理快速碰撞检测的物理计算和所涉及的力(理论上和实践上)。平滑粒子流体动力学是一种计算流体模拟的技术。我们将带您从基础层面了解它。如果你在使用Unity,你需要了解如何使用计算着色器来确保你的游戏具有最佳性能。毕竟,为什么让GPU闲置,而CPU却在加班呢?如果将一些任务切换到GPU并使用计算着色器进行处理,您将看到巨大的性能改进。
本课程使用Unity 2019.4,兼容Windows和Mac。学生反馈“这门课程太棒了。我一直想学习这些主题,最终获得了一些令人难以置信的资源。非常感谢。顺便说一句,我喜欢它的教学法。默认的场景和挑战真的帮助我坚持这门课程而不感到沮丧。所涵盖的主题非常困难,但你做到了,我们可以一步一步地学习,同时看到屏幕上可能出现的东西!“
“本课程对计算着色器的工作原理、令人印象深刻的结果和解释进行了深入细致的解释。”
“令人惊叹的课程-继Penny De Byls的CG Shader课程之后,又推出了这门课程,它们非常吻合。Nicholas在一些有趣的项目和伟大的概念方面做得很好-喜欢流体模拟部分。”
“我刚刚开始了Holistic 3D的计算着色器课程。我喜欢这门课程,觉得它非常容易理解!多年来一直在寻找一个不错的教程,这绝对是我一直在寻找的!”
“很棒的教程,知识浓缩且易于获取。我一直想学习编程着色器和GPU计算,所以这门课程非常适合我的需求!”
“这门课程擅长填补我自学的知识和对计算着色器的理解中的空白。解释简洁而完整,同时有助于将基础知识联系起来,形成坚实的基础!”“课程内容丰富,节奏快!”一路上还有很多挑战。挑战就是我给五星评级的原因。这些往往需要一些思考,但可以通过我们所学的知识来解决,而且就我的口味而言,只要有适当的难度。”“对于任何3D图形开发人员来说,这门课程绝对是必须的。毫无疑问,这是我在网上看到的最好的资源。尼古拉斯是一位了不起的老师,他能够解释非常复杂的概念,比如Navier-Stokes方程,这是一个非常简单的术语。如果可能的话,我会给10颗星。远远超出了我的预期,我会再看几次作为参考。感谢Lever先生在用通俗易懂的语言教授令人难以置信的内容方面所做的杰出工作。请更多物理模拟:)“
其他人对尼克课程的评价是:
- 内容非常丰富,教学方法令人印象深刻。向掌握了这门学科并知道如何教学的人学习非常好。
- Nik的教学风格让我非常直观地理解了一切,现在我对着色器非常熟悉。
- 我喜欢尼克的课程,我理解他解释的方式。内容很棒。
本课程适合哪些人:
- 希望将计算着色器添加到其技能组合中的开发人员
- 希望使用 GPU 来避免游戏处理瓶颈的开发人员
- 好奇了解现代植绒、GPU 物理、草地、光线追踪和渲染技术的开发人员液体