MAYA常用表达式

MAYA 常用表达式

1. 实现效果:粒子在目标物体表面的权重值随定位器(locator)的某一轴向上的位置变换而归零。

表达式:if (particleShape1.goalU>locator1.translateY) particleShape1.goalPP =0;

解 释:如果 particleShape1(粒子名称)在座标U 上的目标权重值大于locator1(定位器名称)在Y 轴上的位置变换值, 每粒子电目标点的权重值等于O 。

2. 实现效果:使粒子在目标物体U/V向0-N 分段数之间的随机分布; 表达式:particleShape1.goalU = rand(N);

particleShape1.goalV = rand(N);

解 释:粒子particleShape1在目标物体U 向0-N 分段数之间的随机分布;

粒子particleShape1在目标物体V 向分段0-N 之间的随机分布; 注:N 为大于0的任意整数。

3.实现效果:粒子每一点上的RGB 色值在>,>之间取随机值。

表达式:particleShape1.rgbPP = rand(>,>); 解释:粒子particleShape1在每一点上的RBG 值在>,>这间取随机值。

注:x,y,z ,a,b,c 均为RGB 值,范围在(0-1)之间取任意色值。 rand(>,>);

4.实现效果:粒子在U 座标上每帧按正弦规律颤动

表达式:particleShape1.goalU = particleShape1.goalU + sin(frame)*0.01; 或者:

particleShape1.goalU += sin(frame)*0.01;

注:“+=”的意思是:等号右边的表达式中,如果有一个加数与等号左边的一个加数相同,则可省略右侧相同名称的粒子,在等号左边加一个“+”即可。

5. 实现效果:粒子从A 物体表面逐渐过度转移到B 物体表面,最后A 物体消失,

B 物体出现。

表达式:

vector $locP = >; vector $part = particleShape2.position;

float $abc = mag ($locP - $part);

if ($abc > 5)

particleShape1.goalPP = 1;

else

particleShape1.goalPP = 0;

解 释:

定义矢量变量 $ locP等于定位器1在X\Y\Z三个轴向上的变换值。 定义矢量变量 $ part等于particleShape2的位置。

定义浮点变量 $abc 等于 mag ($locP - $part);

如果($abc > 5)

particleShape1每粒子目标点的权重值等于1。(权重为1时A 物体能够完全吸附粒子)

否则

particleShape1每粒子目标点的权重值等于0。

注:

权重为0时,A 物体失去对粒子的吸附力,粒子被转移至另一目标物体B 。 浮点变量 $abc 的变化,是随着locator1空间座标位置的变化而变化的,(为locator1设置空间位移动画关键帧)

即float $abc = mag ($locP - $part);

“mag()”: 求矢量大小,求得的结果是一个浮点数

6、实现效果:替代粒子发射中,以自定义属性进行每粒子的缩放和旋转。

Creation 模式下书写以下表达式:

particleShape1.costom_scale = rand (0.2,0.6);

particleShape1.costom_rotation = rand (-360,360);

particleShape1.costom_RotationSelf = rand (-2,2);

runtime before dynamics模式下,选择particleShape1.costom_rotation书定以下表达式:

particleShape1.costom_rotation += particleShape1.costom_RotationSelf; 在创建模式下书写表达式的解释:

粒子1的自定义缩放值等于0.2至0.6之间的随机变量;

粒子1的自定义旋转角度等于-360°至360°之间的随机变量(初始旋转角度); 粒子1的自定义飞行中动态旋转角度等于-2°-2 °之间的随机变量;

“运行时动力学前”模式下,选择粒子1的旋转属性,书写表达式的解释: 粒子1的自定义旋转角度等于:自身初始旋转角度,即rand (-360,360),加上粒子1的自定义飞行中动态旋转角度,即 rand (-2,2)。

注:runtime before dynamics 也可理解为粒子发射过程中。

7. 实现效果:多个粒子替代物以不同的(自定义)速度和步幅向某一方向运动。 表达式:

float $speed = mag (particleShape1.velocity);

particleShape1.custom_age = particleShape1.age *$speed*0.04; 解 释:

定义一个浮点变量speed ,等于particleShape1速率的矢量值;

等于particleShape1自定义年龄 等于 particleShape1自身的年龄*浮点变量speed

如果还是觉得粒子替代物行进的太快,可以乘以一个系统,如*0.04,就可使变速整体变慢。

7. 实现效果:粒子精灵大小、旋转方向的随机变化。

