在这一课中,你将会学到如何制作水面上相互交错的涟漪。这里用了多个水的纹理。这些纹理被分层次的提供给 BUMP NODE 来产生涟漪。通过把纹理指定给 color offset 来产生水面上的涟漪。这篇论文是先前一篇论文( Texture Mapping Aoffsets" by Erik NOTEboom, alias ASSISTANT, LSSUE#14) 的提高篇。
详细3D教程
步骤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 省略了。
(责任编辑:admin) |