首页 百科知识 MAYA粒子特效教程:动力场实战

MAYA粒子特效教程:动力场实战

时间:2024-10-05 百科知识 版权反馈
【摘要】:被空气场影响的物体会产生运动来反映空气场的影响。此场基于物体之间的引力,物体之间引力符合万有引力定律。物体的运动与体积轴相关。在“MaxDistance”定义范围之外的物体不受重力场的影响。如果用户关闭“UseMaxDistance”项,所有连接到重力场上的物体不管离重力场有多远,都受重力场的影响。如果将“ApplyPerVertex”项打开,被选择物体的所有单个点将以场的最大强度发射。如果用户将“ApplyPerVertex”关闭,场仅从被指定点的平均位置发射。

MAYA粒子特效教程:动力场实战

第一节 Maya的动力场

首先在新建场景里使用Particles→ParticleTool建立一个粒子阵列:

接下来,我们依次试验所有的力场(Fields),看看都有什么作用,如何使用,有什么效果(在使用力场前请确保你已经了解动力学连接编辑器Windows→Relationshipedits→Its→DynamicRelationship是用来连接场景里面的力场和粒子的):

首先,是最基本的重力场(Gravity):重力场模仿地球的重力,它在固定的方向加速物体(创建立场:先选择要受力的粒子然后Fields→Gravity)。

正如我们想象的,粒子往下掉了,在属性面板里面(Magnitude)强度是9.8,完全模仿地球重力Attenuation(衰减)是0;Direction(方向)是<<0,-1,0>>Y轴的负方向,也就是垂直向下了(世界坐标里Y轴是向上的)。这个立场和另一个立场的参数设置完全一致。

Uniform(统一场)。

统一场(Uniform):可以在某个方向上使被影响物体匀速运动

新建场景和粒子阵列,并为例子添加统一场(Uniform),并如图设置参数。

你会发现参数是同样的名称,只是默认值不同而已,将默认值改成如图的设置,这就是重力场的设置,而这个力场产生的效果和重力场完全一样。(在这里请注意(衰减)Attenuation为0,衰减的作用是:距离动力场越远受力越小)

可以看到:效果和重力场一样。

如果改变(Attenuation)衰减1,那么效果如下,什么是衰减就不用多说了吧。

接下来看振荡场(Turbulence):振荡场可以使被影响物体产生无规律的运动。和其他场搭配使用可以模仿自然界中某些物体(如空气、水)无规律的运动。

效果说明一切,参数里面多了一个Frequency(频率)和PhaseX,Y,Z(相位)。

漩涡场(Vortex):旋涡场使被影响物体做圆环状的抛射运动,用户可以想象从旋转的车轮上甩出的水滴所做的运动,或者龙卷风所作的运动。

提示:如果用户将漩涡场用于粒子物体,用户可以设置粒子物体的“Conserve”属性,影响粒子物体的运动。如果用户将“Conserve”设置为0,粒子物体做圆形运动。如果用户将“Conserve”属性设置大于0,用户可以得到螺旋运动。

将粒子的属性Conserve设置为0(位于粒子属性面板的第一栏):

力场强度增强以后的效果:

放射场(Radial):

放射场就像磁石,使用放射场可以排斥或吸引被影响物体。

拖动场(Drag):使用拖动场可模仿对运动物体的摩擦力或阻力。

空气场(Air):空气场模拟流动空气效果。被空气场影响的物体会产生运动来反映空气场的影响。(用户可将空气场作为运动物体的子物体。例如,把空气场作为人物双脚的子物体,当人物运动时,空气场会使地面上的灰尘产生相应的运动)。

牛顿场(Newton):牛顿场向自身牵引物体。这可让用户创建行星轨迹运动效果等。此场基于物体之间的引力,物体之间引力符合万有引力定律。万有引力与两个物体质量乘积成正比,与两者之间的距离成反比。

(用户可将牛顿场用于:1.吸引物体到独立牛顿场;2.吸引物体到拥有牛顿场的NURBS、多边形或粒子物体)

体积轴场(Volume):体积轴场可以使用户在体积中按不同方向移动粒子。物体的运动与体积轴相关。(用户可以使用体积轴场来创建诸如粒子绕过障碍流动,太阳耀斑,蘑菇云,爆炸,旋风,火箭喷发等效果)。这里使用的的是cone(圆锥)体积场:

体积轴场有很多类型,这里使用的是cone(圆锥),目的是使得粒子像在漏斗里面往下滴一样;

体积轴里面的方向都是在VolumeSpeedAttributes里面设置的。