表达式:

particleShape1.spriteSclaeYPP = rand (0,5,1);

particleShape1.spriteSclaeXPP = rand (0,5,1);

particleShape1.spriteTwistPP = rand (-360,360);

解释:

粒子1在Y 轴上每粒子的缩放为0,5-1 之间的随机变量;

粒子1在X 轴上每粒子的缩放为0,5-1 之间的随机变量;

粒子1的每粒子的旋转角度为-360-360之间的随机变量;

注:因以上表达式是在Creation 模式下创建,所以只能实现替代粒子在出生之间就具备大小不一和角度不同的属性,要想实现下落过程中的旋转,还要在Runtime before dynamics模式下创建运行表达式:

首先,要在Creation 模式下书写以下表达式

particleShape1.custom_Twist = rand (-5,5);

解释:粒子1的自定义旋转角度为 -5至5之间的随机变量。

切换到Runtime before dynamics 运行表达式模式下,选择粒子1的单粒子旋转属性:

particleShape1.spriteTwistPP =particleShape1.spriteTwistPP + particleShape1.custom_Twist;

可简写为:particleShape1.spriteTwistPP +=particleShape1.custom_Twist;

8. 每粒子的旋转角度,随着每粒子速率的变化而不同。

为粒子创建自定义属性.custom_Twist,在Creation 模式下表达式:

particleShape1.custom_Twist = rand (-2,2);

粒子1的自定义旋转角度为-2至2之间的随机变量;

在Runtime before dynamics运行表达式模式下:

float $speed = mag(particleShape1.velocity);

particleShape1.spriteTwistPP += particleShape1.custom_Twist*$speed*2; 解释:

定义浮点变量$speed 等于粒子1的速率的矢量变量。

粒子1的每粒子点的旋转角度,等于其自身原有角度+自定义的旋转角度即rand (-2,2);,再乘以浮点变量 $speed,若粒子的旋转效果不明显,可再乘以一个系统,如2。

最终效果为:每粒子的旋转角度可随着每粒子速率的变化而不同。

9. 实现效果:为粒子精灵指定动态序列贴图,实现粒子精灵发射的随机循环播放。(知识点: frame%50 每一帧的时间总长度比上序列图片的总长度,取余)

Creation 模式下书写以下表达式

particleShape1.spriteNumPP = rand (0,50);

解释:为每粒子创建一个0至50帧之间的随机变量。

Creation 模式下书写以下表达式:

particleShape1.spriteNumPP += 1;

particleShape1.spriteNumPP = spriteNumPP%50;

解释:粒子发射过程中,每粒子运行一帧,就再增加一帧;(实现每一帧的连续

播放)

粒子1的单粒子晶灵数量=单粒子每一帧的时间总长度比上序列图片总长度(50帧),取余,实现单粒子在每一帧上以不同形态进行循环播放。

10. 实现效果:粒子精灵以随机比例、随机寿命的属性,紧贴曲面以随机速率运动。

Creation 模式下:

particleShape1.spriteNumPP = rand (0,49);

每粒子图像序列编号索引为0-49帧之间的随机变量

particleShape1.goalV = rand (0,1);

每粒子V 向的目标权重为0-1之间的随机变量。

particleShape1.lifespanPP = rand (8,12);

每粒子寿命为8-12之间的随机变量

particleShape1.spriteScaleYPP = rand(0.6,1.2);

每粒子Y 轴的缩放比例为0.6-1.2之间的随机变量

particleShape1.spriteScaleXPP = rand(0.6,1.2);

每粒子X 轴的缩放比例为0.6-1.2之间的随机变量

particleShape1.goalOffset = >; 每粒子的目标偏移世界空间位置为>,其中,Y 为

particleShape1.spriteScaleYPP 的一半,即*0.5,可实现粒子紧贴地形运动。 particleShape1.rgbVPP = rand (0,1);

每粒子在ramp 贴图中V 轴上的RGB 值为0-1之间的随机变量

Runtime before dynamics模式下:

particleShape1.spriteNumPP +=1;

每精灵图像序列编号索引为其自身原编号索引+1

particleShape1.spriteNumPP = particleShape1.spriteNumPP%50;

每精灵图像序列编号索引为,每帧的时间除以序列的长度的余数

float $angle = angle(>,particleShape1.worldVelocity);

