表面就是外表看起来的样子。我们在现实生活中所看到的,都是属于这个概念范畴。不管怎么称呼,例如外表、行为、表象、外观都是表面现象的体现。
但是当我们刨析一个对象的时候,例如一棵树,我们砍断它后,会看到内部的一点情况,例如切面,切面上的表面呈现出的是年轮。
在3D世界中,对于每种表面来说,都会有许多不同的虚拟属性。例如不同的颜色,树皮这种表面的颜色,与年轮表面的颜色就会不一样,甚至光滑度也不同。
那么模型会告诉我们形态长什么样子,表面告诉我们组成形态需要我们知道哪些额外的因素。
如果一个形态增加了表面,那么成像看起来就更逼真。事实上,表面能够提供更多的信息给我们,在通常情况下会给人一种更盲目的可信度。
在 Blender 种,一个对象的表面由2个属性集合来描述:
1.素材
2.纹理
素材包含了许多基础的虚拟表面属性,但是不带有纹理效果。纹理则是当光线照到物体上呈现的一种效果。那么当光找到表面上会有哪些考虑的事情?
1.是否就会表现出物体本身该有的光泽呢?
2.粗糙还是光滑?
3.是否有反光的效果?
4.是否有透明度效果,也就是明暗关系?
5.看起来奶白色?还是肤色?
6.物体本身是否吸收一些光呢?
7.表面是否会散射一些光呢?
8.散射出去的光是否会再被物体吸收一点呢?
这些问题都会再处理表面时作为考虑的事项。
对于 Blender 自带的一些基础素材来说,都会具有一些仿真程度。虽然看起来依然还是假的,但还是能想到是一种物体。
素材的许多属性有什么用呢?例如:
1.颜色:提供了在白光下的基础表面色。
2.阴影:光线影响表面的一种方法。那么处理阴影时会考虑一些问题,例如:多少光线会对表面产生吸收和反射的效果呢?照射进来的光线角度与观察物体的角度分别是多少度的时候,会看起来不同?各种不同的阴影模型都可以用来贴合现实生活中所看到的事物效果。
3.透明度:一个物体的表面是否存在透明效果。透明度会直接叫做 Alpha 这种术语,在 Blender 中名字是 Z-transparency 来快速实现透明度的渲染。另外一种计算透明度的方法叫做射线追踪法,虽然要花更多的耗时,但效果会更逼真一些,并且能够模拟折射效果。
4.反射:就是一个物体的表面是否看起来像镜子一样。
5.散射:在现实生活中,什么样的东西会有散射效果呢?例如:皮肤、玉器、或者一个鲜滑的土豆,常常我们会简写成 SSS 来描述表面散射。当光线照射到素材上,散射就会发生,可能会产生变色的效果。一个简单的实验就是在黑夜中你用手电筒照射你的手指,你就会看到皮肤表面的散射效果。
这么多的素材属性作用在一个物体上的时候,就是光对物体的一个总体作用效果。纹理能够帮助定义这些属性在表面上的差异,所以纹理相当于把一幅图片贴在一个表面上,那么在表面上就会产生许多高低不平的现象。又或者产生透明度的明暗关系变化,等等诸如此类的效果。
在现实生活中留心观察一个物体,会对你有帮助,帮助你知道把哪些素材与纹理组合在一起来呈现一个对象的表面,从而让产品变得更逼真。
用你的大脑去想象来制作3D产品,都是不实际的野路子。