在这一课中,你将会学到如何制作水面上相互交错的涟漪。这里用了多个水的纹理。这些纹理被分层次的提供给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省略了。
观看最终动画