首页 百科知识 深入粒子通用属性

深入粒子通用属性

时间:2023-10-16 百科知识 版权反馈
【摘要】:在这里必须要提到的是:前面说的属性都是每个粒子的属性也就是“PerParticle-Attribute”而对于整个粒子的属性也有控制叫做“PerObjectAttribute”,它是对粒子整体的控制,也包括颜色和透明度,这就是为什么颜色和透明度并没有直接添加到PerParticleAttribute面板里面的原因。)前面我们知道了通用属性都表示粒子的什么信息,那么只要更改这些信息,就能控制每个粒子的这些属性了。默认情况下maya暂时不为这个属性赋值。

第三节 深入粒子通用属性

这一节,我们将深入的学习粒子的通用属性,理解每一个通用属性的本质。

img47

首先让我们看一下Maya的粒子有几个通用属性:

position:

每个粒子的位置信息;

velocity:

每个粒子的速度信息;

acceleration:

每个粒子的加速度信息;

mass:

每个粒子的质量信息;

lifespanPP:

每个粒子的生命周期;

粒子常用的通用属性除了上面已经存在于属性面板上的以外还有两个最常用的属性:颜色,透明,需要单独按需要增加:

怎么增加?只要用鼠标点击相应的按钮,属性就会被增加到通用属性面板里面,然后就可以在属性面板里面,用各种方法对粒子的颜色或是透明度进行控制了。

img48

在这里必须要提到的是:前面说的属性都是每个粒子的属性也就是“PerParticle-Attribute”

而对于整个粒子的属性也有控制叫做“PerObjectAttribute”,它是对粒子整体的控制,也包括颜色和透明度,这就是为什么颜色和透明度并没有直接添加到PerParticleAttribute面板里面的原因。

我们点击颜色按钮就会看到,系统会让我们选择是添加PerObjectAttribute还是PerParticleAttribute。

自动增加的RgbPP(颜色)PerParticle属性

img49

自动增加的颜色控制PerObjectAttribute属性

img50

关于PerObjectAttribute和PerParticleAttribute的区别,相信大家都知道,在这里我还是简单的说一下:

PerObjectAttribute控制粒子的统一属性;

PerParticleAttribute则可以控制每一个粒子的自身属性。

有了PerParticleAttribute,那么PerObjectAttribute将不再对粒子产生效果,就以颜色为例:当你控制了每一个粒子的颜色的时候,还用得着再为整体粒子设定一个颜色么?就算设定了有用么?答案你应该知道。

(在本书里面,我们对粒子的控制全部是精确到每一个粒子的,所以提到粒子的属性如果没有特殊说明就指的是PerParticleAttribute。)

前面我们知道了通用属性都表示粒子的什么信息,那么只要更改这些信息,就能控制每个粒子的这些属性了。在动手更改这些属性值之前,我们还必须知道这些值是什么格式的,和用怎样的方式赋值?

使用ParticleTool工具在场景里建立一个粒子,在RanderType里面我们可以设置粒子的渲染属性,也就是粒子的表现形式。我们把它调整为Numeric(该粒子直接将粒子的属性值反映到窗口视图中),并且点击CurrentRanderType按钮,默认的我们会看到有AttributrName里面是ParticleID,这意味着窗口中的数字是这个粒子的ID号:

img51

ParticleID是一个非常重要的粒子属性,每一个粒子都有一个唯一的ID号码,我们看到在窗口里的显示是0.000,这说明两点:第一点,这个粒子的ID号是0;第二点,ID号的属性值是一个浮点数(float),不了解?不要紧我们后面会详细讲解(其实浮点数就是由小数点的数)。接下来就看看每个通用属性的值是什么样子的:

直接在AttributrName后面的文本框里面打入Position就可以看到粒子的Position值了。

img52

img53

Position属性的值很特殊,它由三个数组成:0,0,0分别表示该粒子在X,Y,Z轴上的位置,我们把这种值叫做矢量,写作Vector,他的值写成<>;

这个<<0,0,0>>表示这粒子现在的位置是世界坐标轴的轴心上,也就是原点上,在这一点上X,Y,Z的坐标分别是0,0,0。

velocity粒子属性:

img54

velocity很明显也是矢量的数据结构,不是说velocity是速度吗?为什么还会有三个呢?很简单物理学里面速度不就是矢量的么?在三维空间里面的速度矢量,它分别在X,Y,Z轴上都有速度分量,这个数据<<-0.166,-0.391,0.228>>意味着粒子在这一刻的速度是:在X轴上反方向0.166单位、Y轴方向反方向0.391单位、Z轴方向0.228单位。

acceleration粒子属性:

img55

acceleration加速度也是一样的矢量,<<0,-9.8,0>>意味着什么?在Y轴的加速度是9.8意味着什么?物理学上把受重力的物体的加速度怎么算来着?没错,垂直向下9.8。

mass粒子属性:

img56

mass质量,1.000。很简单了粒子的质量默认的是1。

LifespanPP粒子属性:

img57

lifespanPP生命周期,是INF什么意思?意思是还没有被赋值。默认情况下maya暂时不为这个属性赋值。

worldVelocity粒子属性:

img58

worldVelocity是一个只读属性表示粒子在世界坐标轴空间里的速度。

rbgPP粒子属性:

img59

rgbPP颜色,默认的创建了每个粒子的颜色属性后,颜色的初始状态是黑色,即:R=0,G=0,B=0;所以很明显这里的<<0,0,0>>依然是矢量,不同的是这里的三个数字分别表示颜色的三种原色:r,g,b上的数值。

因此,红色(r)代表X轴方向;绿色(g)代表Y轴方向;蓝色(b)代表Z轴方向;这一点可以观察maya操作窗口左下角的世界坐标发现,不是吗?X轴是红色的,Y轴是绿色的Z轴则是蓝色的。

在颜色属性里r、g、b、每一个的最大值是1最小值是0。也就是说<<1,1,1>>表示的将是黑色,这一点与Photoshaop中rgb的265最大值不同。(最大值为1是为了便于利用表达式控制,比如:sin函数的返回值是-1到1的值。)

opacityPP粒子属性:

img60

opacityPP控制每个粒子的透明属性,只是一个简单的浮点数,默认的是1(不透明);很简单的0就是透明了。

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

我要反馈