在这里使得粒子AlongAxis是-1,意味粒子沿着中轴往下移动。AwayFromAxis是离开中轴,AroundAxis是绕着中轴旋转,其他参数读者可以自己修改体会。但是要注意:力场的Magnitude(强度)和Attenuation(衰减)依然是很重要的。

动力场是模仿自然界的力学原理制作的动力学工具,所以在里面有很多的参数,在这里就不一一解释了,普通场Magnitude(强度)、Attenuation(衰减)很重要,体积场则AlongAxis、AroundAxis、AwayFromAxis等一定要熟悉,其他的参数读者可以调节体会一下。

最后强调一个粒子属性:Conserve:

该属性直接影响到粒子受力的态度非常重要。

接下来将所有的力场的详细参数做一个详细的列表:

GravityFieldAttribute(重力场属性)

Magnitude(强度):此项设置重力场的强度。此项值越大,则在重力场力的方向上物体的加速度越快。

Attenuation(衰减):该项设置随场到被影响物体之间距离的增加,场力减小程度。速率的改变是随距离以指数形式下降;如果用户将Attenuation设置为0,在整个距离上,力保持不变。

Distance(距离):UseMaxDistance如果用户将“UseMaxDistance”项打开,连接到场上的物体在“MaxDistance”定义的范围内受重力场的影响。在“MaxDistance”定义范围之外的物体不受重力场的影响。如果用户关闭“UseMaxDistance”项,所有连接到重力场上的物体不管离重力场有多远,都受重力场的影响。仅在属性编辑器中可用。

MaxDistance:设置重力场影响的最大距离。用户必须打开“UseMaxDistance”项,“MaxDistance”才有效。此属性只在属性编辑器中有效。

DirectionX、Y,Z:指定重力的影响的方向。

VolumeControlAttribute(体积控制属性)

ApplyPerVertex:设置场在物体上的发射位置。如果将“ApplyPerVertex”项打开,被选择物体的所有单个点(CV、粒子、顶点)将以场的最大强度发射。如果用户将“ApplyPerVertex”关闭,场仅从被指定点的平均位置发射。如果用户正在使用属性编辑器,打开“SpecialEffects”项,可以显示出“ApplyPerVertex”属性。仅在物体场的属性编辑器中适用。

UniformFieldAttribute(统一场属性)

Magnitude(强度):设置统一场的强度。数值的绝对值越大,统一场的强度越大。当值为正时,统一场使物体向外运动,当值为负时,统一场会吸引物体。

Attenuation(衰减):当统一场和被影响物体之间的距离增加时,使用此项可设置统一场衰减的速度。此项的值越大,则距离增加时速度衰减的越快。当此值为0时,统一场的强度为恒量,不受距离的影响。

DirectionX、Y、Z:设置统一场推动物体的方向。

UseMaxDistance(使用最大距离):此项决定是否使用MaxDistance项所设置的范围内的部分起作用。当打开此项时,统一场只对被影响物体在MaxDistance项所设置的范围内的部分起作用。当关闭此项时,无论被影响物体距离统一场多远,统一场都会对物体起作用。

MaxDistance(最大距离):此项设置统一场影响范围的最大距离。只有用户打开“UseMaxDistance”项时,“MaxDistance”才起作用。

VolumeControlAttributes:设置体积控制属性。

ApplyPerVertex:此项设置仅针对于物体场。此项设置统一场从物体的哪个位置发挥其作用力。当选中此项时,从物体的各个点发出的作用力是相同的。当没有选中此项时,物体场仅从物体的中心发挥其作用力。

TurbulenceFieldsAttribute(振荡场属性)

Magnitude(强度):此项设置振荡场的强度。此项数值越大,振荡场的影响力越大。

Attenuation(衰减):当振荡场和被影响物体之间的距离增加时,此项设置振荡场强度衰减的速度。此项的值越大,则距离增加时强度衰减得越快。当此项值为0时,振荡场的强度为恒量,不会受距离的影响。

Frequency(频率):此项设置振荡场的频率。值越大,被影响物体无规律运动的频率越高。

PhaseX,Y,Z(相位):此项设置振荡场相位的大小。这可影响中断的方向。

InterpolationType(插值类型):Linear指定了在噪声表中进行线性插值,这将在力的作用线上产生一个显著的突变,Quadratic插值能产生一个较平滑的变化,但将使用较多的执行时间。

NoiseLevel(噪声等级):此属性值越大,震荡越不规则。NoiseLevel属性指定了用户希望在噪声表中进行附加查找的次数。0值只对噪声表进行一次查找,这与以前版本的Maya是一样的。总的震荡值是所有查找结果数值的权重平均值。

