Loading
1

[vfxinfo 原创]Maya流体-沙尘暴制作

原文地址:http://area.autodesk.com/blogs/duncan/dust_storm

翻译:桃子丶

只利用流体的纹理方面快速简单的制作一个沙尘暴。在这个场景中,创建一个没有栅格的流体容器,只需要用到textures和gradients。Texture time和texture origin随着流体位置的移动而改变

我先创建一个普通的3D流体,然后在属性编辑器将预设更改为“cloudbank”,这就是一个纯粹的没有栅格的纹理预设

我使用center gradient代替y gradient,并且将容器调整为长方体的样子。可以使用尺寸缩放工具,缩放流体容器的尺寸(仅限于等比例缩放时)。但是要修改某个方向的时候,应该使用attribute editor中的size X,Y,Z属性,而且启用keep voxels squarev将分辨率匹配到网格,这样可以保证体素是正方形的。当流体容器没有栅格的时候,分辨率仍然有两个功能:

1.硬件着色显示(shaded hardware display)

2.在渲染的时候,确定穿过栅格的步数

因此,如果使用的分辨率非常的低,那你可能会需要增加shading quality属性数值来弥补

大幅度的调节texture的frequence和ratio,以便得到正确阴影。用一个点光源,开启光线跟踪阴影(需要开启光线跟踪阴影,流体才能投射阴影)。在fluid shape启用Cast shadows以便使阴影能够投射到地面上。

因为没有次级光散射到流体上,调节opacity曲线,得到清晰的边界,但是会导致沙尘有强烈的自阴影。降低阴影的transparency能使改善这个情况,但是也会使地面阴影过于柔和。所以我将流体的incandescence设置的高一些,颜色设置的颜色深一些,这样自阴影就不会那么强烈。incandescence和color都使用Y gradient ramps,这样能让沙尘的顶部亮,底部暗。

设置这样的动画,使纹理时间和偏移随着流体的移动慢慢的改变。

TIP:一个简便的方法是,在属性编辑器中,例如texture time右侧的编辑框,输入表达式:= time * x

这里的X是一个确定的数值,它决定动画的快慢。例如 X 是10,那么1s之后这个属性值就是10

关于天空,我保持为黑色的背景,并且创建一个3D流体,设置它的预设为"sky fog" ,然后设置color和incandescence。volume Samples Override能帮助整合两个流体,只是在这种情况下不太适合用mental ray渲染,所以要使用maya自身渲染器

如果希望沙尘能跟其他物体产生碰撞或者动力学作用。那么可以使用density+velocity 栅格,设置opacity input为density,并使用一个椭圆形的发射器,将dropoff适应到centergradient的效果(使用其他的发射器可能也行)。你可能会需要一个很大的流体框,覆盖更大的区域,以便有空间可以移动发射更多的密度。可以使用一个volume axis场推动流体运动,方向可以是沿着右边界向内。最好不要使用没有边界的力作用于整个流体,这样会随着时间的推移,跟动力学流体的不可压缩性产生抵抗

可以在左边和右边创建一个wind tunnel效果,这样能帮助流体的边界开放(fluid boundaries open )。为texture offset设置动画,然后禁用或者扭转方向 ,这样沙尘会随着风吹过而流动,但是不至于移动太快

原文件下载