【游戏开发阅读列表1】Unity Shader 入门到进阶

动机

在豆瓣上看到有人写《GameDev Weekly》 系列,主要是记录每周阅读的游戏开发相关内容,包括视频、文章等。但我自身水平较弱,他分享的一些内容我还看不懂。于是自已也打算写类似的系列,不一定是weekly,把自己阅读过的有价值的内容尽量分类,按从入门到精通的顺序罗列出来,也做一些总结。

入门


  • 《猫都能学会的Unity3D Shader入门指南(一)》
  • 《猫都能学会的Unity3D Shader入门指南(二)》

这是一套非常基础的入门指南,真的是猫都能学会,作者所用语言尽量通俗,很少出现“高大上”的词汇。第一篇主要介绍了概念和语法。第二篇举了一个应用场景,看完会有更直观的认识。缺点是只涉及surface shader。对于理解概念和了解语法,初步认识shader有很大意义!

【游戏开发阅读列表1】Unity Shader 入门到进阶_第1张图片


Alan Zucconi 写的基础系列:

  • 《A gentle introduction to shaders in Unity3D》
  • 《Surface shaders in Unity3D》
  • 《Physically Based Rendering and lighting models in Unity3D》
  • 《Vertex and fragment shader in Unity3D》
  • 《Screen shaders and postprocessing effects in Unity3D》

前两篇和前面推荐的“猫都能学会”系列内容重叠很多,可能有借鉴之处。相对而言这里的前两篇更深入一些,“猫都能学会”更通俗一些。

第三篇仍然是surface shader, 讲解了Lambertian和Blinn-Phong两种光照模型,以及Unity中现在使用的光照模型PBR(Physically Based Rendering)。

第四篇介绍了Vertex and fragment shader。这种shader往往不使用物理信息(光照、反射率、光滑度等),因此这种shader经常被用来做非真实的渲染、2D特效。

【游戏开发阅读列表1】Unity Shader 入门到进阶_第2张图片

最后一篇讲了一些屏幕特效,比如老的CRT晶体管电视的效果。


接下来是两个视频:

  • Shaders 101 - Intro to Shaders
  • Shaders 102 - Basics of Image Effects

前面只看文字可能到自己操作的时候可能还是有困难,视频的话更直观,并且都附带源码,还有课后作业。实现的效果也非常惊艳!

2D shader 实例


  • 《Unity特效(5) 滚动的背景》
  • 《Unity特效(1) 梦幻旋屏》

两个简单的shader在2D中的应用场景。

3D shader 实例


  • CD-ROM 彩虹光系列
  • surface shader 官方实例
  • vertex fragment shader 官方实例

第一个系列写得非常详细,对于理解自然光相关物理有很大帮助!

官方实例中有不少惊艳的效果值得学习。


Shadertoy

最后推荐这个网站 Shadertoy,有非常多效果,找到自己喜欢的,学习下源码。有自己的想法之后也就可以在上面分享自己的shader啦!不过学了前面的unity shader的内容,并不会用shadertoy,所以再提供一个上手指南。

  • shadertory 上手指南

你可能感兴趣的:(图形学)