NoiseRatio(噪音比率):指定了连续查找的权重。此权重是累积计算的。例如,如果用户设置NoiseRatio为0.5,则连续查找的权重是0.5,0.25等等。当 NoiseLev el被设为0的时候,Noiseratio属性是无效的。

UseMaxDistance(使用最大距离):此项决定是否使用MaxDistance项设置的振荡场的影响范围。当选中此项时,振荡场仅对被影响物体在MaxDistance项设置的范围部分起作用。当没选中此项时,无论被影响物体距离振荡场多远,振荡场都会对物体起作用。

MaxDistance(最大距离):此项设置振荡场影响范围的最大距离。必须打开“UseMaxDistance”项,“MaxDistance”项才有效。

VolumeControlAttributes:设置体积控制属性。

ApplyPerVertex:此项仅应用于物体场。此项设置振荡场从物体的哪个位置发挥作用力。当打开此项时,物体场从物体的各个顶点发挥相同的作用力。当关闭此项时,物体场仅从物体的中心发挥其作用力。

DragFieldAttribute(拖动场属性)

Magnitude(强度):设置拖动场的强度。此项的值越大,则对被影响物体的阻力越大。

Attenuation(衰减):当拖动场和被影响物体之间的距离增加时,此项设置拖动场强度衰减的速度。当此项值为0时,拖动场的强度为恒量,不会受距离的影响。(仅在属性编辑器中有效)。

UseDirection:阻力仅作用在被影响物体的指定X、Y、Z速度方向上。(仅在属性编辑器中有效)

例如,如果用户打开了“UseDirection”项,并且物体在与拖动场相同的方向上移动时,拖动场将以最大的强度应用于物体。如果物体在与拖动场力垂直的方向上移动,拖动场对物体没有作用力。如果物体在与拖动场相反的方向上移动,物体将加速运动。

DirectionX、Y、Z设置拖动力沿X、Y和Z轴影响的方向。为了使DirectionX、Y和Z起作用,用户必须打开“UseDirection”项。(www.xing528.com)

如果用户将“UseMaxDistance”项打开,连接到场上的物体在“MaxDistance”定义的范围内受拖动场的影响。在“MaxDistance”定义范围之外的物体不受拖动场的影响。只在属性编辑器中可用。如果用户关闭“UseMaxDistance”项,所有连接到拖动场上的物体不管离拖动场有多远,都受拖动场的影响。

MaxDistance(最大距离):此项设置拖动场影响范围的最大距离。如果使“MaxDistance”起作用,用户就必须打开“UseMaxDistance”项。

VolumeControlAttribute(体积控制属性)

ApplyPerVertex设置场在物体上的发射位置。如果将“ApplyPerVertex”项打开,被选择物体的所有单个点(CV、粒子、顶点)将以场的最大强度发射。如果用户将“ApplyPerVertex”关闭,场仅从被指定点的平均位置发射。

NewtonFieldAttribute(牛顿场属性)

Magnitude(强度):指定牛顿场的强度。数值越大,则牛顿场的影响力越大。正值向场拖拽物体。负值推动物体离开场。

Attenuation(衰减):当牛顿场和被影响物体之间的距离增加时,此项设置牛顿场强度衰减的速度。此项的数值越大,则距离增加时强度衰减得越快。当此项值为0时,牛顿场的强度为恒量,不受距离影响。

MinDistance(最小距离):设置牛顿场与其影响范围之间的最小距离。

UseMaxDistance(使用最大距离):此项决定是否使用下面的MaxDistance项所设置的范围内的部分起作用。当没选中此项时,无论被影响物体距离牛顿场多远,牛顿场都会对物体起作用。

MaxDistance(最大距离):此项设置牛顿场影响范围的最大距离。只有打开“UseMaxDistance”项时,“MaxDistance”才起作用。

VolumeControlAttribute(体积控制属性)

ApplyPerVertex:此项仅针对物体场设置,此项设置牛顿场从物体的哪个位置发挥其作用力。当选中此项时,牛顿场仅从物体的中心发挥其作用力。

Massvaluesofobject(物体质量数值):所有拥有牛顿场或被连接到牛顿场的物体有系统默认的质量值。刚体的默认质量属性是1。

VortexFieldsAttribute(旋涡场属性)

Magnitude(强度):设置旋涡场的强度。数值越大,旋涡场的影响力越大。当值为正时,旋涡场会逆时针旋转被影响物体,当值为负时,旋涡场会顺时针旋转物体。

Attenuation(衰减):当旋涡场和被影响物体之间的距离增加时,此项可以设置旋涡场强度衰减的速度。此项的值越大,则距离增加时强度衰减得越快。当此项值为0时,旋涡场的强度为恒量,不会受距离的影响。