浮点变量$angle为,粒子的世界座标位置和世界位置的夹角的弧度(angle 弧度) particleShape2.spriteTwistPP=rad_to_deg($angle);

每精灵的旋转角度(rad_to_deg:转化弧度为角度)

particleShape2.spriteTwistPP=rad_to_deg($angle)-90;

如果角度错误,可再表达式中再减去90度。

MAYA 常用表达式

1. 实现效果:粒子在目标物体表面的权重值随定位器(locator)的某一轴向上的位置变换而归零。

表达式:if (particleShape1.goalU>locator1.translateY) particleShape1.goalPP =0;

解 释:如果 particleShape1(粒子名称)在座标U 上的目标权重值大于locator1(定位器名称)在Y 轴上的位置变换值, 每粒子电目标点的权重值等于O 。

2. 实现效果:使粒子在目标物体U/V向0-N 分段数之间的随机分布; 表达式:particleShape1.goalU = rand(N);

particleShape1.goalV = rand(N);

解 释:粒子particleShape1在目标物体U 向0-N 分段数之间的随机分布;

粒子particleShape1在目标物体V 向分段0-N 之间的随机分布; 注:N 为大于0的任意整数。

3.实现效果:粒子每一点上的RGB 色值在>,>之间取随机值。

表达式:particleShape1.rgbPP = rand(>,>); 解释:粒子particleShape1在每一点上的RBG 值在>,>这间取随机值。

注:x,y,z ,a,b,c 均为RGB 值,范围在(0-1)之间取任意色值。 rand(>,>);

4.实现效果:粒子在U 座标上每帧按正弦规律颤动

表达式:particleShape1.goalU = particleShape1.goalU + sin(frame)*0.01; 或者:

particleShape1.goalU += sin(frame)*0.01;

注:“+=”的意思是:等号右边的表达式中,如果有一个加数与等号左边的一个加数相同,则可省略右侧相同名称的粒子,在等号左边加一个“+”即可。

5. 实现效果:粒子从A 物体表面逐渐过度转移到B 物体表面,最后A 物体消失,

B 物体出现。

表达式:

vector $locP = >; vector $part = particleShape2.position;

float $abc = mag ($locP - $part);

if ($abc > 5)

particleShape1.goalPP = 1;

else

particleShape1.goalPP = 0;

解 释:

定义矢量变量 $ locP等于定位器1在X\Y\Z三个轴向上的变换值。 定义矢量变量 $ part等于particleShape2的位置。

定义浮点变量 $abc 等于 mag ($locP - $part);

如果($abc > 5)

particleShape1每粒子目标点的权重值等于1。(权重为1时A 物体能够完全吸附粒子)

否则

particleShape1每粒子目标点的权重值等于0。

注:

权重为0时,A 物体失去对粒子的吸附力,粒子被转移至另一目标物体B 。 浮点变量 $abc 的变化,是随着locator1空间座标位置的变化而变化的,(为locator1设置空间位移动画关键帧)

即float $abc = mag ($locP - $part);

“mag()”: 求矢量大小,求得的结果是一个浮点数

6、实现效果:替代粒子发射中,以自定义属性进行每粒子的缩放和旋转。

Creation 模式下书写以下表达式:

particleShape1.costom_scale = rand (0.2,0.6);

particleShape1.costom_rotation = rand (-360,360);

particleShape1.costom_RotationSelf = rand (-2,2);

runtime before dynamics模式下,选择particleShape1.costom_rotation书定以下表达式:

particleShape1.costom_rotation += particleShape1.costom_RotationSelf; 在创建模式下书写表达式的解释:

粒子1的自定义缩放值等于0.2至0.6之间的随机变量;

粒子1的自定义旋转角度等于-360°至360°之间的随机变量(初始旋转角度); 粒子1的自定义飞行中动态旋转角度等于-2°-2 °之间的随机变量;

“运行时动力学前”模式下,选择粒子1的旋转属性,书写表达式的解释: 粒子1的自定义旋转角度等于:自身初始旋转角度,即rand (-360,360),加上粒子1的自定义飞行中动态旋转角度,即 rand (-2,2)。

注:runtime before dynamics 也可理解为粒子发射过程中。

7. 实现效果:多个粒子替代物以不同的(自定义)速度和步幅向某一方向运动。 表达式:

float $speed = mag (particleShape1.velocity);

particleShape1.custom_age = particleShape1.age *$speed*0.04; 解 释:

定义一个浮点变量speed ,等于particleShape1速率的矢量值;

