MAYA的流体属性解释

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MAYA的流体(fluid)对于初学者实在是一个不太好弄明白的模块,我之前摆弄了一段时间的流体,有了一些认识,和大家分享。

流体其实是纯粹通过容器网格解算的一个工具,无论是密度,温度,燃料,速度,还是材质,着色,它的基础单位都是单元格(材质或

着色细分后可能会存在单格多细节的情况,不过计算还是依据网格为单位)单元格越密,解算越精确,如果朋友你在解算的时候发现有

错误,不妨尝试提升单元格的分辨率。

density密度是最基础的容质之一,它不能对temperature(温度)和fule(燃料)照成影响

temperature温度有两个作用,1是产生内力扩散其所在网格的dencity(密度),2是点燃fuel (燃料),temperature的密度值就是温度

值。通过网格之间的温度差值(也就是temperature的密度差值,来计算每帧的传导率,还有对density的推力)

fuel燃料,maya4.5手册说的不完善,每个fuel产生都会被赋予一个能量值,这个值由heat released决定,默认是1,意思是1份燃料产生

1份温度(可观察的就是,在display调节fuel和temperature模式,能看到减少的fuel刚好等于增加的temperature,增加了temperature

的密度,就是增加了温度值。据我观察,貌似fuel和密度没有直接联系

我们能渲染的必须是可见的东西,也就是必须是透明度不为0的东西。shading下的opacity (不透明度)的opacity input(不透明度输

入)决定了可被渲染的颗粒,因为默认其他不被选择的opacity(不透明度)都为0(流体中的shading下的transparency和opacity的乘

法关系决定了单元格的某溶质密度的透明度)。我们在这里要清楚,密度,温度,燃料,都是可以作为被渲染的形态存在的,但是你只

能选择一个,而且选择的这个才能被附加材质,阴影,才能可见。

再说下incandescence input的意义,它指定了所在网格的可见溶质(被opacity input所确定的)自发光的值的来源(某溶质密度),

而并不是在某所指定溶质上产生自发光。如果opacity input选择了温度,incandescence input 选择了密度,那么就是,根据密度溶质

在网格间的疏密值来确定自发光,再叠加到温度溶质上。

颜色和自发光是一个道理

texture材质

对于材质,其实就是在相对应的shading节点上产生noise,也就是在渐变贴图上产生振荡,对input的值产生影响,让本来均匀有规律的

color,incandescence和opacity变得振荡,看上去没有规律。不过因为是类noise函数,所以相同的属性下都会产生同样的连续性的振荡

,texture time就起到了一个让振荡函数平移的作用

这样解释可能很不清楚,大概意思就是,在本来的流体容器内,放进另一个三维(如果是2D流体,就是二维)的材质,这个材质上的每一

点对应着流体容器的那个单位体素来产生效果,这个效果是由什么来决定的呢?是由这个三维材质的灰度值加上一个常量,再和对应的

体素的输入值相加,得出的结果,就是对应产生的效果。

比如,opacity input为density,体素点A的不透明度(opactiy)的输入值有两个坐标点,在selected position的位置0.118的value为0

,在1的位置value值为1。流体不透明度(opacity)上应用了材质后,整个流体被noise打乱了,那边界点0.118位置的体素举例,在这个

位置上代表着当前某对应密度所对应的透明度趋近于零的,但是由于noise的关系,0.118对应的体素上的透明度就要重新计算了,计算

出来的结果是在透明度和密度这个坐标上左右平移的。

当某0.118密度对应的体素上插入的点为一个灰度小于0.5的值的时候,那么该位置体素的坐标就得像左偏移,取一个位置比0.118还要小

的坐标点对应的V ALUE。这个值就是最后的不透明度,显然比0.118还小不透明度就都是0了。

当某0.118密度对应的体素上插入的点为一个灰度大于0.5的值的时候,那么该位置体素的坐标就得像右偏移,取一个位置比0.118还要大

的坐标点对应的V ALUE。这个值就是最后的不透明度,比0.118要大的值是趋于不透明的。

这样的结果很容易就测试出来,如果V ALUE从position 0~1的位置都是一致的,那么opacity 的材质无论怎么调,也不会对流体产生影响

相关文档
最新文档