- 最后登录
- 2018-12-19
- 注册时间
- 2012-8-20
- 阅读权限
- 90
- 积分
- 54706
- 纳金币
- 32328
- 精华
- 41
|
maya 硬件渲染粒子与软件渲染元素结合
V. 创建尘土粒子外观
选择使用 rgbPP
添加下面的到 creation 表示式:
//rgbPP
//
float $intensity=rand(0.6,1.0);
intensityPP=$intensity
对于 rgbPP ,我们将用一个 HSV 模式确定尘土的颜色,不用传统的红绿蓝模型。每个粒子有各自的值或亮度,粒子在一个简单的阴影技术基础上获得颜色,粒子是否改变颜色要看是否被阴影,并将保留一个完整的密度值。该信息被合成器用来单独扭曲粒子(从粒子密度)阴影。
添加下面东西到***ntime 表达式:
//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 、添加下面东西到***ntime 表达式:
//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 中。
在这一点上,仍然可以对各种各样的***mps 贴图和场做大量的扭曲,以此获得你想要的外观。
打开 wheeOnPath_Part6.ma 文件,看看我拿出的结果。
【来源:软件学院】
更多精彩教程,尽在web3D纳金网http://www.narkii.com/college/ |
|