![4b87efd447fc0fefa8f114589361d58b.png](https://i-blog.csdnimg.cn/blog_migrate/251b804511c335593bf12d4930a0fedb.jpeg)
上一篇笔记和后面可能会有的几篇笔记,都是基于学习作者“冯乐乐”2016年出版的《UnityShader入门精要》,在这里做个说明。我从15年开始一直使用UE4引擎,得益于官方造好的马车,开了这么久却对轮子本身知之甚少,所以希望能从更底层的角度去学习渲染相关的知识。把以前美术运用的点剖解成原理,而不是像以前对于渲染技术只是知道应该这么做,而不知道为什么。也希望通过我自己记笔记的方式,能快速帮助到和我一样对渲染器,三维美术渲染有基础知识的人,了解更多渲染的原理。
万物皆数学,美术过来的同学一定要先理解这一点,把脑中抽象的概念变成坐标系,变成空间中漂浮在尘埃中的值,RGB三原色也是数字,UV坐标也是数字,它们决定了“看哪里,它的值是多少”。
这里有一个离线渲染(VRay,Octane...)和实时渲染(UE4,Unity)最不同的点,做离线渲染除非是做特效的,单纯做渲染的很少注意“坐标系”这个概念,大家只是对“顶点”“遮罩”“法线”这些名字有很深的印象,而了解“坐标系”对于运用游戏引擎很重要,渲染运算的根基在此。而常用的坐标系包括“世界坐标系”“本地坐标系”“裁切空间坐标系”“屏幕空间坐标系”“切线坐标系”,它们建立了运算的基础,相互之间可以通过矩阵变换互相转换,来让值和值在同一空间下进行数学运算。
上一节总结了兰伯特光照模