首页 > 设计 > 软件应用 > 正文

Maya基础教程:Maya 硬件渲染粒子与软件渲染元素结合(6)

2020-10-03 12:58:08
字体:
来源:转载
供稿:网友
maya 硬件渲染粒子与软件渲染元素结合
v. 创建尘土粒子外观

  选择使用 rgbpp

  添加下面的到 creation 表示式:

//rgbpp

//

float $intensity=rand(0.6,1.0);

intensitypp=$intensity

  对于 rgbpp ,我们将用一个 hsv 模式确定尘土的颜色,不用传统的红绿蓝模型。每个粒子有各自的值或亮度,粒子在一个简单的阴影技术基础上获得颜色,粒子是否改变颜色要看是否被阴影,并将保留一个完整的密度值。该信息被合成器用来单独扭曲粒子(从粒子密度)阴影。

  添加下面东西到 runtime 表达式:

//opacitypp

//

opacitypp= opacitymultpp* opacityorgpp* opacity;

  利用通道盒里的透明度属性,使用者现在可以全部调整所有粒子物体的透明度,同时保持每个粒子的独特的 opacityorgpp 。并修改粒子生命周期的透明度(使用连接到 opacitymultpp 的 ramp )。

体积阴影

  体积阴影是获得真实云和尘土效果的关键因素。体积阴影是通过粒子投射阴影到每个粒子身上而获得的(通过透明度)。不幸的是,这种技术只有在软件云粒子渲染中可以有效,而且耗时之多,令人难以置信。有成打的技术可以模仿这类效果,而且只花很少的时间。

  你要用到的技术是我的一个同事 eyal erez 教我的,他和我一起合作制作 the kolektiv 。将现在粒子所在位置和粒子“出生”的位置 birthworldposition 相比较,看现在粒子增加了多少高度,你就可以计算出一个值,粒子越低,值就越低。该技术对粒子系统来说很不错,从相对等高的高度发射的粒子不会升或者降太多(和粒子最初位置相比较)。

lego 投射方面的“领头羊”合成器 ----gary jackamuk 需要一个粒子路径,这样就可以调整颜色,以和 cg 背景元素的阴影及灯光匹配。通常,当软件为合成渲染一个元素时候,你可以输出一个单独的 shadow pass ,它可以被合成器单独调整。 gray 要给粒子上多少色,这要看粒子获得的阴影数量。

  我们可以提供一个给粒子上色和阴影的解决办法,使它效果更好。

  在 add dynamic attributes 栏里点击 general 按钮,到 particle 栏。

1 、创建 birthworldposition 属性

2 、添加下面东西到 runtime 表达式:

//rgbpp

//

vector $pos=position;

vector $birthpos=birthworldposition;

float $hue=(240+120*smoothstep(-1,1, $pos.y-$birthpos.y))/360;

rgbpp=hsr_to_rgb(<<$hue,1.0,intensitypp>>);

  为了控制粒子颜色,我们规格化粒子所在位置和粒子产生位置之间的差数,该规格发生在 -1 和 1 之间,这意味着如果一个粒子比它产生的位置低于 1 个单位,我们就会得到一个 0 的值;如果高于 1 个单位,则会得到一个 1 的值,然后,这些值要被调整为沿着色轮 ----100% 蓝色和 100% 红色之间,或者 240 和 360 之间。参考颜色选择窗口,找到其它颜色的色彩值。

  粒子物体的 rgbpp 属性读取 rgb 值,而不是 hsv 值,所以,你需要利用 hsv_to_rgb 函数将 hsv 转换成 rgb 。该功能视一个矢量为输入,那也是为什么我们用 <<>> 来为色彩、饱和度、密度压缩这些值的原因。色彩值最好为 0-1 ,而不是 0-360 ,所以我们要用 360 来除 hue 值。饱和度仍为 1.0 ,但是,你有个机会:通过修改饱和度(在你决定的值的基础上),添加路径附加消息到合成器上,最后,粒子的亮度都被考进 hsv 的 value 中。

  在这一点上,仍然可以对各种各样的 rumps 贴图和场做大量的扭曲,以此获得你想要的外观。

  打开 wheeonpath_part6.ma 文件,看看我拿出的结果。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表