刚开始也不知道什么是pbr (Physically Based Rendering)后来才发现这是一种新的渲染方式

与之对应的是材质是pbs(Physically Based Shader)

unity中的pbs有两种,一种是金属度的,一种是反射的,

具体前者可以做金属泥土之类,后者用于其他非金属的,但是这不绝对,前者也能做布料木头之类

最终使用还是要看艺术效果

(unity中金属度pbr材质)

(unity中反射流程pbr材质)

PBR做法

albedo map 无光颜色贴图
normal map 法线贴图 
metallic map 金属度贴图 或者specular map 高光贴图

roughness 粗糙度贴图

3.19.2016内容纠正和更新

(unity中普通材质)

传统做法
diffuse mapping 颜色贴图
specular map 高光贴图
normal map 法线贴图

在PBR流程下,游戏中场景将更加符合自然,对于光照的计算也更符合现实。将在以后离线渲染和实时渲染中占据主流,单一材质能模拟出更多现实中的特性

当然在国内这种框架还不是很流行,大部分还是采用传统的方式进行制作。PBR流程和传统区别就是不再使用Specular Map
在PBR里是glossness(光泽 可以理解成高光粗糙度)和metallicity(金属),后面两张基本都是灰度图,需要在游戏引擎中调节效果,据其他网上说法“一般公司会根据项目发一张材质球的表,Albedo ,glossness,metallicity的值的范围都在上面,根据物品的物理属性来调整就行。”
贴图的流程有了新的变化,模型流程没有多少变化

当然这里要说的是unity5,默认材质其实就是使用的pbs,最明显特征是使用了Metallic,金属贴图(这个在unity里可以通过选择shader Standard Specular setup来使用反射版本pbr)也可以继续使用Legacy旧版非pbr材质

现在说下unity5贴图
http://docs.unity3d.com/Manual/StandardShaderMaterialParameters.html
albedo相对于diffuse map 但不相同
固有色贴图(Albedo map)不需要光照信息,看起来更平,没有高光点,大多也不需要叠加AO和那几张黑白边,只需要给出物体表面固有颜色和很浅的纹理而已,一张光泽度贴图(GLOSS map)来表现物体粗糙度(只和粗糙度有关),越粗糙越黑反之越白,一张SPECULAR map 来表现物体固有反光能力的,这个只和材质有关,不同的项目会给出不同的材质的高光色值范围

Metallic 灰度图,就是pbr中特殊的,可以说是金属的感觉吧
normal map 主体蓝色的,法线贴图
height map 是灰度图 这里指的是视差贴图( parallax mapping),当然也可以放凹凸贴图(bump map)或者置换贴图(displacement map)

http://docs.unity3d.com/Manual/StandardShaderMaterialParameterHeightMap.html
这个简单说就是能更好增加凹凸感,这个概念很想法线贴图,但是技术更加复杂,
Occlusion map是灰度图 这个用来保护高光和间接照片照到的地方,间接照明来自环境光和反射光,

Emission 彩色贴图 自发光贴图 控制表面光发射 这个选项也会影响到附近的物体,但是要设置lighting里面是realtime,如果是baked动态物体将不接受光照 其实要看到效果必须加light probe 然后发光的物体要static才能看到,否则只能靠脚本刷新或者其他方式才能看到了

Detail Mask 细节图片的遮罩
Secondary Maps
Detail Albedo 细节颜色贴图
Normal Map 细节的法线贴图
这三个其实是一组为了再放大物体时能看到物体的细节层次,比如做皮肤的毛孔贴图之类,放在这里贴图一般使用repeat并且重复很多次才能达到细节效果

有两种流程可以自己选择
反射流程

金属度流程

混用也没问题,当然金属度还是反射材质没有绝对的使用选择
具体看这里
http://blogs.unity3d.com/2015/02/18/working-with-physically-based-shading-a-practical-approach/
还有画贴图工具

substance

http://quixel.se/

既然说到了pbr那再结合下色彩空间

linear和srgb,HDR区别
人眼有光线自适应的特性,这样也是能让人在暗的场景里看到更多东西,在亮的场景里能分辨更多东西,这种效果一般从电影院这样昏暗的场所里走出来更能体会,眼睛会有一个慢慢适应的过程。现在摄像头一般也会自适应曝光度,但是工业需求的有些还是需要不自动的,三维渲染之中,如果把这种真实完全模拟的图像给人眼看到,会感觉比我们人眼看到灰暗的多,所以一般会在硬件方面做一个反曲线最后变成srgb的色彩空间让人看到。

游戏引擎里面最终效果给人看到,当然是这种强化过的适应人眼的色彩空间,但是我做光照计算和贴图就不行,因为会由于多次的色彩强化导致最终画面强烈失真,这时候就是需要linear的色彩空间,计算时候用真实色彩,直到输出这一步把色彩强化一遍以适合人眼。unity很早就是linear的色彩空间,但是由于后期最后一部的矫正方面很多从业人士的素养不足,或者完全没有这个意识,做出来的效果完全是不正确,或者缺乏调整弹性的。而unreal则在工作流上面几乎是整合和后期的色表,去解决这个问题。

