【文集】Unity:由浅入深的渲染教程

发表于2018-01-10
评论5 1.58w浏览
Unity是一款优秀的游戏引擎,它的功能之全面,流程之优化,理念之成熟深受优秀开发者的喜爱。

今天我们来介绍一个Unity渲染方面的系列教程,这一系列由浅入深详细地介绍了Unity的渲染功能,非常适合初学者:


  1. 创建立方体网格。
  2. 支持缩放、位移和旋转。
  3. 使用变换矩阵。
  4. 创建简单的相机投影。


  1. 对网格顶点进行变换。
  2. 给像素着色。
  3. 使用渲染器的属性。
  4. 将数据从顶点着色器传递到片段着色器。
  5. 检查编译后的着色器代码。
  6. 使用平铺和偏移数据对纹理进行采样。


  1. 对多张纹理贴图进行采样。
  2. 使用细节纹理贴图。
  3. 在线性空间中处理颜色
  4. 使用splat贴图。


  1. 将法线从物体空间转换到世界空间。
  2. 使用方向光。
  3. 计算漫反射和镜面高光反射。
  4. 实现能量守恒。
  5. 使用金属的工作流程。
  6. 利用Unity的基于物理规则渲染的算法。


  1. 对每个物体渲染多个光源的光照效果。
  2. 支持不同的光源类型。
  3. 使用光源cookie
  4. 计算顶点光照。
  5. 在光照计算中添加球面谐波函数(spherical harmonics)的光照。


  1. 扰动法线来模拟凹凸不平的情况。
  2. 从高度字段来计算法线。
  3. 对法线贴图进行采样和混合。
  4. 从切线空间转换到世界空间。


  1. 研究下Unity渲染阴影的方式。
  2. 投射平行光阴影。
  3. 接收平行光阴影。
  4. 添加对聚光灯和点光源的阴影的支持


  1. 对环境进行采样。
  2. 使用反射探测器。
  3. 创建粗糙和平滑的镜子。
  4. 执行盒体投影立方体贴图的采样。
  5.  反射探测器之间的混合。


  1. 创建一个自定义着色器GUI
  2. 混合金属和非金属
  3. 使用nonuniform光滑度
  4. 支持发射表面


  1. 将自身阴影烘焙到同一张材质
  2. 为部分表面添加细节
  3. 更多高效shader变体(shader variants)的支持
  4. 同时编辑多个材质


  1. 使用着色器剪孔。
  2. 使用一个不同的渲染队列。
  3. 支持半透明的材质。
  4. 合并反射和透明度。


  1. 支持剪切造成的阴影。
  2. 使用抖动。
  3. 对半透明材质造成的阴影进行近似。
  4. 在半透明材质的阴影和剪切生成的阴影之间切换。


  1. 对延迟渲染的探索。
  2. 填充几何缓冲区。
  3. 既支持高动态光照渲染也支持低动态光照渲染。
  4. 与延迟处理的反射相兼容。


  1. 给物体应用雾的效果。
  2. 基于距离或深度的雾。
  3. 创建一个基于图像的效果。
  4. 让雾也支持延迟渲染。


  1. 使用一个自定义的光源着色器。
  2. 解码低动态光照渲染的颜色。
  3. 在单独的渲染通道中添加光照。
  4. 支持方向光源、聚光光源和点光源。
  5. 手动采样阴影贴图。


  1. 进行采样并渲染到光照贴图。
  2. 让烘焙的光照能与法线贴图一起工作。
  3. 使用一个光照探测器组。


  1. 只烘焙间接光
  2. 混合烘焙阴影和实时阴影
  3. 处理代码的变化和问题
  4. 支持消减光照(subtractivelighting)


  1. 对实时全局光照的支持。
  2. 在全局光照里面对自发光的贡献做动画控制。
  3. 使用光照探测代理体。
  4. 将LOD组与全局光照结合使用。
  5. LOD不同等级之间的淡入淡出。

该系列尚未完结,作者每个月会更新一篇教程。后续文章尚在翻译、审核阶段,敬请期待!

原作者网站:http://catlikecoding.com/unity/tutorials/

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: