若森书籍maya雨打玻璃效果的制作.docx
- 文档编号:3606740
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:35
- 大小:1.47MB
若森书籍maya雨打玻璃效果的制作.docx
《若森书籍maya雨打玻璃效果的制作.docx》由会员分享,可在线阅读,更多相关《若森书籍maya雨打玻璃效果的制作.docx(35页珍藏版)》请在冰豆网上搜索。
若森书籍maya雨打玻璃效果的制作
项目三:
雨打玻璃效果的制作
一.制作前言
Maya的blobby surface【球面类型】粒子是Maya粒子中重要的粒子属性,他可以制作具有高光的雨露和雨水的效果,而且相对于其他方法可以有效的制作出相对逼真的效果。
本次课题动力学粒子内容中,我们主要来制作一个雨打玻璃效果,在动画镜头或电影镜头中我们常常看到角色透过橱窗或者街景玻璃看到窗外下雨的场景,同时也伴随着雨滴打到玻璃上的效果,镜头下的效果是那么的朦胧美丽,这些都归功于CG人员对镜头的应用,以及在后期调理较色中的出色把握,最终效果如图3-1所示
图3-1
二、技术看板
制作雨水滴痕的效果有多种表现形式,例如模型贴材质表现、粒子融合表现、Maya流体容器表现。
接下来我们就来详细的讲解粒子融合的表现方法。
3.2.1体积粒子发射器的属性
(1)功能说明:
体积发射器可以向四周或同一方向发射粒子。
(2)操作方法:
直接在显示框中单击执行命令。
(3)常用参数解析:
Dynamics【动力学】面板下,单击particle【粒子】>CreateEmitter【创建发射器】>
【选项窗口】,如图3-2所示
图3-2
Edit【编辑】>SaveSettings【保存设置】,SaveSettings【保存设置】是你在创建粒子发射器的属性里中修改完数值后,点击该命令,在下次你创建粒子发射器时,里边的数值是你所修改完的数值。
Edit【编辑】>Resetsettings【重置设置】,ResetSettings【重置设置】的命令是你进行修改数值时,点击该命令,粒子发射器创建的属性会回归初始化。
BasicEmitterAttributes【发射器参数】下,如图3-3所示
图3-3
Emittertype【粒子类型】>Omni【点发射器】。
Omni【点发射器】从工作区中某位置或粒子、顶点、CVs、编辑点或晶格点发射粒子发射粒子。
CreateEmitter【创建发射器】是粒子的发射源,通过设置其参数可以控制粒子的发射数量、速度、发射形状和发射方向等状态。
Emittertype【粒子类型】>Directional【线发射器】。
Directional【线发射器】,由发射器向一方向发射线性粒子,但可根据属性修改发射线性粒子的扩散程度。
Emittertype【粒子类型>Volume【体积发射器】。
Volume【体积发射器】由体积形状的发射器发射粒子,体积内发射速率比体积外的速率小。
Rate【速率】设置在每个动画时间单位粒子发射的平均速度。
此速率为绝对值。
SacleRatebyObjectSize【发射粒子的物体尺寸】如果用户打开此属性,发射粒子的物体的尺寸影响每帧发射粒子的速率。
物体越大,发射速率也越大。
此属性的默认设置是关闭的。
对于表面发射器,速率指在每厘米区域每时间单位粒子的发射。
例如,边长为2厘米的平面,面积为4平方厘米。
如果发射器速率是3,平面每秒大约发射12个粒子。
如果用户使用英寸或其它的单位,Maya将单位转化为厘米,制作速率的计算。
对曲线发射,速率是每厘米每时间单位的粒子发射。
例如,4厘米的曲线,速率是3,大约在每秒中发射12个粒子。
如果此属性被关闭(默认设置),发射速率是绝对值,这是PowerAnimation动作的方式,代替了与物体尺寸相关的动作,这是Maya前期版本的动作方式。
NeedParentUV(只用于NURBs表面发射器)如果用户打开此属性窗口(在创建发射器前),Maya为粒子形节点添加parentU和parentV属性并设置needparentUV为On。
用户可以使用父节点UVs以驱动一些其他参数诸,如颜色或不透明度的数值。
如果同学们在属性编辑器或通道盒打开此属性(在用户创建发射器后),Maya打开needParentUV属性,并不添加这些属性。
CycleEmission>None(timeRandomoff)(不允许用户重新开始发射的随机数序列)
CycleEmission>Frame(timeRandomon)(允许用户重新开始发射的随机数序列)
CycleInterval【序列间隔】当使用CycleEmission时定义了重新创建随机数字序列的帧间隔。
如图3-3所示
Distance/DirectionAttributes【方向参数】下,如图3-4所示
图3-4
MaxDistance【最大距离】此项设置从发射器到粒子发射结束位置处的最大距离。
用户可以输入0或任意大于0的数字,但其数值必须大于MinDistance属性数值。
MinDistance【最小距离】此项设置从发射器到粒子开始发射位置处的最小距离。
用户可以输入0或大于0的数字。
被发射的粒子会随机分布在“最小距离”和“最大距离”之间的范围内。
DirectionX、Y、Z【X,Y,Z发射方向】,设置粒子发射的方向。
例如,当DirectionY设置为1,其它两项设置为0时,粒子垂直向上发射。
发射器的位置和方向由它的变换属性和旋转属性设置。
缩放属性和修剪属性没有作用。
方向发射器发射粒子的原始速度等于发射器的“Speed”属性,在系统的默认设置下,1单位(厘米)每秒。
DirectionX、Y和Z属性不影响速度。
发射器发射粒子的速度是在1单位每秒中发射粒子的数目,不管粒子发射的方向。
Spread【扩展】使用方向发射器时,被发射的粒子随机分布在一个圆锥形的区域内,而此项则可设置这个圆锥顶角区域的大小。
用户可以输入0到1之间的值。
值0.5是90度,值1是180度。
只对定向和曲线发射是有效的。
如图3-5所示
图3-5
BasicEmissionSpeedAttributes【发射器速度参数】下,如图3-6所示
图3-6
Speed【速度】此项中的数值将与粒子发射的速度相乘,从而可快速地改变粒子发射速度。
1将保持速度不变,0.5将使速度成为原来的一半,而2将使速度加倍。
但它不影响表达式、动力场或其它动力速度对粒子速度的影响。
SpeedRandom【随机速度】此属性使用户在不使用表达式的情况下为发射速度添加随机性。
如果用户设置此属性为正值,发射器为每个粒子生成随机速度。
Speed属性中的数值是平均速度,而SpeedRandom则规定了速度变化的范围。
每个粒子的速度是在下面范围中的随机数值:
Speed-SpeedRandom/2
Speed+SpeedRandom/2
TangentSpeed【切线速度】设定了表面或曲线发射的切线分量的大小。
默认数值为0。
用户可以输入0或大于0的数值。
此属性只对表面和曲线发射器有效。
NormalSpeed【法线速度】设定了表面或曲线发射的法线分量的大小。
默认数值为1。
用户可以输入0或大于0的数值。
此属性只对表面和曲线发射器是有效。
在属性编辑器和CreateEmitter选项窗口中,不能用于体积发射器的属性都被暗淡处理。
然而,通道盒不支持暗淡处理。
在用户熟悉应用每个体积形状的属性前,我们推荐使用属性编辑器来代替通道盒编辑体积场属性。
VolumeEmitterAttributes下,如图3-7所示
图3-7
VolumeShape【体积形态】指定粒子被射入的体积形状。
如图3-8所示
Cube【立方体】Sphere【球体】Cylinder【圆柱体】Cone【圆锥体】Torus【圆环】
图3-8
VolumeOffsetX,Y,Z【体积发射器的偏移】如果用户旋转发射器,则此偏移方向也将随之旋转,因为它是在局部空间中进行工作的。
VolumeSweep【体积发射器旋转角度】规定除了立方体外其他体积的旋转角度。
如图3-9所示:
180°
360°
图3-9
SectionRadius【只用于圆环】规定了圆环固体部分的厚度,与圆环的中心环半径相关。
圆环中心环半径是由发射器缩放决定的。
如果用户缩放发射器,SectionRadius【只用于圆环】将保持其与中心环的比例关系。
如图3-10所示:
图3-10
DieonEmissionVolumeExit【隐藏发射器】如果用户打开此属性,则被发射粒子离开此体积后将会消失。
尽管这是一个粒子形节点属性,用户可以使用Emitter【发射器】选项窗口对其进行初始设置。
VolumeSpeedAttributes【体积数度参数】下,如图3-11所示
图3-11
AwayFromCenter【中心位置】指定粒子离开立方体或球体中心点的速度。
AwayFromAxis【离心速度】指定粒子离开圆柱体,圆锥或圆环体中心轴时的速度。
AlongAxis【中心轴速度】指定粒子沿所有体积中心轴运动时的速度。
对立方体和球体而言,中心轴被定义为Y轴正半轴。
AroundAxis【环轴速度】指定粒子离开圆柱体,圆锥或圆环体中心轴时四周发射的速度
RandomDirection【随机方向】为粒子VolumeSpeed属性添加方向和初始速度的不规则性,与Spread属性对其他属性所起的作用有一些相同。
DirectionalSpeed【速度方向】对所有体积发射器的DirectionXYZ属性所指定的方向上添加速度。
ScaleSpeedbySize【速度增加】如果用户打开此属性,则当体积的尺寸增加时,粒子速度增加。
3.2.2粒子碰撞效果的生成和属性设置
(1)功能说明:
可以使Particle与Maya的Geometry物体发生碰撞关系。
(2)操作方法:
选择Particle,加选要碰撞的物体,点击执行。
(3)常用参数解析:
Particle+键盘【Shift】+物体>Particle>MakeCollide>
【选项窗口】,如图3-12所示
图3-12
Resilience【弹力】,设置弹力发生的数值,数值范围为0~1。
0代表没有弹力发生;1代表弹力充分,不衰减;如果数值超过1,那么在弹起之后将增加粒子的速度。
Friction【摩擦力】,摩擦力可以控制粒子与物体碰撞弹起时粒子速度的命令。
0代表粒子与物体碰撞时不产生摩擦力,只有0~1之间的值可以产生接近自然的摩擦力,如果超出数值范围就会夸大其效果。
如图3-13所示
Resukuebce:
1Resukuebce:
1
Friction:
0Friction:
1
Resukuebce:
0Resukuebce:
0
Friction:
1Friction:
0
图3-13
Offset【碰撞偏移】
可以调整粒子与物体碰撞之后粒子平行线的偏移位置。
如图3-14所示
Offset:
0.01Offset:
2
图3-14
注意:
用Resilience和Friction两个值互相配合设置,能使效果更加真实自然。
同学们已经知道了粒子碰撞的位置及属性,还有更多人关心的是粒子打在地上弹起更多粒子怎么操作?
它的功能是创建particle粒子与物体碰撞之后所发生的事件,比如碰撞之后粒子死亡或者是碰撞之后粒子改变颜色等,那就让我们继续讲解粒子碰撞事件。
(1)功能说明:
Particle与Maya的Geometry物体发生碰撞后继续产生新的粒子随之运动。
(2)操作方法:
选择Particle,点击执行。
(3)常用参数解析:
碰撞后Particle>Particle>MakeCollideEventEditor>
【选项窗口】,如图3-15所示
图3-15
ObjectsandEvents【物体与事件】在物体列举栏中选择粒子,相应粒子的碰撞事件就会出现在事件列举栏中。
UpdateObjectList【更新物体列表】当删除粒子或者是增加粒子物体的时候,单击这个按钮就会更新物体列表。
Selectedobject【选择的物体】显示选择的粒子物体。
Selectedevent【选择的事件】显示选择的粒子事件。
Seteventname【设置事件命名】创建或修改事件的名称。
Creatingevent【状态标签】显示当前状态是新建事件或者是修改事件。
NewEvent【新建事件】单击此按钮给选定粒子增加新的碰撞事件。
Allcollisions【所有碰撞】此选项被勾选,当前碰撞事件将会应用到所有的碰撞上。
Collisionnumber【碰撞序号】如果Allcollisions选项取消勾选,则事件会按照所设置的Collisionnumber进行碰撞事件。
比如1为第一次碰撞,2为第二次碰撞。
粒子碰撞事件Type【类型】可分为两种,一个是Emit【发射】类型和Split【分裂】类型,根据不同项目来选择分裂的类型。
如图3-16所示
图3-16
Emit【发射】当粒子与物体碰撞时,粒子保持原有的运动状态,在碰撞之后能够发射出新的粒子。
Split【分裂】当粒子与物体碰撞时,粒子在碰撞的瞬间分裂成新的粒子。
Random#particles【随机粒子】当此项关闭时,则分裂或发射产生的粒子数目是由“NumParticles”决定的;勾选该项则分裂或发射产生的粒子数目是1和“NumParticles”数值之间的随机数值。
Numparticles【粒子数量】设置在事件之后所产生的粒子数量。
Spread【展开】设置在事件之后粒子的展开角度。
0代表不展开,0.5代表90°,1代表180°。
Targetparticle【目标粒子】在这里输入粒子的名字,事件后不产生新的粒子,目标粒子为所输入的粒子。
Inheritvelocity【继承速度】设置事件后产生的新粒子继承碰撞粒子速度的百分比。
Originalparticledie【原始粒子死亡】勾选此项,当粒子与物体碰撞时死亡。
Eventprocedure【事件程序】任何在物体列举栏中的Particle物体都可以使用这个碰撞事件程序,事件程序是一个mel脚本文件,它有着规定的书写方式:
globalprocmyEventProc(string$particleName,int$particleId,string$objectName)
$particleName是指使用这个时间程序的particle物体,$particleId是particle物体的ID序号,$objectName是指particle碰撞的物体。
注意:
ParticleCollisionEventEditor既能够创建粒子的碰撞时间,也能够修改粒子的碰撞时间,它集创建和修改界面于一身,有别于其他命令的参数形式。
3.2.3粒子目标吸引的使用
(1)功能说明:
设置粒子移动的目标点,这个目标可以是物体的transform值,也可以是物体上的点。
(2)操作方法:
选择Particle,加选Maya的Geometry物体点击执行。
(3)常用参数解析:
Particle+键盘【Shift】+物体>Particle>Goal>
【选项窗口】,如图3-17所示
图3-17
Goalweight【目标吸引强度】,设置该数值可以让粒子吸附到物体上,数值的区间是0-1,0为不吸附,1为完全吸附。
Usetransformasgoal【变形吸附】,勾开此数值,吸附的粒子可以随物体的运动而变形
3.2.4粒子表达式和函数的使用
(1)功能说明:
可以运用表达式及函数控制基本操作不能实现的效果
(2)操作方法:
首先创建particle,选择要写表达式或函数的particle,在表达式面板点击执行命令。
(3)常用参数解析:
Particle【粒子】>键盘【Ctrl+A】>ParticleShape1>PerParticle(array)Attributes【每粒子编辑器】,如图3-18所示
图3-18
增加表达式
(1)功能说明:
有些表达式并未在表达式列表上,因此需要增加表达式
(2)操作方法:
首先创建particle,点开表达时增加列表,加入所需表达时即可。
(3)常用参数解析:
添加表达式:
Particle>键盘【Ctrl+A】>ParticleShape1>AdddynamicAttributes【增加动力学参数】>General【常规参数】,如图3-19所示
图3-19
(1):
MAYA中的预定义变量(时间)
1,"time"是一个变量,单位“秒”。
2,"frame"是一个变量,单位“贞”。
注意:
属性的名称一定要写完整,并在写完后加终止符“;”
例如:
nurbsSphere1.translateX=time;如图3-20所示
注意:
属性名称是分大小写的,"aaAaAA"是三个完全不同的名称
(其中“=”相当于赋值操作符,顺序是自右向左先计算等号右侧,再把结果赋给左侧。
)
*数学运算符;
“+”(加);“-”(减);“*”(乘);“/”(除);“%”(取于,相当于一个数被另一个数整除后的余数)
图3-20
(2):
MAYA中的自定义变量,如图3-21所示
作用:
用来存储表达式中用到的临时结果。
类型:
1;浮点型变量:
(就是带有小数点的变量)
声明符为“float”;
例如:
float$aa=3.14159;
注意:
a,所有变量名称前必须加“$”。
b,变量的名称必须以英文字母开头。
c,变量名称中不准许出现特殊符号,例如“!
@,#,%,^,&,*"但可以出现下划线和数字”float$aa_1"。
d.变量名称严格区分大小写,例如:
“$aa,$Aa”是两个完全不同的变量。
)
2;整数型变量;
声明符为“int”;
例如:
int$bb=10;
3;字符串变量;
声明符为“string";
例如:
string$cc="maya7.0";
4;矢量变量;
声明符为“vector”;
例如:
vector$dd=<<3.3,4,-5.5>>;
图3-21
(3);MAYA中的语句和运算符
1,条件语句
if(条件)//(“如果”的意思)
{
语句1;
语句2;
}
例如;if(time<3)
注意:
条件语句后不能加“;”
也可以同“else”(当“否则”讲)配合使用;
例如;
if(time<3)
ball.tx=-6;
elseif(time>=3&&time<=6)
ball.tx=0;
else
ball.tx=6;
或者不嵌套写,并列写也可以。
if(time<3)
ball.tx=-6;
if(time>=3&&time<=6)
ball.tx=0;
if(time>6)
ball.tx=6;
注意:
多重并列时条件不能冲突,不可同时满足两个以上的条件。
2,关系运算符
“〈”(小于)//“〉”(大于)//“〈=”(小于等于)//“〉=”(大于等于)//“==”(等于)//“!
=”(不等于)
注意:
如果条件后要用等号,一定要用双等号“==”
3,逻辑运算符
“&&”(并且)(相乘的关系,必须两个条件同时成立)
“||”(或者)(相加的关系,有一个条件成立即可)
“!
”(非)
4,快捷操作符
“+=”“-=”“*=”“/=”“%=”“++”“--”
*“print”(“打印”把变量的数值显示在屏幕上)*
(4);MAYA中的函数
1,算术函数
A:
“abs()”(绝对值函数)
例如;abs(5)5
abs(-5.5)5.5
abs(0)0
B:
“ceil()”(返回比括号中数大的最小整数)
例如;ceil(4.3)5
ceil(-2.3)-2
C:
“floor()”(返回比括号中数小的最大整数)
例如;floor(4.3)4
floor(-5.6)-6
D:
“trunc()”(取得括号中数的整数位)
例如;trunc(10.39)10
trunc(-3.14)-3
E:
“min(x,y)”(取得括号中两数比较后较小的数)
例如:
float$a=6.3;
float$b=5.6;
float$c=4.3;
float$min=min($a,$b);
float$min=min($min,$c);
F:
“max(x,y)”(取得括号中两数比较后较大的数)
例如;max(2.1,3.5)3.5
G:
“sign()”(返回括号中的符号,正数返“1”,负数返“-1”,零则返回“0”)
例如;sign(5)1
sign(-5)-1
sign(0)0
H:
“clamp(min,max,parameter)”(求范围,当parameter小于min时则返回min,当大于max时则返回max,在min和max之间时则反回其自身)
例如;clamp(0,1,time);(只取time“0-1”的部分)
2,指数函数
A:
“exp()”(求衰减系数“e”的多少次方)(e=2.718);
例如;exp(time);(基于时间递增)
B:
“pow(x,y)”(求x的y次方)
例如;pow(2,3)8
pow(8,1.0/3)2
C:
“sqrt()”(专用开平方)
例如;sqrt(4)2
D:
“log(x)”(求x是e的多少次幂)
例如;log
(1)0
log(2.718)1
E:
“log10(x)”(求x是10的多少次幂)
例如;log(100)2
log
(1)0
log(1000)3
F:
“hypot(x,y)(勾股定理)
例如;hypot(3,4)5
3,随机函数
A:
”noise()”(噪音)
例如;noise(time)
noise(frame)
B:
“dnoise()(噪音,对矢量进行操作)
例如;dnoise(<<2,3,4>>)
C:
“rand()”(随机函数的一种,针对浮点类型)
例如;rand(5)在0到5之间随机
rand(2,4)在2到4之间随机
D:
“seed()”(固定随机函数)
例如;seed
(1)1
E:
“sphrand()”(针对矢量的球型随机)
例如;sphrand(5)
sphrand(<<5,1,5>>)
4,三角函数
A:
“sin()”(正弦函数)
例如;sin
(1)(表示1弧度的正弦值)1弧度=180/3.14度
B:
“cos()”(余弦函数)
例如;cos
(1)(表示1弧度的余弦值)
5,转换函数
A:
“deg_to_rad”(将角度转为弧度)
例如;deg_to_rad(180)3.14
B:
“hsv_to_rgb”(颜色转换模式)
例如;hsv_to_rgb(<<360,1,1>>)<<1,0,0>>
6,曲线函数
A:
“linstep(min,max,parameter)”(线性递增函数,返回值永远是从0到1)
例如;linstep(3,6,time)
B:
“
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 书籍 maya 玻璃 效果 制作