等于particleShape1自定义年龄 等于 particleShape1自身的年龄*浮点变量speed

如果还是觉得粒子替代物行进的太快,可以乘以一个系统,如*0.04,就可使变速整体变慢。

7. 实现效果:粒子精灵大小、旋转方向的随机变化。

表达式:

particleShape1.spriteSclaeYPP = rand (0,5,1);

particleShape1.spriteSclaeXPP = rand (0,5,1);

particleShape1.spriteTwistPP = rand (-360,360);

解释:

粒子1在Y 轴上每粒子的缩放为0,5-1 之间的随机变量;

粒子1在X 轴上每粒子的缩放为0,5-1 之间的随机变量;

粒子1的每粒子的旋转角度为-360-360之间的随机变量;

注:因以上表达式是在Creation 模式下创建,所以只能实现替代粒子在出生之间就具备大小不一和角度不同的属性,要想实现下落过程中的旋转,还要在Runtime before dynamics模式下创建运行表达式:

首先,要在Creation 模式下书写以下表达式

particleShape1.custom_Twist = rand (-5,5);

解释:粒子1的自定义旋转角度为 -5至5之间的随机变量。

切换到Runtime before dynamics 运行表达式模式下,选择粒子1的单粒子旋转属性:

particleShape1.spriteTwistPP =particleShape1.spriteTwistPP + particleShape1.custom_Twist;

可简写为:particleShape1.spriteTwistPP +=particleShape1.custom_Twist;

8. 每粒子的旋转角度,随着每粒子速率的变化而不同。

为粒子创建自定义属性.custom_Twist,在Creation 模式下表达式:

particleShape1.custom_Twist = rand (-2,2);

粒子1的自定义旋转角度为-2至2之间的随机变量;

在Runtime before dynamics运行表达式模式下:

float $speed = mag(particleShape1.velocity);

particleShape1.spriteTwistPP += particleShape1.custom_Twist*$speed*2; 解释:

定义浮点变量$speed 等于粒子1的速率的矢量变量。

粒子1的每粒子点的旋转角度,等于其自身原有角度+自定义的旋转角度即rand (-2,2);,再乘以浮点变量 $speed,若粒子的旋转效果不明显,可再乘以一个系统,如2。

最终效果为:每粒子的旋转角度可随着每粒子速率的变化而不同。

9. 实现效果:为粒子精灵指定动态序列贴图,实现粒子精灵发射的随机循环播放。(知识点: frame%50 每一帧的时间总长度比上序列图片的总长度,取余)

Creation 模式下书写以下表达式

particleShape1.spriteNumPP = rand (0,50);

解释:为每粒子创建一个0至50帧之间的随机变量。

Creation 模式下书写以下表达式:

particleShape1.spriteNumPP += 1;

particleShape1.spriteNumPP = spriteNumPP%50;

解释:粒子发射过程中,每粒子运行一帧,就再增加一帧;(实现每一帧的连续

播放)

粒子1的单粒子晶灵数量=单粒子每一帧的时间总长度比上序列图片总长度(50帧),取余,实现单粒子在每一帧上以不同形态进行循环播放。

10. 实现效果:粒子精灵以随机比例、随机寿命的属性,紧贴曲面以随机速率运动。

Creation 模式下:

particleShape1.spriteNumPP = rand (0,49);

每粒子图像序列编号索引为0-49帧之间的随机变量

particleShape1.goalV = rand (0,1);

每粒子V 向的目标权重为0-1之间的随机变量。

particleShape1.lifespanPP = rand (8,12);

每粒子寿命为8-12之间的随机变量

particleShape1.spriteScaleYPP = rand(0.6,1.2);

每粒子Y 轴的缩放比例为0.6-1.2之间的随机变量

particleShape1.spriteScaleXPP = rand(0.6,1.2);

每粒子X 轴的缩放比例为0.6-1.2之间的随机变量

particleShape1.goalOffset = >; 每粒子的目标偏移世界空间位置为>,其中,Y 为

particleShape1.spriteScaleYPP 的一半,即*0.5,可实现粒子紧贴地形运动。 particleShape1.rgbVPP = rand (0,1);

每粒子在ramp 贴图中V 轴上的RGB 值为0-1之间的随机变量

Runtime before dynamics模式下:

particleShape1.spriteNumPP +=1;

每精灵图像序列编号索引为其自身原编号索引+1

particleShape1.spriteNumPP = particleShape1.spriteNumPP%50;

