Unity5 新功能解析--物理渲染与standard shader
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的更多相关文章
- Unity5 新功能解析--GI(全局光)
http://blog.csdn.net/leonwei/article/details/48009059 Unity5带来的最大的改变就是全新的GI,在烘焙引擎上抛弃了4的beast,使用了虚幻采用 ...
- 微信小程序0.11.122100版本新功能解析
微信小程序0.11.122100版本新功能解析 新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...
- HTML5新表单新功能解析
HTML5新增了很多属性功能.但是有兼容性问题,因为这些表单功能新增的.我这里做了一个简单的练习,方便参考.如果完全兼容的话,那我们写表单的时候就省了很多代码以及各种判断. <!DOCTYPE ...
- WSS存储服务器(Windows Storage Server) 2012新功能解析
虽然最近一段时间有关微软的新闻大多数集中在Windows 8以及Surface平板设备身上,但数周之前Windows Server 2012新版本中所包含的Windows Storage Server ...
- 报表开发神器!DevExpress Reporting v19.1全平台新功能解析
行业领先的.NET界面控件DevExpress Reporting全新发布了v19.1版本,本文主要为大家介绍.NET Reporting v19.1中发布的所有平台的新功能,欢迎下载v19.1试用, ...
- iOS10 新特性-新功能,以及ReplayKit库
iOS的10.0 本文总结了iOS的10,运行于目前推出iOS设备推出的主要开发者相关的功能. iOS版10引入了新的方法来增加您的应用程序通过帮助系统参与在适当的时候建议你的应用程序给用户.如果你在 ...
- unity5.0新功能
原作者 只待苍霞 章节1: 先来两个最关心的新功能, 第一章先讲PBS, 第二章讲光影GI.说到PBS, 首先应该想到的是Unity自带的两个新的Shader, 分别是Standard以及Standa ...
- 看了一下unity5.6的新功能 以及Timeline
3月31日unity5.6发布,然而timeline(前sequence模块)被delay到unity 2017.上个星期官方又发布了unity 2017的beta版本 抽空看了下 (unity5.6 ...
- unity5.0新功能-布料、动画系统
原作者:只待苍霞 这一章讲一下布料系统, 这次的布料系统有很大的改良.Unity4中, 需要对SkinnedMeshRenderer使用SkinnedCloth, 或者对Cloth Renderer使 ...
随机推荐
- wpfのuri(让你完全明白wpf的图片加载方式以及URI写法)
绝对 pack WPF URI pack://application:,,,/是协议:“,,,”是“///”的变体 1.资源文件 — 本地程序集 Uri uri = new Uri("pac ...
- flume+hadoop
摘自:http://www.kankanews.com/ICkengine/archives/130646.shtml
- 【Java】常见的Set类型,HashSet、TreeSet、LinkedHashSet
HashSet,锋芒毕露,我们最常用到.其他两个,我们较少用到,今天,我们看看他们的区别. import java.util.HashSet; import java.util.Set; public ...
- 关于stl string find 容易犯的一个错误
有时候经常会判断一个字符串a中是否有子字符串b,那么有人会调用 string::find这个函数 这个函数返回子字符串首次出现的位置,那么有人会这样写 string str1 = "&qu ...
- T-SQL over()函数在单个表中的聚合
Sales.OrderValues是一个视图,在这里作为测试表. 现在想实现,每个订单的数据行新增两个列,totalvalue(所有订单的总金额),custtotalvalue(当前订单的custid ...
- [转]-Android Studio 快捷键整理分享-SadieYu
文章编辑整理:Android Studio 中文组 - SadieYu Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 ...
- iOS - Swift 与 C 语言交互编程
前言 作为一种可与 Objective-C 相互调用的语言,Swift 也具有一些与 C 语言的类型和特性,如果你的代码有需要,Swift 也提供了和常见的 C 代码结构混合编程的编程方式. 1.基本 ...
- iOS - Swift 异常处理
前言 在 Swift 1.0 时代是没有异常处理和抛出机制的,如果要处理异常,要么使用 if else 语句或 switch 语句判断处理,要么使用闭包形式的回调函数处理,再要么就使用 NSError ...
- Redis基础知识之—— hset 和hsetnx 的区别
命令参数:HSET key field valueHSETNX key field value 作用区别:HSET 将哈希表 key 中的域 field 的值设为 value .如果 key 不存在, ...
- Spring 自动装配 Bean
Spring3系列8- Spring 自动装配 Bean 1. Auto-Wiring ‘no’ 2. Auto-Wiring ‘byName’ 3. Auto-Wiri ...