AxisX、Y、Z:指定旋涡场沿哪条轴发挥场的作用力。

UseMaxDistance(使用最大距离):此项决定是否使用下面的MaxDistance项来设置旋涡场的影响范围。当选中此项时,旋涡场只对被影响物体在MaxDistance项所设置的范围内的部分起作用。当没有选中此项时,无论被影响物体距离旋涡场多远,旋涡场都会对物体起作用。

MaxDistance(最大距离):此项设置旋涡场影响范围的最大距离。必须打开“UseMaxDistance”项,“MaxDistance”才起作用。

VolumeControlAttributes:设置体积控制属性。

ApplyPerVertex:此项设置仅针对物体场,此项设置旋涡场从物体的哪个位置发挥其作用力。当选中此项时,物体场从物体的各个点所发出的作用力是相同的。当没有选中此项时,物体场仅从物体的中心发挥其作用力。

RadialFieldAttribute(放射场属性)

Magnitude(强度):设置放射场的强度。数值越大,则放射场的影响力越大。如果此项的数值为正,则放射场会向外排斥被影响物体;如果值为负,则放射场会吸引被影响物体。

Attenuation(衰减):当放射场和被影响物体之间的距离增加时,则此项设置放射场强度衰减的速度。此项的值越大,则当距离增加时,强度衰减得越快。当此值为0时,放射场的强度为恒量,不会受距离影响。

RadialType(放射场类型):此项控制放射场衰减的方式。当值为1时,放射场的影响力在物体到达最大距离时而迅速衰减为0。而当此值是0时,当到达放射场影响范围的尽头时,放射场的作用力逐渐接近于0,但是永远不会到达0。特别指出,在任意位置的作用力取决于距离和MaxDistance的比例关系。如果用户使用了在0和1之间的数值,Maya将采用两种衰减作用的线性混合。

UseMaxDistance(使用最大距离):此项决定是否使用MaxDistance项来设置放射场的影响范围。当打开此项时,放射场只对被影响物体在MaxDistance项所设置的范围内的部分起作用。

MaxDistance(最大距离):设置放射场影响范围的最大距离。必须打开“UseMaxDistance”项,“MaxDistance”才有效。

VolumeControlAttributes:设置体积控制属性。

ApplyPerVertex:此项仅对于物体场设置,此项设置放射场从物体的哪个位置发挥其作用力。当打开此项时,物体放射场从物体的各个点发挥相同的作用力。当关闭此项时,物体场仅从物体的中心发挥其作用力。

AirFieldAttribute(空气场属性)

预先确定设置:

Wind(风力):将空气场属性设置到默认状态,接近风的效果。被连接物体将增加它们的速度,直到在X轴方向达到每帧5个单位。

Wake(移动效果):将空气场属性设置到默认状态,近似模拟空气被运动物体扰乱并被向前拖拽时的运动。如果空气场没有运动,Wake的默认设置不起作用。用户可以将空气场的运动或属于空气场的物体运动制作成动画,或者用户可以将空气场作为移动物体的子物体。如果用户想让移动作用定位于一个固定的场,将“Speed”设置为大于0的值。

Fan(扇形效果):设置空气场属性为默认设置,近似局部扇形效果。被连接物体将以每帧5个单位沿X轴的45度的伸展区运动。系统默认设置,扇形空气场创制出如下空气效果:

Magnitude(强度):此项设置空气场的强度,也就决定了空气在其运动方向上的移动速度。 Mag ni tude和DirectionX、Y和Z属性决定了风的速度。此项的设置越大,则空气场的力量越大。如果数值为正值,空气场把被影响物体向外推,而数值为负值时,空气场会吸引被影响物体。

Attenuation(衰减):当空气场和被影响物体之间的距离增加时,使用此项可以设置空气场强度的衰减速度。当此项的值为0时,空气场的强度为恒量,不受距离的影响。负值是无效的。

注意:当物体接近场的最大距离时,空气场的力量可迅速降低到0。

DirectionX、Y、Z:指定空气运动的方向。

Speed(速度):在使用空气场时,被影响物体会产生相应的运动来反映空气场对它的影响,这表现为被影响物体在速度上尽量与空气速度保持一致,此项就是设置被影响物体匹配空气速度的快慢。当值为1时,物体将与空气运动保持同步,而当值为0时,物体不会运动,这相当于把空气场关闭。

InheritVelocity(或inherit)(继承速度):当空气场本身是运动的或是运动物体的子物体时,此项指定了运动空气场的速度影响Direction和Magnitude程度。用户可取0~1之间的值。

