效果

效果

效果

制作思路

要产生扭曲效果最简单的办法就是在建模布线的时候就将布线扭曲;

使用菲涅尔效果与pow节点结合,制作出随视角的渐变效果。不过菲涅尔效果开销有点大,这里我们只是用来让边缘与内部产生不一样的效果,并不需要使用菲涅尔方程,这里我们只需要使用相机视角方向与法线方向的点乘即可:

相机方向与法线方向点乘

使用WPO(World Position Offset)制作出表面不断抖动的效果;

为了营造比较好的动态效果,将同一张贴图重复三遍,并用不同的速度以及UV缩放,叠加后可以制作出细节更丰富的纹理。不过注意,为了防止出现接缝效果,uv缩放只可变大不可变小。

三次采样同一张贴图

其中大多数特效都使用一张柏林噪点贴图,其中RGB通道都各存有一张不同的噪点贴图(Alpha通道因为在UE4中不会被压缩,所以没有使用)。使用AE或Substance Designer就可以很轻松地制作噪点贴图,这里就不赘述了。

柏林噪点

制作材质

建模

新建一个球,使用软选择工具进行简单调整扭曲布线即可:

Maya中建模

制作外壳材质

首先将材质Blend Mode改为Translucent,Shading Mode改为Unlit;

使用上面提到的简单菲涅尔控制透明度(这里因为我们要看到边缘而看不到中心,所以需要一个1-x节点),暴露一个power参数以便以后调整:

外壳透明度

使用法线方向乘以噪点贴图R通道当做世界位置偏移,用Panner移动贴图即可做到流体一样的流动效果。这里暴露一个WPO变量用于调整流动效果强度,并且暴露移动速度。

WPO

自发光就简单的使用上面提到的混合贴图方法,乘以一个颜色变量即可。

外壳自发光

新建一个材质实例,简单调整一下参数后得到下面的效果:

外壳效果

制作内部材质

内部材质的透明度和WPO还是按照外壳那么做;

自发光由两个部分组成,中间的云和星星。云的制作方法与上面外壳的自发光类似,只是不需要那个1-x节点了;

星星这里也是混合了两张贴图然后乘以星星颜色制作的:

image

但这样有一个问题就是在离得很远的时候本来很小的星星应该会看不见才对,但实际上它们会变得很亮,所以这里加一个判断相机距离的逻辑,当相机远与这个距离时不渲染星星。为了防止突变,在这个距离范围内时,越近星星越亮(这里power节点与透明度连接的是同一个菲涅尔输入):

检测相机距离

最后是折射,越靠近边缘折射越严重,所以也要使用到菲涅尔。而且当折射率为1时不折射,所以这里使用一个lerp节点,并暴露IOR(折射率):

折射

然后复制一个模型,稍微缩小一点放在外壳内部,新建材质实例调整效果:

调整材质实例

最重要的其实就是调整参数的过程,这里每个参数都控制着多重效果,确实需要花费很长时间调整才能获得自己满意的效果。

制作蓝图

制作蓝图并公开变量,使用Construction Script可以调整各种参数:

公开变量

Construction Script

然后就可以随意调整外观啦,也可以自己设计新的模型:

调整外观