第四章主要介绍分析真实世界中某些常见材质的特性与细节,作者提醒我们应该时刻关注大自然真实世界中材质的特点,加强自己的思考与敏锐的观察力和感知力对渲染实现很有帮助。
作者主要对如下材质进行了分析:
塑料
木头:树,木材,被油漆过的木材
叶子和植物
金属
混凝土和石头:混凝土,砖石,自然界的石头
皮肤
头发和毛发
大气
半透明材质:玻璃,水
油漆
旧的磨损的材质

塑料


 
塑料有很多种颜色形状甚至有的上了不同的漆,但是它的材质构成是一致的。
大部分塑料由白色或半透明的基质构成,这些基质充满了染色粒子,像下图这样
 
当光照射到塑料物体上时,一些光在最边上的表面反射,在一些特别的角度我们会看到光的颜色(高光点)并且部分变为白颜色(塑料基质的颜色)。一些光穿透物质并且从染色粒子处反射,这些粒子将会吸收部分波长的光,并且反射,吸收的光的颜色我们看不到的,我们看到塑料的颜色全都是染色粒子反射的光。这个效果在光滑的塑料上非常明显。
在粗糙的塑料表面上光的穿透和反射不怎么均匀,此时的高光(镜面反射)范围很大而且亮度很淡,这由两个原因产生:
1.粗糙的平面反射方向不相同,恰好被眼镜吸收的反射光少了许多
2.因为平面粗糙,所以有细小的凹凸,有凹凸就会在表面上产生阴影,这些表面上凹凸产生的小阴影阻挡了入射光线
塑料的高光颜色来自基质的颜色,所以基本上是灯光&基质(白/半透明)的颜色

木头

木头有很多种形式,森林里的树,家里的地板等等。


 
 
 
渲染树最重要的的就是渲染树皮和暴露的木头,在自然界中树皮因为树的生长而变得粗糙。树皮的所有细节都来自其几何构造,因为树皮的开裂和翘起而产生明暗关系,翘起的树皮会带来阴影并且产生暗部,开裂的树皮内部收不到光线而变得黑暗。如果此时的树皮贴图取自真实的树的画切记要处理掉阴影和高光部,否则在游戏中会带来错误的结果。
还可能会有地衣苔藓等使粗糙度变得不同
树皮的颜色也不统一,比如说桦树,如下图,一个树的树皮的颜色存在不一致,粗糙度也不相同,加一个额外的光泽度贴图可以解决这个问题
 
另外想要模拟树的裂痕和翘起的几何处理也很简单,就是曲面细分加上displacement texture

木材


 
 
在木材的渲染中最值得注意的就是木材的纹理,可以通过对颜色的改变,比如一张贴图来简单的实现纹理,但是纹理包含有很多特性,在纹理处会有更多的凹凸和皱纹。其他地方的光泽度和粗糙度也各不相同(也许是因为树液和树油浓度不同分布不均导致)。
木材是有一定程度的各向异性的,纹路的方向影响光反射的方式。

被油漆过的木材


一般的家具和地板都是被油漆过的木材,这种材质保留了木材原本的颜色,但是却有着光滑的表面能够反射大量光线,被亮光漆反射的光线比木材要多得多。不同的亮光漆有不同的反射颜色和效果。
光泽度能体现一个材质的新旧,使用程度和质量,可以用一个变量来调节亮光漆的反射和原木的比重来反映油漆木材的新旧程度。但是如果此时木材很旧的话,注意木材颜色贴图也要做的很旧。

叶子和植物

就像树皮一样,渲染植物也不止是一张颜色贴图那么简单。它们存在叶脉和褶皱,大多数的叶子是一面光滑一面粗糙的,粗糙的一面甚至还有一些细小的绒毛相互影响光照的计算

大多数的叶子和植物是半透明的,光能穿透照射到植物和叶子内部,导致植物和叶子内部反射、折射和吸收光线,产生了一种有趣的现象叫做次表面散射,使光照在叶片的背面,我们能从正面看到叶片的内部结构。

Unity3d shader之次表面散射(Subsurface Scattering)

当初在枝繁叶茂的雨林之中,大量的叶片挡住了许多光照,内部昏暗,此时抬头看到被光照到的叶子是明亮发绿的,说明还是会有部分光照穿透叶片照射下来,此时的光携带了叶片的颜色,所以当时的光照氛围是发绿的。

Unity3d 真实的植物渲染

金属

