在Blender中通过法线贴图和顶点位移实现石块地面的凹凸感
发表于2018-08-13
为了让地面场景更加的真实,在开发的过程中可能会给地面增加一些凹凸感。那下面就来看看在Blender中通过法线贴图和顶点位移实现石块地面的凹凸感的方法。
先看最终效果:
这个地板在mesh层面其实就只是一个切割(Subdivide)了很多次有很多顶点的Plane:
其实如果只加法线贴图而不做顶点位移的话,一个只有四个顶点的Quad也可以。
添加颜色贴图(可通过3DView的TextureMode查看贴图应用效果):
和法线贴图:
注意贴图要做些设置才能成为法线贴图:
并且要选择GLSLShading才会有法线贴图的效果:
不过法线贴图的缺点是,当视角很平的时候,凹凸感就非常微弱甚至会消失,因为法线贴图呈现的凹凸感是靠光照“做假”呈现的:
为了解决这一问题,需要采用顶点位移(Displacement)实现顶点层面的真正凹凸。因此我给planesubdivide之后,又加了Subsurf、Displace和Smooth三个Modifier。
Subsurf是为了在渲染时细分出更多的顶点,类似曲面细分技术(Tessellation),只不过Tessellation是动态的,相比之下更加能节省资源。
Displace是为了根据凹凸贴图上的高度信息对顶点进行上下位移,实现真正的凹凸感。当然,为此还需要一张凹凸贴图:
Smooth顾名思义是为了平滑,不加平滑的话效果会是这样:
有点恐怖。
加上顶点位移之后,以平视角去看地板也会有凹凸感了,而且凹凸感会比只有法线贴图时更强(见文章开头):
这是因为这个mesh本身已经有了凹凸,不再是一个光滑的plane了:
来自:https://blog.csdn.net/zzxiang1985/article/details/55518463