每精灵图像序列编号索引为,每帧的时间除以序列的长度的余数

float $angle = angle(>,particleShape1.worldVelocity);

浮点变量$angle为,粒子的世界座标位置和世界位置的夹角的弧度(angle 弧度) particleShape2.spriteTwistPP=rad_to_deg($angle);

每精灵的旋转角度(rad_to_deg:转化弧度为角度)

particleShape2.spriteTwistPP=rad_to_deg($angle)-90;

如果角度错误,可再表达式中再减去90度。


相关内容

  • 电脑美术设计实习报告
  • 尊敬的校领导: 您好! 面临毕业实习在即的我!心情也是非常的激动!我是03级的毕业生!新的学年的开始当然也是我们毕业实习的开始!身边的同学纷纷都找到了单位和公司实习去了!我也和大家一样!但是并没有想象的那那样完美!我也是远离家乡!但是并没有离开我的母校! 我实习是在这里就是现在的南阳!这是我第一次到 ...

  • 平面设计最常用什么软件
  • 平面设计最常用什么软件 平面设计软件可以说多如牛毛,实际上常用平面软件无外乎4个: photoshop 图像处理 ,格式:PSD CorelDRAW 矢量绘图 , 格式:cdr Illustrator 矢量绘图 , 格式:Ai InDesign 排版, 格式:id 回答:2010-10-20 10: ...

  • [三维动画设计与制作]毕业论文
  • 河南职业技术学院 毕业设计(论文) 题目<三维动画设计与制作> 河南职业技术学院 信息工程系 毕业设计(论文)任务书 毕业设计(论文)指导教师评阅意见表 摘要 本文从三维动画短片的视觉效果出发,对动画短片中涉及的三维动画制作, 后期特效制作方法进行了详细的阐述,并解析归纳了适用于短片动画 ...

  • 大学生应该学习的软件
  • 你是否为大学生活不知道该做什么在苦恼? 你是否已经感知到大学专业学习知识的匮乏? 你是否自己也想多学习或者接触些新的行业软件? . 1.About互动媒体行业分析(平面媒体.网络媒体.商业插画.FLASH高级设计.数字摄影) 2.About建筑设计行业分析(建筑表现与动画.建筑表现.室内设计) 3. ...

  • Maya设计之论文
  • Maya 设计之论文三维动画软件 Maya.它是 Alias/Wavefront 公司推出的,Alias 和 Wavefront 一度曾是工作站三维动画制作业极富盛名的两大招牌.几经收购合并 后,两者合二为一变成了 Silicon Graphics 属下的 Alias/Wavefront 公司,出 ...

  • 动漫设计专业毕业论文
  • 论文题目: 教学中心: 电子科技大学网络教育学院 指导老师: 丰伟刚 职 称: 学生姓名: 孙 彤 学 号: 专 业: 电脑艺术设计 电子科技大学网络教育学院制 2011年11月11日 摘 要 动漫作为一个文化产业,以其独特的优势,新颖的特点,广大的受众,政府的扶持,迅速在各个市级城市体现价值,各个 ...

  • 数字动漫学习与职业规划
  • 第一阶段 电脑美术 培养学员的美术欣赏水平和艺术感觉,学会如何用艺术的眼光去观察周围的事物,如何对物体的造型结构和色彩进行表现,并学习如何应用 zbrush 和 photoshop 等软件去实现 cg 艺术创作. 第二阶段:3dmax 动画 1.动画初级: 3dmax 基本操作与基本模块及动画, 3 ...

  • 动漫毕业论文设计
  • 石家庄外国语职业学院 毕业设计(论文) 题 目: 广告宣传片 系.专业:班 级: 08动漫 学生姓名: 高稳华 指导教师: 韩翠林 二O 年 月 日 毕业设计(论文)任务书 学生姓名: 高稳华 专业班级: 08动漫 毕业设计(论文)起止日期:2010 年 11 月 20 日 至 2010 年 12 ...

  • 动漫毕业论文
  • (此文档为word 格式,下载后您可任意编辑修改!) 石家庄外国语职业学院 毕业设计(论文) 题 目: 广告宣传片 系.专业:班 级: 08动漫 学生姓名: 高稳华 指导教师: 韩翠林 二O 年 月 日 毕业设计(论文)任务书 学生姓名: 高稳华 专业班级: 08动漫 毕业设计(论文)起止日期:20 ...