无绣的金属与塑料非常像,他们的表面都很光滑,所以高光都很强。但是他们不同的是,金属是电介质材质,塑料是非电介质材质,金属的反光更多的是自己本身的颜色,而塑料高光更多的是光照的颜色。如下图比较,看下面对地板的反射,金的反射是金色,黑色塑料的反射还是地板的白颜色。
 
二者的两外一个重要的区别是金属没有像塑料一样的的基质,除非在金属表面粉刷亮光漆之类的。
另外,不同的金属的反射光线的方式也不同,因为他们的分子结构不同,所以他们在微观级别的反光不同。这种结构会导致金属反光因反光颜色的不同而不同。相同物质的表面处理不同反光方式也不相同,比如光滑的钢和打磨过的钢,如下图。
 

混凝土和石头

混凝土


 
 
混凝土是由多种矿物和石头组成的,是一个复合材质,所以他们有不同的粗糙度和表面构造,并且存在大量的凹凸,产生许多小阴影,光源位置改变时,阴影也会随之改变,这又要注意取贴图的问题,切记在真实世界中取贴图要去掉高光,阴影,和当时光照颜色,还原最本真的材质。

比较常见的是红砖石,表面依旧凹凸不平,并且每块砖的颜色都不相同。

自然界的石头

自然界的石头包含上面所说的的特性,不同的石头能给玩家带来处在真实环境中的感觉。
有些游戏为石头建立的面数很低,这是不对的,因为真实石头的细节同时存在于几何和着色。

皮肤

皮肤渲染要在游戏中给人带来尽可能真实的效果,让玩家感觉就像在和真实的人互动一样,人皮肤的颜色基本上一致,有些地方会因为油脂的分布和褶皱、毛孔等存在表面结构的不同,和叶子一样也存在次表面散射现象。

Unity3d 屏幕空间人体皮肤知觉渲染&次表面散射

大气效果

博主感觉这个不应该放到材质里讲。。。
大气效果与游戏氛围息息相关,我们可以通过控制大气颜色,色调,浓度来传达游戏此刻的状态与氛围

unity3d shader之实时室外光线散射(大气散射)渲染

半透明材质

半透明材质存在反射,折射与色差现象。

Unity3d BTDF实时折射模拟有粗糙度的半透明物体

色差:光学玻璃的折射率随通过的光波的波长变化而变,它对短波长的光的折射率比长波长的折射率更大,当白光通过三棱境时,我们可以观察到彩虹光谱。由对波长的折射率不同而引起的彩虹光谱称之为色散现象(Dispersion)。
 
效果是这样的:
 

玻璃

反射,折射,还需要考虑厚度对折射的影响
光滑的玻璃会反射周围环境,光线反射的数量与到眼睛方向的角度有关,对于曲面玻璃,比如高脚杯,远离眼睛的两侧(靠左右)比靠近眼睛的一侧(前面)反射程度更强
 

磨砂玻璃与光滑玻璃的表面粗糙度不同,反射效果也不同
 

除了对流体波动的处理,水与糖浆是不同的。还要注意水会产生焦散现象。清澈的水,浑浊的水,表面上漂浮着油之类的浑浊物。
对于江河湖海,要处理眼睛与水的距离,离得近颜色改变,清澈见底,离得远只能看得见颜色。

Unity3d PBR海水渲染

unity3d 制造自己的水体water effect(二)

unity3d 制造自己的水体water effect(一)

旧的材质

总结如下:磨损,擦痕,颜色变化,锈迹斑斑,性状改变

近期更新下一章

博主近期渲染:

2016的渲染

2015后半段的渲染

---- by wolf96   http://blog.csdn.net/wolf96

