标签:
感谢全部点进来看的朋友。没错。我眼下打算写一本关于Unity Shader的书。
出书的目的有以下几个:
总结我接触Unity Shader以来的历程,给其它人一个借鉴。我非常明确学Shader的艰难,在群里也见了非常多人提出的问题。
我认为学习Shader还是一件有规律可循的事情,但问题是中文资料难觅,而大家又不愿意去看英文。。。这对我有什么优点呢?强迫我对知识进行梳理,对细节问题把握更清楚。
第二个原因你懂的。
关于本书的定位问题:
面向Unity Shader刚開始学习的人,但要:
我写这本书的一个目标是,希望帮助刚開始学习的人把基础打牢,没有基础不论什么上层建筑都是不可靠的。
我不是在写一本特效大全,所以你假设想要看到各种酷炫狂霸拽的特效,抱歉,这本书里差点儿没有。这跟上一点有非常大关系,仅靠一本书,我能够肯定一个刚開始学习的人没有办法成为一个“Shader大神”。我希望全部读过这本书的人能够真正明确shader是个什么东西,而不是说:“哦。shader嘛,就是在Unity里右键Create->Shader得到的那个东西嘛”。
关于特效大全的问题,假设将来我有十足的经验和资格了,可能会真的写一本,哈哈哈
写书是件非常不easy的事情,希望我能够把它做好。
不少朋友留言或者发邮件问我什么时候出版,我比你们更着急呀……只是编辑说还在改动和排版,大概出版时间会在明年一月份(希望不会延期吧)。谢谢大家帮我起名字。我把一些大家起得名字拿给编辑看。以及和朋友讨论。最后还是暂定为《Unity Shader入门精要》。难听么?别打击我……以下有朋友起了非常多萌萌哒的名字,利用下程序媛的身份,只是吧,感觉这个因人而异,说不定有人就不喜欢程序媛写的书呢……所以最后还是挑了这个比較严肃的名字,嗯。
书的封面我也找万能的设计师兰朋友设计啦~
还没出版所以打打水印。
当然了,编辑仅仅是允许用了,可是应该还会改动吧。不知道大家认为封面怎么样……我是认为萌萌哒。哈哈。
我把这本书分为五大篇章:
基础篇:这是非常重要的一章,主要是为了刚開始学习的人普及主要的理论知识,以及所需的数学基础。
我明确非常多人看不懂网上的一些材料。我尽量讲得通俗。
Shader0基础篇:从最简单的shader開始,解说shader中基础的光照模型、纹理、和透明效果等。
同一时候。还会介绍一些shader的Debug技巧、shader里常见报错信息。
Shader中级篇:这是进阶篇章,将解说更加复杂的光照、高级纹理、以及怎样用shader实现动画等一系列进阶内容;
Shader高级篇:则涵盖了一些shader的高级使用方法,如使用缓冲区、实现屏幕特效、非真实感渲染等。同一时候,还会介绍一些优化技巧。
扩展篇:将会涵盖一些Unity Surface Shader背后的机制。还会针对Unity 5.0+版本号中的一些新的特性进行简要分析。最后。希望向大家介绍一点学习shader的经验和资源。
眼下文件夹已经初步定型。把文件夹记录在这里,但我会不断更新。
假设您对该书的文件夹和内容有不论什么意见和建议都能够在下方留言。假设您没有CSDN账号。也能够通过发邮件来告诉我:lelefeng1992 # gmail DOT com。
我会依据您的意见对文件夹和内容做出一定的更改。
* 前言
* 这本书讲些什么
* 读这本书之前你须要哪些知识
* 谁适合读这本书
* 谁临时还不适合读这本书
* 约定
* 读者反馈
* 本书源代码
第1部分 基础篇
第1章 欢迎来到Shader的世界
第2章 渲染流水线
第3章 Unity Shader基础
第4章 学习Shader所需的数学基础
第2部分0基础篇
第5章 開始Unity Shader学习之旅
第6章 Unity中的基础光照
第7章 基础纹理
第8章 透明效果
第3部分 中级篇
第9章 更复杂的光照
第10章 高级纹理
第11章 让画面动起来
第4部分 Shader高级篇
第12章 屏幕后处理效果
第13章 使用深度和法线纹理
第14章 非真实感渲染
第15章 使用噪声
第16章 Unity中的渲染优化技术
第5部分 扩展篇
第17章 Surface Shader探秘
第18章 基于物理的渲染
第19章 Unity 5更新了什么
第20章 还有很多其它内容吗
这几天在写数学的部分,早就料到数学是最难讲的一部分,尤其是矩阵。
我和非常多人一样。对矩阵这个家伙简直是”深恶痛绝“。看到它就想躲过去。无奈,shader里面要时常跟它打交道。那么。就勇敢地面对它吧!
我非常明确。为什么我们会这么”讨厌“矩阵。假设说矢量这样的我们还能够通过可视化的方法来直观地理解,那么。矩阵,这个放在一个小方框里的东西。就非常难用画的方式把它画出来。而我们人的大脑又是非常懒惰的(恩,我仅仅能为我的大脑代言),没图你说个XXX。我才懒得记!
实际上,我一直对数学怀抱一种敬畏的心态。世界上有非常多的数学家同一时候也是哲学家、心理学家,感觉数学对理解这个世界都有非常重要的意义,并且那些数学家的生平都非常有意思。让人敬佩。能够将其一生都贡献给数学的人都非常伟大的,那些创造矩阵、空间、矢量这些的人是多么伟大。怎么就会想到用这样一种方式来描写叙述这样的现象呢?这真的是件非常奇妙的事情。并且。你会发现。怎么这样算就能够表示出这样的意思呢。明明看起来没有不论什么关系啊!这样的巧合真的是让人感叹数学的伟大。
好了,不再歪歪……回到真实的世界……在写的过程中。我会尽量用通俗、幽默、有图示的方式来讲这一章,效果怎么样。我也非常忐忑。会不会反映说看不懂?如今一切都不得而知……
一个有趣的事情是,在讲左右手坐标系和左右手法则的时候。我拿自己的手做了模型:
看起来还挺像那么回事的?谁敢说我手胖我跟谁急!
这几天一直在绘图、看书、写文字、写公式(天哪,尽管用Markdown写公式已经非常方便了,但一天要写那么多公式也真的是……)、算题,希望最后的结果是好的。加油吧。
写了两个多星期,把数学一章的草稿基本完毕了。今天更新了第2、3、4章的文件夹,有兴趣的能够看一下。欢迎提出各种意见和建议。
数学篇是我最想好好写的一篇(当然啦。其它章我也会好好写。
。。
)。数学之所以难学。一部分是由于它的抽象性。没办法。假设我们想要把一些规律从生活中提取出来,就必定要涉及到各种数学符号,这就要用到抽象。我用了非常多图和案例来尽量让这个过程更加形象易懂。也使用了一些相似对话的方式,来解释一些常见的疑惑。
眼下,本书的第一篇——基础篇基本成型。基础篇里每一章都有个小节叫做答疑解惑,意在总结一些常见的疑惑点,假设读者除了我上面写到的几点外还有其它的困惑。能够给我留言。我会视情况加入到这一章节。
除此之外,在数学一章里我加入了练习题的部分。事实上我是有犹豫的。认为可能大家都会跳过去。那不是白写了。。。之所以要设置这个练习题的部分。一方面的确是希望读者能够通过这些练习真的拿笔算一下,说真的。数学你不多算真的永远学不会。还有一方面。是想把一些easy混淆的点通过练习题的方式提出来,让读者自己算一下加深理解。由于假设要把这些混淆点都写进书里,思路上会比較乱。希望能起到比較好的效果吧。。。
以下就会真正開始Unity Shader的部分了。
加油!
放假了大部分时间都拿来看资料、学习、写书了。半个多月写出了基本篇的草稿,不知道是快还是慢?我自信自己写的非常具体了,比方第5章介绍了语义,第6章具体介绍了基本光照模型,第7章写到凹凸映射的时候也花了非常大篇幅介绍实现的原理和细节,包括高度图,第8章的透明效果先介绍了渲染队列,我自己认为这个非常重要的,应该在学习怎么实现透明之前就让读者知道渲染队列对透明来说是多么的重要。我认为如今的安排对刚開始学习的人足够友好了,当然写后面内容的时候可能还会对前面的内容进行改动。比如如今想在第4章数学里加一个在Unity脚本里的矩阵运算,但这本书是讲shader的。不知道加进去合不合适,但它的确是个easy出错的地方。
每次讲到新的内容时,我都尽量用图示来解释。每一幅图都是在OmniGraffle里认真做的,希望以后看到的人能get到我的意思。写书写太多感觉写博客都语无伦次了。。
。
近期QQ群、私信和留言经常有人问题一些问题,我在这里统一回答一下。回答几个问题:
这书什么时候出版?
大家也看到了我的更新速度。眼下写的了第8章(第一章介绍还没写),初步定的是19章。也就是说写了三分之中的一个了,我如今大概花了一个多月,可是写书的确花费了非常多时间,写完基本篇之后可能会放慢一下速度。总体来讲,我估測下大概还要三四个月的时间才干写完,因此出版的话最快年底,不然就是明年年初了。
有一些人说太晚了,相信我,我比不论什么人都想让它赶紧出版,可是我不会影分身……好羡慕鸣人。
能不能添加些更高难度的技术?
一些童鞋大概看了前几章文件夹后认为内容比較简单。怎么说呢,这本书的定位是面向刚開始学习的人,因此肯定会是由易到难的,但我自信的是,即便是简单的内容我也写的非常具体。非常多非常小的点也都写到了。非常多地方都是其它资料里一带而过,而又非常迷惑的点。假设是没有好好学过shader的。就算如今已经能够熟练写一些了我认为这本书也是实用的。
更重要的是,我不想把它写成一本百科全书。一来我自己的确经验不够,写不来大全,二来我认为一本大全的书肯定写不精、写不细。到头来又说看不懂怎么办?三来我认为写shader是一个师傅领进门修行靠个人的活,一旦你了解了它的工作流程和基本思路,剩下的就是经验的积累,你看得写、写得多自然就厉害了,这不是一本基础书就能够让你做到的。
当然,我的确会写一些复杂的技术,这是高级篇和扩展篇的工作。
假设你认为有一些经常使用的复杂一些的技术想要在这本书里看到,能够告诉我。
是彩色书还是黑白书?
我自己当然希望是彩色书,一本讲画面效果的书居然是黑白的那太遗憾了。只是编辑告诉我,彩色印刷会提高非常多成本,那销量就会下降。我能够理解,但如今还没有一个定论,等写完之后会尽量争取。
只是我也非常好奇,大家认为这样一本几百页的全彩书,你认为多少价钱比較合适?
断断续续把中级篇的草稿完毕了。越往后面写感觉内容的安排越费劲,一些内容不知道把它们归入到哪一章更加合适,放的早了一些内容没讲操心读者看不明确,放的晚了又认为内容不足单独成章。高级篇想必也会这样。文件夹还在不断调整中……
写第9章光照简直是除数学篇外最痛苦的一章。想要讲明确非常难啊,无论怎样,眼下的内容我尽力了,希望能够有好的效果。
由于内容多并且杂,所以这一章不知不觉就写了四万字,也是眼下字数最多的章节了。即便这样,仍然对一些内容“念念不忘”,比如菲尼尔光照、边缘光照等,不知道以后会不会加入进去。
话说。写书的时候发现一个不错的免费纹理站点——http://opengameart.org/,写书的时候有一些纹理是从这里找到的,在这里也推荐给大家。
当然。也有自己画的一些纹理。
之前做游戏的时候做了一个2D水面。这次把它的实现也加入到了书里面。
呼,还有两大篇总体草稿就完毕了。有些内容想偷点懒。使用点博客里写过的。
。。9月预计要赶论文,进度会更慢。预计完毕大概要11月或者12月了,希望大家能够耐心等待。我会加油的。
恩。好久没更新了。由于9月份一直在弄别的事情所以写书的进程有些滞缓了。让大家久等了!只是还好,赶在11月之前把高级篇的草稿部分写完了,希望大家看了文件夹能够惬意如今的内容。
第12章讲屏幕特效,好吧,我承认我原来没想写这么多的,由于我一開始就说过这不是一本特效大全。只是写着写着。就认为,恩,高斯模糊非常重要,不能删,恩,边缘检測非常重要。由于能够和后面联系在一起。恩。这样运动模糊也不能删了(后面也有联系)。
所以写着写着就写了非常多,只是希望大家看了书能够对这些屏幕特效有所了解。知道它们实现的基本原理(事实上本质上都差点儿相同),这样在实现更复杂的屏幕特效时也会有头绪了。
第13章讲深度和法线缓存。事实上好像移动平台上用的比較少?只是我认为这张内容非常适合扩展视野,让大家知道原来这些纹理还能够这么用。里面一些内容,比方运动模糊和全局雾效參考了GPU Gems里面的文章。事实上GPU Gems也并没有那么复杂。第14章讲了非真实感渲染。这章并非重点,主要也是为了扩展视野,我选了最流行的卡通风格和非常出名的素描风格来做个样例。第15章讲了噪声在shader中的应用,噪声的应用实在太广了。。。第16章是很多人要求的优化。恩,有四五个童鞋都联系我说希望学习一些优化。如你们所愿:)。
这章的内容參考了之前我的一篇博客,只是当然不是原封不动啦。。
。
内容更具体了,并针对Unity 5做了一些调整和变化,希望对大家有所启示。高级篇的一个主要目的是为了开阔视野。了解很多其它技术,因此每一章后面都有扩展阅读部分,给出了我能找到的全部我认为非常好的资料。能列在这部分的资料,我都强烈建议读者去读一下,相信你一定会有非常大的收获。
好啦,最后放一些高级篇里实现的效果,欢迎大家提出意见和建议。
还有最后一篇扩展篇,计划讲一些关于Unity 5的PBR和相似于ShaderToy这样的内容,你怎么看?
恩。一直有人问我什么时候出版,具体时间我真不知道。
写完最后一篇大概11月初,然后我还要又一次读一遍全部内容。做些调整和改动。
这大概也要花一个月吧。也就是12月了。并且可能还有实验室的事情要做,因此出版大概要明天年初了。希望大家能再等一下。只是。真的非常感谢一直支持我的各位,说实话写到如今的确有些到了倦怠期。只是由于有非常多支持和鼓舞的声音给了非常多新的动力,谢谢大家。还是希望大家假设对和书有关的不论什么建议都能够联系我。不胜感激:)
呜呼,不敢相信自己的速度,我居然在11月赶出来了……截止到今天。书里面全部的20章内容就都完毕了。上周已经对全部章节进行了我这方面的改动。然后交给编辑啦~我已经竭尽全力了,希望会有好的结果!
关于什么时候出版
编辑说大概还要一个多月吧。看我的内容须要多长时间排版。我会在博客里实时更新的(可能会开还有一篇文章了吧)!
关于封面和书名
恩,事实上之前给出版社写表格的时候填了个名字,《Unity Shader入门金典》,是不是认为挺难听的……假设你有更好的名字一定要告诉我,假设最后使用了的话一定免费赠书!
封面的话。编辑说我能够提出自己的意见。我比較想用Shadertoy创始人iq的一些作品(http://www.iquilezles.org/www/articles/raymarchingdf/raymarchingdf.htm),比方以下这些(啊啊啊iq是我的偶像…):
这些效果仅仅使用了一个pixel shader,是最好的展现shader能力的样例啊有木有!
打算后面给编辑看一下合不合适,然后再联系偶像iq征得许可权:)
这大概是最后一次更新这篇博客了。我上一周在改书的时候尽管对文件夹小改了下,但大部分内容就是上面这样的。
期望后面一切顺利。再次感谢小伙伴们的支持。!。关于出版时间、书名和封面之类的我会在后面不断跟进的!
【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)
标签:
原文地址:http://www.cnblogs.com/mengfanrong/p/5129835.html