Unity5 新功能解析--物理渲染与standard shader

http://blog.csdn.net/leonwei/article/details/48395061

物理渲染是UNITY5最大的亮点之一,物理渲染的采用绝对是下一个世代游戏的热点,UNITY5的大范围使用是一个可喜可贺的事情,关于什么是物理渲染,本人曾经写过一篇博客专门讨论,详见http://blog.csdn.net/leonwei/article/details/44539217

物理渲染和当今的主流光照计算最大的区别就是,当今的lambert blinn phone基本上是基于模拟的模型,就是尽可能的去模拟我们看上去的物体反射的颜色,甚至可以说是拍脑袋的模型,用于欺骗我们的眼睛,而基于物理的光照计算则是依据了光线传播的物理特性,更加贴近于真是的光照情况,虽然在实现上还是用了一些近似计算。所以物理渲染在表现自然界的物体时尤其的看上去更加真实。

Unity5里面采用了一套全新的shader 叫做 standard shader,这套shader使用的就是基于物理的光照计算,而老的那些shaderUNITY已经不推荐使用,UNITY5认为我们大多数情况都应该使用standard shader。下图左面使用的是物理渲染,右面使用的是blinn phone,都用来表现一个很光滑的金属,没上贴图,可以明显的感觉到左侧的真实的多,这就是UNITY5给我们在图形质量上带来的提升。

我们来分析一下Standard Shader的各种参数的意义

Albedo: 这就是物体表面的基本颜色,在物理模型中相当于物体表面某处各子表面的散射颜色。

Metallic : 这相当于物理模型中的F(0),即物体表面和视线一致的面的对光线反射的能量,通常金属物体通常超过50%,大部分在90%,而非金属集中在20%以下,自然界中的物质很少有在20%-40%之间的(除非一些人造物体),正因为如此这个属性被形象的称谓metallic(金属感)

Smoonthness:这相当于物理模型中与实现一致的面占所有微面的比例,比例越大,物体越光滑,反之越毛糙,一定要区分这个和mettalic(metallic在描述对反射能量的强弱,smmothness描述表面的光滑程度),当然大所属情况下金属的smoothness都很高。

normal map:法线贴图

height map: 视差贴图,用于在法线贴图的基础上表现高低信息(法线只能表现光照强弱,而视察贴图可以增加物理上的位置的前后)

Occlution:遮挡占据贴图,用于模拟GI,物体在默写凹槽处由于受到光线的减少而显得暗,也就是自遮挡。

Emission:自发光,不过UNITY5的自发光可以在全局光照中当光源使用,非常好

secondary maps:第二道贴图

Detail Mask:对第二道贴图的mask

除了standard shader之外,unity5还提供了一个Standard (Specular setup),主要区别在于,这个shader提供了一个和albedo不同的specular的颜色,也就是漫反射和高光反射的颜色分开,而对于前者albedo控制了漫反射和高光反射,并且认为更多的光是被高光反射了,UNITY文档说对于大多数效果这两种途径基本都可以表现,而选取那种取决于你的习惯...

Unity5 新功能解析--物理渲染与standard shader的更多相关文章

  1. Unity5 新功能解析--GI(全局光)

    http://blog.csdn.net/leonwei/article/details/48009059 Unity5带来的最大的改变就是全新的GI,在烘焙引擎上抛弃了4的beast,使用了虚幻采用 ...

  2. 微信小程序0.11.122100版本新功能解析

    微信小程序0.11.122100版本新功能解析   新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...

  3. HTML5新表单新功能解析

    HTML5新增了很多属性功能.但是有兼容性问题,因为这些表单功能新增的.我这里做了一个简单的练习,方便参考.如果完全兼容的话,那我们写表单的时候就省了很多代码以及各种判断. <!DOCTYPE ...

  4. WSS存储服务器(Windows Storage Server) 2012新功能解析

    虽然最近一段时间有关微软的新闻大多数集中在Windows 8以及Surface平板设备身上,但数周之前Windows Server 2012新版本中所包含的Windows Storage Server ...

  5. 报表开发神器!DevExpress Reporting v19.1全平台新功能解析

    行业领先的.NET界面控件DevExpress Reporting全新发布了v19.1版本,本文主要为大家介绍.NET Reporting v19.1中发布的所有平台的新功能,欢迎下载v19.1试用, ...

  6. iOS10 新特性-新功能,以及ReplayKit库

    iOS的10.0 本文总结了iOS的10,运行于目前推出iOS设备推出的主要开发者相关的功能. iOS版10引入了新的方法来增加您的应用程序通过帮助系统参与在适当的时候建议你的应用程序给用户.如果你在 ...

  7. unity5.0新功能

    原作者 只待苍霞 章节1: 先来两个最关心的新功能, 第一章先讲PBS, 第二章讲光影GI.说到PBS, 首先应该想到的是Unity自带的两个新的Shader, 分别是Standard以及Standa ...

  8. 看了一下unity5.6的新功能 以及Timeline

    3月31日unity5.6发布,然而timeline(前sequence模块)被delay到unity 2017.上个星期官方又发布了unity 2017的beta版本 抽空看了下 (unity5.6 ...

  9. unity5.0新功能-布料、动画系统

    原作者:只待苍霞 这一章讲一下布料系统, 这次的布料系统有很大的改良.Unity4中, 需要对SkinnedMeshRenderer使用SkinnedCloth, 或者对Cloth Renderer使 ...

随机推荐

  1. ubuntu APT-GET工作原理

    转 http://kurenai.elastos.org/2013/05/02/ubuntu-apt-get%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86/   先介绍几个和 ...

  2. JavaBean基础转载

    JavaWeb:JavaBean基础 JavaBean基础 JavaBean简介: 1.JavaBean是一种可以重复使用的类,可以没有用户界面,主要负责业务数据或者处理事物(数据运算.操作数据库) ...

  3. .Net六大验证及使用方法

    C#包含有六种验证方式,分别为: 一.非空验证  RequiredFieldValidator. 二.对比验证 CompareValidator. 三.范围验证 RangeValidator. 四.正 ...

  4. 在Quartus II中分配管脚的两种常用方法

    在Quartus II中分配管脚的两种常用方法 示范程序 seg7_test.v 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* * ...

  5. C语言实现数组快速排序(含对算法的详细解释)

    /* 说明: 代码参考过网上代码,但分析为个人原创,本贴重在说明快速排序算法的思想和运行过程. */ 代码部分: #include<stdio.h> #include<stdlib. ...

  6. UVA 10163 十六 Storage Keepers

    十六 Storage Keepers Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit ...

  7. 关于两个php.ini的说明

    关于两个php.ini的说明     Apache 和 php下各有一个php,ini文件 D:\wamp\bin\apache\apache2.4.9\bin\php.ini用于web访问时的配置文 ...

  8. ODBC连接mysql

    配置/etc/odbc.ini 执行命令:isql freeswitch freeswitch 123456 -v 第一个报错: [08S01][unixODBC][MySQL][ODBC 5.3(w ...

  9. 卡尔曼滤波— Constant Velocity Model

    假设你开车进入隧道,GPS信号丢失,现在我们要确定汽车在隧道内的位置.汽车的绝对速度可以通过车轮转速计算得到,汽车朝向可以通过yaw rate sensor(A yaw-rate sensor is ...

  10. Populating Display Item Value On Query In Oracle Forms

    Write Post-Query trigger for the block you want to fetch the field value for display item.ExampleBeg ...