进阶光照与材质之物体和材质相关推荐

  1. Opengl-光照-基本光照-材质(有了材质一个物体才算是完整了)

    在现实世界里,每个物体会对光产生不同的反应.比如说,钢看起来通常会比陶瓷花瓶更闪闪发光,木头箱子也不会像钢制箱子那样对光产生很强的反射.每个物体对镜面高光也有不同的反应.有些物体反射光的时候不会有太多 ...

  2. 【Unity3D】材质 Material ( 材质简介 | 创建材质 | 设置材质属性 | 对 3D 物体应用材质 | 资源拖动到 Inspector 检查器中的 Material 属性中 )

    文章目录 一.材质 Material 简介 二.创建材质 三.设置材质属性 四.对 3D 物体应用材质 五.资源拖动到 Inspector 检查器中的 Material 属性中 一.材质 Materi ...

  3. 【Unity3D】物体、材质的设置、物体位移与旋转

    Unity3D和Flash一样,甚至可以说是和C#一样,拖完组件,再写一系列的脚本,完成编程,甚至可以说,就是带编程脚本的3DSMAX.那么如何完成最基本的物体.材质的设置.物体位移与旋转呢?下面用一 ...

  4. maya中使用python获取所选物体的材质和贴图

    主要是ls和listConnections的标志的用法: import maya.cmds as cmds# 获取所选物体的材质 sl_mesh = cmds.ls(dag=1,selection=T ...

  5. 我的世界网易怎么下载java材质包_我的世界中国版材质包怎么用 材质包设置

    我的世界中国版材质包怎么用?材质包设置.在我的世界中国版游戏中,玩家们不但可以和小伙伴们一起联机游戏,也可以自己添加模组和材质包等组件,选择自己喜欢的模组生存.但是我的世界中国版才公测没多久,很多小伙 ...

  6. 3dmax材质丢失插件_3dmax插件排行|室内设计师效果图用疯狂模渲大师,怎么把cononra材质转换成vray材质?...

    3dmax插件排行|室内设计师效果图用疯狂模渲大师,怎么把cononra材质转换成vray材质? 这次食住玩讲的是第九章的第6节,3dmax疯狂模渲大师材质篇的第6课--"常用UVW&quo ...

  7. 3dmax:3dmax三维动画之各种材质参数化设置(白色、地砖瓷器、木材质、布艺、塑料、不锈钢(转Vr质)、玻璃、水、Vr发光材质、Vr覆盖材质)、图文教程之详细攻略(切记收藏!)

    3dmax:3dmax三维动画之各种材质参数化设置(白色.地砖瓷器.木材质.布艺.塑料.不锈钢(转Vr质).玻璃.水.Vr发光材质.Vr覆盖材质).图文教程之详细攻略(切记收藏!) 目录

  8. maya 阿诺德水晶材质_MAYA阿诺德基础材质(冰块材质)MAYA学习笔记

    冰块材质是透明的,有很高的高光.有折射.有一定的焦散. 创建一个阿诺德基础材质球. 冰块材质是透明的.没有颜色,所以没有表面颜色.,在漫反射(diffuse)里把颜色(color)设置成黑色. 在高光 ...

  9. 家用计算机中PCB板材质,PCB电路板依材质可分几种?

    原标题:PCB电路板依材质可分几种? pcb电路板常应用于家用电器.电视机.收音机.手机.电脑.数码等电子产品,相信这些产品大家都不陌生,那么pcb电路板主要有哪些材质以及应用?下面我们来详细介绍;p ...

最新文章

  1. golang fmt包Printf 格式化输出 简介
  2. 记一次LAMP环境搭建
  3. java linux download
  4. feign调用第三方接口_讲一个你不知道的事:SringCloud的feign的继承特性
  5. 驱动api_消费者驱动契约已死?
  6. php计时器每过24小时结果加一倍,单片机时钟24小时慢了21.5秒 如何修改初值校正呢?...
  7. yaml文件解析:nodejs篇
  8. cdh Cannot access: user/hive/warehouse. Note: you are a Hue admin but not a HDFS
  9. 李永乐2021线代讲义练习题答案
  10. 三层vxlan原理_【老衲推荐】VXLAN技术在园区网的应用探讨
  11. C# 公历日期时间转农历日期方法 注解解读
  12. 锐捷设备AC虚拟化(VAC)
  13. 微信小程序开发-多条件搜索tab展示
  14. 不使用redis,在前后端分离项目的条件下将验证码进行储存
  15. HTML/XML转义字符对照表
  16. 北卡教堂山计算机专业排名,2019上海软科世界一流学科排名计算机科学与工程专业排名北卡罗来纳大学教堂山分校排名第17...
  17. 制作uefi的kali安装盘_UEFI GPT win8.1(64位)环境下通过U盘安装kali linux(1.0.9 amd64版本)到硬盘...
  18. UWB定位技术与其他定位技术比较
  19. RTOS 系统篇-统计任务的 CPU 使用率
  20. 电脑回收站删除的文件如何找回呢?

热门文章

  1. 深入浅出matplotlib(59): 理解pcolormesh ()函数的使用一
  2. CURLINFO_HTTP_CODE 505 PHP
  3. Web登录其实没那么简单
  4. bugku——抓住一只苍蝇
  5. spring tool suit4
  6. Docker Desktop无法正常启动(failed to start...)
  7. 安徽计算机水平模拟考试系统准考证号 准考证打印
  8. 使用Google Assistant智能助理与您的Arduino对话并进行控制
  9. 零基础创作专业wordpress网站05-将主页面设置为主页
  10. 物联网设备WIFI模块实现