博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Unity Shaders】《Unity Shaders and Effects Cookbook》总结篇
阅读量:7068 次
发布时间:2019-06-28

本文共 1757 字,大约阅读时间需要 5 分钟。

我的唠叨

不知不觉,从发表第一篇关于已经快十个月了。一开始的初衷就是学习笔记,毕竟将来回过头去看的时候,再看英文难免有种急躁感。从一开始几乎只有我一个人在奋斗,到现在时不时有人学习留言或者发邮件鼓励我,能有人和我一起学习我已经很开心了。谢谢所有鼓励和支持我的人~

我先说下我的博客里这个系列的特点~

  • 首先声明,这不是纯翻译,我的插图绝大部分都是在自己的Unity里面按步骤实践以后再截图放到博客里的。
  • 会对原文中的一些错误进行修正。
  • 会对原文中解释较少的部分增加自己的理解和扩展。
  • 原文里一些我觉得比较啰嗦的话我也会不再翻译出来赘述的。。。但我认为,就算没有那些一般人都是可以看懂的~
那么下面就是对这本书的看法啦~
优点:
  • 算是填补了国内外(对,没错,包括国外)关于Unity Shaders方面的空白。在这之前大多是依靠Unity文档、论坛和各种网站的资源学习的,而现在有了一个比较集中的书籍。在国外的网站上(例如packtpub和Amazon),这本书的评价是4星左右,是可以接受的分数了。
  • 包含的内容面还是比较广的。由基础的漫反射光照、镜面反射、Cubemap等等,到Cloth、Skin(Skin这个必须要吐槽。。。真的不像皮肤啊啊啊啊!),再到移动平台上的优化,如何使用Cg,以及最后关于画面特效的几个高级话题。对于初学者来说,这些内容还是比较丰富和有趣的。
  • 写Shader一直是一个很难而且不知道如何入手的事情,这本书给了一个简单而又不失有效的途径。
缺点:
  • 这本书有很多称不上经典的原因(当然已经很感谢作者了)。我感触最深的就是作者关于很多表层一下的知识介绍太少,有种浅尝辄止的感觉。比如Shader的pipeline等。而这些其实是非常重要的,知其然而不知其所以然是阻止很多程序员成长的最大元凶。如果要完全理解的话,还是要辅助看很多基础数据或文章,比如Nvidia关于Cg的教程等等。
  • 解释的部分有时太过简略。虽然有时候作者说的很简单,但其实对于初学者来说,“为什么要这样”的问题时常浮现在我的脑海里。。。当然其实很多时候写Shader是一个经验活,那些公式和系数就是长期时间下来的结果,没有太多的为什么。
  • 一些错误。比如作者关于变量类型的使用比较混乱,尤其是fixed的使用。我之后也要重新复习看一下。。。
  • 虽然叫cookbook,但是很多是不可以直接拿来用的。所以,这本书整体来说是一个入门书籍,让你了解一些Unity Shader的常见用处和语法。

内容总结

好啦,当做复习以及索引方便,下面是本书各章节内容的介绍和总结。

Diffuse,即漫反射,可以想象成太阳光照射到某一个粗糙平面上时,该平面向四面八方都会反射光线,这些光线中的某些光线进入我们的眼睛,从而使我们看到了这个平面。一个基本的漫反射光照模型,需要包括以下几个部分:一个反射颜色(
emissive color,可以理解成平面本身的颜色), 一个环境光颜色(ambient color,可以理解成光源的颜色), 以及计算来自所有光源的光线和。

1.1 

如何新建一个Shader并使用Material。

第一次解释了Properties块,如何添加新的property,不同类型property的声明方式。

第一次解释了怎样创建CGPROGRAM和Properties块中各变量的链接。

如何在Surface Shader中使用非默认的光照函数,光照函数的几种类别,基本的漫反射光照模型(兰伯特光照模型)。

半兰伯特听起来很高端,其实就是把物体背光面的亮度提高了,使光照范围从(0.0, 1.0)映射到了(0.5, 1.0)。

使用一维渐变纹理控制光照(即光照颜色就是采样后纹理上的某个像素)是非常常见的手法,在很多类型的Shader,如卡通风格的Shader中都非常常见。这种方法具有非常好的可变性。

这节是上面两节内容的结合和扩展。双向,即两个方向,一个指入射光线的方向,一个指观察点的方向。之前的光照模型都是只使用了第一个方向,即入射光线的方向。给出了max、半兰伯特对两个方向进行修正的结果和异同。
待续。。。

转载于:https://www.cnblogs.com/xiaowangba/p/6314669.html

你可能感兴趣的文章
cisco 10条IOS管理命令
查看>>
文娱产业兴起 娱乐有了 文化在哪?
查看>>
Inotifywait解决监控子目录树的情况
查看>>
两棵树是否相同
查看>>
基本正则表达式和扩展正则表达式中的括号问题
查看>>
关于布局中float的常见问题及解决办法
查看>>
android 地铁最短路线换乘查询系统(1)
查看>>
DevOps转型成功之路2 - 转型的五个误区
查看>>
JVM-监控命令(5)
查看>>
光纤连接器分类
查看>>
JAVA设计模式之组合模式
查看>>
RH135-1-auto-install
查看>>
nginx+tomcat7 DOCKER镜像的dockerfile
查看>>
关于笔记本电脑网卡出问题的简单解决
查看>>
IPV4与IPV6表示方法
查看>>
桌面支持--不懂不要乱动-尤其是别人的东西
查看>>
hadoop集群上运行自定义wordcount
查看>>
Linux条件测试
查看>>
解决java 无法使用,全局proxifier 代理工具
查看>>
图形图表设计软件Edraw Max更新至v9.0,新增10000+符号和模板丨限时8.5折
查看>>