InheritRotation(继承旋转):当空气场本身是旋转的,或是旋转物体的子物体,并且随物体一起旋转时,则空气场的旋转会影响空气场所产生的风的运动。此项可设置此影响是否存在。用户可想象当风扇摆头时,风扇所产生的风是如何受风扇摆头影响的。打开“InheritRotation”选项,可以影响空气场的有效速度。如果用户打开“Wind”和“Fan”按钮,则将“InheritRotation”打开。

ComponentOnly:当此项关闭时,无论被影响物体需要什么力,空气场都将力用来使被影响物体的速度匹配空气场的速度。如果此项打开,空气场将力用于Direction、Speed和Velocity属性联合指定的方向上。另外,没有力用来沿方向减慢物体速度,力仅用于加快速度。继承速度设置为1时的实际速度空气场父物体的运动速度空气场的速度仅比空气场运动慢的物体才受影响。比空气场运动快的物体继续以原来的速度运动。当用户打开Wake按钮时,ComponentOnly被打开。此项仅当InheritVelocity有非0值时才起作用。

EnableSpread:此项指定是否使用“Spreadangle(扩展角度)”。如果将此项打开,空气场只对被影响物体在扩展角度项所设置的范围内的部分起作用。当此项关闭时,空气场对物体在MaxDistance设置的范围内的部分起作用。

Spread(扩展角度):当打开EnableSpread时,则空气场的影响范围是一个圆锥形的区域,此项设置此圆锥形区域的角度。值为1时,在空气场前面180度范围内的所有物体被空气场吹动。当值为0时,仅物体正前方的物体被空气场吹动。在0和1之间的值将沿方向向量,在锥形区域内吹动物体。

UseMaxDistance(使用最大距离):此项决定是否使用MaxDistance项来设置空气场的影响范围。而当此项打开时,空气场只对被影响物体在MaxDistance项所设置的范围内的部分起作用。当此项关闭时,无论被影响物体距离空气场多远,空气场都会对物体起作用。

MaxDistance(最大距离):此项设置空气场影响范围的最大距离。

VolumeAxisFieldAttributes(体积轴场属性)

Magnitude:指定体积轴场的强度。

Attenuation:设置从体积轴场的中心轴的到所在位置的场强度衰减量。大于0的数值使场强在体积边缘时衰减为0。此值越大,场强衰减速度越快。0值使场强从体积轴场的中心轴到边缘始终为恒量。

MaxDistance设定场所能施加作用的最远距离。

注意:体积轴场的MaxDistance和Attenuation属性是以一种特殊的方式工作的。对除了球体外的所有体积轴形状而言,distance(包括MaxDistance和Attenuation属性)被定义为从体积中心轴到所在位置的距离。对圆柱体,圆锥体立方体来说,中心轴是Y轴正半轴。对圆环体来说,中心轴是圆环实体部分的中心圆。球体是一个例外——它使用中心点,而非中心轴(其工作方式与其他场相同)。Distance的特殊定义只适用于体积轴场。即使其他动力场使用体积,也不采用这种方式。

VolumeOffsetX,Y,Z:从动力场实际位置偏移体积轴场。

VolumeShape:指定体积轴场影响粒子和刚体的空间区域的封闭体积形状。用户可以选择五种体积形状:立方体,球体,圆柱体,圆锥体和圆环体。用户所选择的体积轴场形状显示在屏幕上。用户可以移动,旋转,缩放或修剪此动力场。

注意:用户不能对体积进行变形或使用任意其他体积。

VolumeSweep:指定出立方体外所有体积形状的旋转角度。

SectionRadius:指定了圆环体积形状的实体部分厚度。

VolumeSpeedAttributes

InvertAttenuation:当用户打开InvertAttenuation属性并设置   At ten u a tion为大于0的数值时,在体积边缘的体积轴场强度为最大而在中心轴处,场强衰减为0。

AwayFromCenter:指定粒子离开立方体或球体中心时的速度。用户可以使用此属性来创建爆炸效果。

AwayFromAxis:指定粒子离开圆柱体,圆锥体或圆环体的中心轴的速度。对圆环体而言,中心轴是圆环实体部分的中心圆。

AlongAxis:指定粒子在所有体积中心轴上移动的速度。

AroundAxis:指定粒子围绕所有体积中心轴移动的速度。当圆柱体形状使用此属性时,可以创建出气体盘旋效果。

DirectionalSpeed`:在所有体积中,添加DirectionXYZ属性所指定的方向的速度。

DirectionX,Y,Z:按指定X,Y,Z轴的方向移动粒子。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