学习编写 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 和 Alignment 这 3 个关键规则的 Flocking 计算。包括处理快速碰撞检测的物理计算和所涉及的力(理论和实践)。平滑粒子流体动力学是一种用于计算流体模拟的技术。我们将从基础层面带您了解它。
如果您使用 Unity,则需要了解如何使用计算着色器来确保您的游戏具有最佳性能。毕竟,为什么要让 GPU 在 CPU 加班时闲置呢?如果将某些任务切换到 GPU 并使用计算着色器处理它们,您将看到巨大的性能改进。
本课程使用Unity 2019.4,兼容 Windows 和 Mac。
学生反馈
“这门课程简直太棒了。我一直想学习这些主题,并最终获得了一些令人难以置信的资源。非常感谢。顺便说一句,我喜欢这种说教方式。默认场景和挑战确实帮助我坚持课程而不会感到沮丧。所涵盖的主题非常困难,但你以一种我们可以真正一步一步地做到这一点的方式做到了,同时在屏幕上看到了令人难以置信的东西!”
“这门课程是一门密集的、解释清楚的、了解计算着色器如何工作的课程,令人印象深刻的结果和解释”
有一些有趣的项目和伟大的概念 – 喜欢流体模拟部分。”
“我刚刚开始了 Holistic 3D 的计算着色器课程。喜欢这门课程,我发现它非常容易理解!多年来一直在寻找一个像样的教程,这绝对是我一直在寻找的!”
“很棒的教程,知识浓缩且易于获取。我一直想学习编程着色器和 GPU 计算,所以这门课程非常适合我的需求!”
“这门课程非常出色填补我自学的知识和对计算着色器的理解的空白。解释简明而完整,同时帮助基础知识的联系形成坚实的基础!”
其他人对 Nik 课程的评价:
- 非常丰富的内容和令人印象深刻的教学。向精通该学科并知道如何教学的人学习非常好。
- Nik 的教学风格让我非常直观地理解了一切,我现在对着色器非常满意。
- 我喜欢 Nik 的课程,我理解他解释的方式。很棒的内容。
此课程面向哪些人:
- 希望将计算着色器添加到他们的技能组合中的开发人员
- 希望使用 GPU 避免处理游戏瓶颈的开发人员
- 开发人员好奇地了解植绒、GPU 物理、草、光线追踪和流体的现代技术
TheItzy » 学习编写 Unity 计算着色器 | Learn to Write Unity Compute Shaders