而HDR是模拟人眼的过程,能看到更广范围的光(就是亮的时候能更亮瞎),HDR图像的一般色域也超过普通的RGB色域(但也可以不超过)。HDR在unity中需要勾选摄像机上的HDR选项和使用延迟渲染deferred才能(否则会有滤镜提示The camera is not HDR enabled 这是没使用延迟渲染),要看出效果还要加个bloom之类的

(对照图 在延迟渲染模式和HDR下加Tonemapping(effects里面的))

关于unity里pbr技术和材质 unity5默认shader和传统的对比的更多相关文章

  1. Unity User Group 北京站:《Unity5.6新功能介绍以及HoloLens开发》

    ​时间一转眼从春天来到了初夏,Unity User Group(以下简称UUG)活动也迎来了第七期.我们面向Unity3D开发从业者以及未来想从事Unity3D开发的学生群体的UUG活动这次仍然在海淀 ...

  2. 【Unity Shaders】Unity里的雾效模拟

    写在前面 熟悉Unity的都知道,Unity可以进行基本的雾效模拟.所谓雾效,就是在远离我们视角的方向上,物体看起来像被蒙上了某种颜色(通常是灰色).这种技术的实现实际上非常简单,就是根据物体距离摄像 ...

  3. 关于Unity中的几何体,材质和FBX模型

    一.创建几何体的类型 1: 创建平面 Plane;2: 创建立方体 Cube;3: 创建球体 Sphere;4: 创建胶囊体 Capsule;5: 创建圆柱体 Cylinder;6: 3D文字 3D ...

  4. Unity光滑与粗糙的材质——相似于生锈的金属表面

    纹理是在Photoshop中制作的,终于效果则是在Unity里得到的.这样的类型的材质.在3D游戏中非经常见.

  5. Unity里的人物驱动/换装备/换武器/换衣服/卡通重定位(转)

    Unity里的人物驱动/换装备/换武器/换衣服/动画重定位 刚学的过程被这个问题困扰最多. 首先,基本的,大家都知道驱动人物需要骨架.绑骨的Mesh和动画(这三个要是不知道的话就得考虑看看计算机图形学 ...

  6. Unity内存优化技术测试案例

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  7. Unity游戏开发技术的最佳实践

    活动详情   作为全球规模最大的Unity开发者聚会,历年的Unite大会都成为开发者们获取Unity最新技术知识,交流开发经验,把握行业发展脉搏,体验全球前沿科技与高品质Made with Unit ...

  8. Unity5.x shader打包AssetBundle总结

    最近比较忙,好久没有更新博客了,新项目切换到unity5.x后使用了新的打包机制,在打包shader的时候遇到了一些问题,这里来记录一下吧. 在上一个项目中,我们使用unity4.7,对于shader ...

  9. 关于Unity中GrabPass截屏的使用和Shader的组织优化

    GrabPass截屏 可以用来截屏,截屏后把纹理传给下一个通道使用. 1:使用抓屏通道, GrabPass {} 或 GrabPass { “ 纹理名称”}; 使用GrabPass {}后,可以用_G ...

随机推荐

  1. excel 2016 for mac破解

    1: 首先去官网下载一个正版的: 2:再下载一个破解工具: 链接: http://pan.baidu.com/s/1i4AFHFf 密码: 3yf8 3:最后按照破解教程破解: http://jing ...

  2. ​学会用各种姿势备份MySQL数据库

    学会用各种姿势备份MySQL数据库 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复 ...

  3. Hitcon 2016 Pwn赛题学习

    PS:这是我很久以前写的,大概是去年刚结束Hitcon2016时写的.写完之后就丢在硬盘里没管了,最近翻出来才想起来写过这个,索性发出来 0x0 前言 Hitcon个人感觉是高质量的比赛,相比国内的C ...

  4. CentOS7.x使用overlay文件系统

    https://www.cnblogs.com/yufeng218/p/8370670.html http://www.cnblogs.com/lehuoxiong/p/9908118.html ht ...

  5. Spring Cloud与Docker微服务架构实战 PDF

    电子版百度云下载 链接: https://pan.baidu.com/s/115u011CJ8MZzJx_NqutyTQ 提取码: 关注公众号[GitHubCN]回复2019获取 本书的代码 共计70 ...

  6. HNOI2019滚粗记

    HNOI2019滚粗记 标签: 游记 Day -1 在学校打摆被抓. Day 0 在家打摆. Day 1 来长沙理工大学打摆 开场看完题之后,感觉T3不太可做,然后T1T2又显得特别套路,然后把T2 ...

  7. 【LOJ】#2526. 「HAOI2018」苹果树

    题解 这计数题多水啊我怎么调了那么久啊 我不想老年化啊QAQ (注意这里的二叉树带标号) 考虑\(g[i]\)表示\(i\)个点二叉树所有节点的深度和,\(f[i]\)表示\(i\)个点的二叉树两两节 ...

  8. homestead实现外部局域网络其他主机的访问

    转载自:https://blog.csdn.net/u013659696/article/details/78455362 homestead 2.0 MAC环境 修改Homestead目录下的Vag ...

  9. All Friends 极大团

    搞懂了什么是团  什么是极大团  什么是最大团 极大团就是  不是任何团的真子集  最大团就是点数最多的极大团 这题就是求极大团的个数 用bk算法 #include <iostream> ...

  10. 【LeetCode】142. Linked List Cycle II

    Difficulty:medium  More:[目录]LeetCode Java实现 Description Given a linked list, return the node where t ...