你将会学到如何制作水面上相互交错的涟漪。这里用了多个水的纹理。这些纹理被分层次的提供给 BUMP NODE 来产生涟漪。通过把纹理指定给 color offset 来产生水面上的涟漪。这篇论文是先前一篇论文( Texture Mapping Aoffsets" by Erik NOTEboom, alias ASSISTANT, LSSUE#14) 的提高篇。
步骤1
打开 Hypershade 窗口,建立一个 BLIN 材质接点
打开blin的属性编辑器。
设置 COLOR =light blue
指定一个 water texture=bump mapping
把这个纹理更名为 ripple.

步骤2
建一个 NURBS PLANE ,缩放他使他和透视图中网格大小差不多。
加一盏方向光使之能照亮平面。指定BLIN给平面。

步骤3
在RIPPLE的属性编辑器设置如下:
Wave Amplitude=0.0
Ripple Amplitude=4.0
Spread Rate=0.5
这是主要的水的纹理,其他的水的纹理将加到Color Offset属性中。
步骤4
要让涟漪动起来,你还需要在 Ripple Time 属性中加关键帧。
确信Timeslider在第一帧,在Ripple贴图的属性编辑器中,设置Ripple Time为0
使用鼠标右键设置关键帧。移动时间滑条到40,将Ripple Time设为1。

步骤5
现在复制带有动画的 Ripple 纹理。选择 Hypershade 窗口中的 Ripple 结点。执行 EDIT>Duplicate>Shading Network.把这个纹理改为Ripple1.这样就建立了一个新的水的节点 。

步骤 6
在 Ripple1的属性编辑器中,改变Ripple Origin = 0.2 and 0.3,最后用鼠标中键拖动Ripple1到Ripple上,在弹出的菜单中连接到Color Offset上,注意在Hypershade中水的纹理发生的变化。在这你会发现原来的纹理变白了,这是因为color offset是用来增加颜色的。把一个纹理赋给他,实际上也给他加了更多的颜色,结果产生的白色的效果。这时的BUMP还在,尽管你看不到他。
注:看到了Hypershade窗口中原来的水纹理所发生的变化,你也可以用Ramp重新设置原始水纹的颜色。

步骤 7
重复上面的步骤再生成两个水的纹理,将他们的名字变为Ripple2和Ripple3.连接Ripple2到Ripple2的coloroffset上。
把RIPPLE2的RIPPLE ORIGIN改为0.4 and 0.4,把RIPPLE3的ORIGIN改为0.3 and 0.5

步骤8
在HYPERSHADE窗口中,选择RIPPLE3 TEXTURE,选择WINDOW>ANIMATION EDITORS>GRAPH EDITOR,按下W键,选择移动工具。在曲线上面敲下选择他,按住左键不放配合SHIFT键,向右移动曲线使最后的一个关键帧在70附近。
依次类推,RIPPLE2和RIPPLE1的最后一帧,设为60,55左右。

步骤9
渲染场景,你会看到只有RIPPLE渲染出来了,而其他几个水纹并未看到,产生这种效果的原因是 BUMP NODE 使用了没有被提供的ALPHA信息。在前面,你只提供了颜色信息。你需要使用颜色信息来提供给 BUMP 信息。
实现这一步⒁桓 LUMINACE NODE (在 HYPERSHADE 窗口中 UTILITES MENU 下面),点亮 RIPPLE 和 BUMP NODE 结点之间的连接删除之, 将 RIPPLE 拖到 LUMINACE NODE 上,连接 RIPPLE.OUTcolor 到 Luminance.outValue 到 Bump.bumpValue 上, 然后在拖 LUMINANCE 到 BUMP NODE 上。连接 Luminance.outValue 到 Bump.bumpValue. 上。


最终结果
在几个不同的帧,测试渲染场景。你会看到这些涟漪。你也可以通过增加 RIPPLE AMPLITUDE 的植来建立涟漪。
给一个纹理的 COLOROFFSET 指定另一种纹理。这也为分层纹理提供了一种手段。能够最好的使用 BUMP 贴图。你需要使用一个 LUMINANCE NODE 来完成这个结果。
另一个方法是连接纹理的 OUTALPHA 到 ALPHA OFFSET 以保持 ALPHA 信息。直接连接到 BUMP NODE 上,
把 LUMINANCE NODE 省略了。
