Unity渲染(一)

前言:渲染是个老大难


去掉渲染效果

  • 搭建一个简单模型,其他都是默认设置如图:


    Unity渲染(一)_第1张图片
  • 选择Linear颜色空间
    1)点击PlayerSetting


    Unity渲染(一)_第2张图片

    2)Other Settings里Color Space选择Linear(以前的显示屏都是CRT设备,准备的颜色需要比原来更亮,最终显示在屏幕上才是正确的颜色,所以有了Gamma颜色空间;而如今的屏幕都是LCD设备,什么颜色输出就是什么颜色,所以有了Linear颜色空间)


    Unity渲染(一)_第3张图片

    3)颜色空间对比:
    Unity渲染(一)_第4张图片
    Gamma颜色空间

    Unity渲染(一)_第5张图片
    Linear颜色空间
  • 去掉环境光
    1)Window菜单>>Lighting>>Settings


    Unity渲染(一)_第6张图片

    2)Environment Lighting>>Source>>Color


    Unity渲染(一)_第7张图片

    3)效果:
    Unity渲染(一)_第8张图片
  • 去掉环境反射
    1)Environment Reflections>>Source>>Custom


    Unity渲染(一)_第9张图片

    2)效果:


    Unity渲染(一)_第10张图片
  • 去掉天空盒
    1)Skybox Material>>Select Material>>None


    Unity渲染(一)_第11张图片

    2)效果:


    Unity渲染(一)_第12张图片
  • 去掉摄像机上的背景色
    1)选中主摄像机,Camera>>Clear Flags>>Solid Color


    Unity渲染(一)_第13张图片

    2)颜色选黑色


    Unity渲染(一)_第14张图片

    3)效果:
    Unity渲染(一)_第15张图片
  • 去掉太阳光的颜色
    1)选中平行光,Light>>Color>>白色


    Unity渲染(一)_第16张图片

    2)效果:


    Unity渲染(一)_第17张图片

继续分析

上面我们已经把最开始Unity给我添加的一些东西给去除了,接下来分析拆掉他们之后的场景

  • 使用Frame Debugger(Frame Debugger可以帮助你更好的分析绘制的顺序,以及每一帧都绘制了哪些东西)


    Unity渲染(一)_第18张图片
  • 点选Enable进行分析


    Unity渲染(一)_第19张图片
  • 渲染的过程是先得到深度图,再得到影子,再把物体的颜色画上去


    Unity渲染(一)_第20张图片
    深度图(越靠近Camera的地方会越白,越远的地方会越黑)

    Unity渲染(一)_第21张图片
    影子

    Unity渲染(一)_第22张图片
    画物体的颜色
  • ShadowMap
    1)选中Shadows.RenderShadowMap,可以看到Game视图是4分格的ShadowMap(分别代表4个不同距离的ShadowMap--根据物体离摄像机的远近构成的黑白不同的图)


    Unity渲染(一)_第23张图片

    2)Edit菜单>>Porject Settings>>Quality


    Unity渲染(一)_第24张图片

    3)Shadow Cascades>>Four Cascades(这里选择的是4分格所以game视图显示的ShadowMap是4分格,可以调整成其他分格)
    Unity渲染(一)_第25张图片

    4)摄像机能够渲染的最远影子的距离
    Unity渲染(一)_第26张图片

5)根据你的分格,根据下面的距离比例进行分割成4个不同距离的ShadowMap


Unity渲染(一)_第27张图片
  • 颜色绘制的过程
    1)为了方便观察,我们新建两个材质球,一个蓝色给地板,一个红色给墙面


    Unity渲染(一)_第28张图片

    2)颜色绘制过程,清空--画出墙面颜色--画出地板颜色


    Unity渲染(一)_第29张图片
    清空

    Unity渲染(一)_第30张图片
    画出墙面颜色,这里用到动态批处理(Dynamic Batch),所以是三个墙面一起绘制的颜色

    我们可以设置动态批处理,Edit菜单>>Project Settings>>Player
    Unity渲染(一)_第31张图片

    Other Settings>>Dynamic Batching


    Unity渲染(一)_第32张图片

    Unity渲染(一)_第33张图片
    画出地板颜色

让物体显得有层次

1)首先将物体的帧绘制选中最后一个绘制帧,可以发现中间的阴影部分没有层级感


Unity渲染(一)_第34张图片

2)增加层次感
1)Window菜单>>Lighting>>Settings


Unity渲染(一)_第35张图片

2)方法一:添加天空盒+添加来自Skybox的环境光


Unity渲染(一)_第36张图片

3)方法二:添加天空盒+添加来自Skybox的环境反射


Unity渲染(一)_第37张图片

4)方法一+方法二:添加天空盒+添加来自Skybox的环境光+添加来自Skybox的环境反射


Unity渲染(一)_第38张图片

最后:此节我们学习了Unity中一个最简单的场景所绘制的有哪些东西,以及一些渲染的设置

你可能感兴趣的:(Unity渲染(一))