加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【Maya】刚体动力学特效-刚体属性参数

(2011-04-21 16:04:02)
标签:

学习

杂谈

分类: maya粒子特效

Rigid bodies刚体
一个刚体就是一个多边形或者NURBS曲面转换为硬直的形状。与常规表面不同,在动画过程中,刚体会发生碰撞而不是彼此穿插。要设置刚体动画,你可以使用力场,关键帧,表达式,刚体约束,或者粒子碰撞。 
 http://img396.ph.126.net/go5GcLIe9_HgWTChzLgzIg==/1090715534754923220.jpg
Maya内有两种刚体类型-Active主动和passive被动。一个主动刚体会受到动力学作用-力场,碰撞以及未加入动画帧的弹力。一个被动刚体可以与主动刚体发生碰撞。你可以对它的位移和旋转属性设置动画关键帧,但动力学对其无任何影响。
例如,在地板上弹跳的球,你需要将球作为主动刚体,因为它需要受到重力作用落于地面,且在与地面碰撞后反弹;地板则作为被动刚体,当球体与它发生碰撞时,它不会产生偏移。
刚体的动力学动画是通过一个叫做刚体解算器的Maya构成进行控制的。刚体的动力学动画由力场和碰撞创建。
注意
· 每个物体或者物体组只能创建一个刚体
· 只有法线朝向外部的刚体表面一侧才能发生碰撞。如果刚体间发生穿插,则会出现错误信息。
· 不要对刚体的Scale缩放比例或者其他变形属性设置动画关键帧
· 曲线不能作为刚体
· 细分表面不能作为刚体
· 你可以在一个刚体的内部制作刚体碰撞。将一个物体放置在其他物体的内部,翻转外部物体的表面或者法线,然后对内部的物体设置一个向外的动画。
· 当对被动刚体的Translate(位移)和Rotate(旋转)属性设置动画关键帧,时间滑块不会显示关键帧的标记――使用GraphEditor(曲线编辑器)可以查看这些关键帧。你不能通过常规方法来移除这些关键帧。
· 复制刚体特效时,应避免使用Edit > Duplicate菜单下的Duplicate Input Connections(复制输入连接) 或者 Duplicate Input Graph(复制输入图表)。应使用Dynamics Relationship Editor(动力学关系编辑器)来连接复制的刚体和力场。

 


 

Rigid Solver Attributes刚直解算器属性
Step Size 步长
设置每帧刚体发生计算的频率。例如,动画的每一帧为0.1秒,而步长设置为0.033秒,解算器将会在一帧内计算刚体动画三次。
通常,降低步长值会改善刚体动画的精度,但会降低场景播放速度。如果你场景中快速移动的刚体没有发生预想的碰撞效果,降低步长的数值。这是个非动画关键帧的属性,仅为属性编辑器中的只读属性。
Collision Tolerance 碰撞容差
设置当一个刚体解算器检测碰撞时的精度和速度。通常,较小的碰撞容差值会增加计算时间和碰撞精度。一个低碰撞容差常用于解决极小或者轻薄物体的精确碰撞。这是个非动画关键帧的属性,仅为属性编辑器中的只读属性。
Scale Velocity 缩放速度
缩放速度与Display Velocity(显示速度)属性一起使用。当开启了显示速度,一个移动中的刚体将显示出一个速度箭头图标 ,该图标表示刚体运动的强度和方向。你可以改变缩放速度值来缩放箭头。
Start Time 起始时间
设置解算器开始对刚体运算动力学动画时的时间滑块上的帧数。
Current Time 当前时间
可以对连接到解算器的所有刚体的动力学动画进行加速或减慢。当前时间对刚体的作用效果与其对粒子物体的作用是相同的。
Rigid Solver Methods刚直解算器方式
Solver Method 解算方式
决定刚体运算的精度和速度。
Midpoint 中点
以低精度进行较快速的计算。
Runge-Kutta龙格-库塔法
以适中的速度和精度计算。
Runge-Kutta Adaptive 自适应的龙格-库塔法
以高精度进行较慢的计算。这是默认设置。
Rigid Solver States刚直解算器状态
State 状态
开启或关闭力场、碰撞以及刚体约束作用于所控制刚体上的效果。如果你想加快动画的播放速度并暂时忽略刚体特效,可以关闭状态。
Friction 摩擦力
设置刚体碰撞之后的固定或滑动效果。如果摩擦开启,刚体将被固定;关闭,刚体则产生滑动。
如果刚体间的联系被限制在瞬时碰撞,摩擦设置产生的作用不大;关闭摩擦可提高动画播放速度。
Bounciness 弹力
当关闭,碰撞后物体不会发生回弹,不过能提高刚体动画的运算速度。
Contact Motion 关联运动
当开启,Maya将会对刚体动力学进行牛顿物理学的模拟。
当关闭,Maya将会模拟一个没有惯性的阻尼环境。具体而言,如弹力和摩擦力这样的碰撞力将不会作用于刚体上。力场虽作用于刚体上,但是不具备初旋转,初速度或者冲力。
Contact Data 关联数据
积累场景中刚体间的关联数据。
Allow Disconnection 允许断开
默认情况下,你不能断开刚体与控制其动力学动画的刚直解算器之间的联系。当开启允许断开选项,你可以打断该联系。该属性为属性编辑器中的只读属性。
Cache Data 缓存数据
如果开启, Maya将会在内存中缓存连接至解算器的所有刚体的动力学状态。在缓存之后,你可以来回拖动时间滑块来观看动画效果。
Delete Cache 删除缓存
删除连接至解算器的所有刚体动力学状态的缓存。
Rigid Solver Display Options刚直解算器显示选项
Display Constraint 显示约束
显示刚体约束的图标。
Display Center of Mass 显示质量中心
显示每一个刚体质量中心的图标。
Display Velocity 显示速度
显示箭头图标,表示刚体的速度大小和方向。

http://img396.ph.126.net/XlU7zau8bMVylUAfaUpoVw==/1090715534754923244.jpg
Display Label 显示标签
标记刚体为主动或被动,同时会显示约束的类型。

http://img396.ph.126.net/PsPFyJFQW2eO1SVlaJgHKQ==/1090715534754923254.jpg

 


 

RigidBody刚体节点属性

选择场景中的几何体,执行Soft/Rigid Bodies > Create Active Rigid Body 赋予物体刚体属性。
以下属性为创建刚体之前,刚体命令的选项菜单中的属性。
Rigid Body Name 刚体名称
命名刚体便于识别。
Active 主动
使刚体成为一个主动刚体。如果关闭,刚体将是被动属性。
Particle Collision 粒子碰撞
如果你对表面进行粒子碰撞,且该表面为主动刚体,那么你可以开启或关闭粒子碰撞,设置刚体是否受碰撞力作用。
Allow Disconnection 允许断开
默认情况下,你不能断开刚体与控制其动力学动画的刚直解算器之间的联系。当开启允许断开选项,你可以打断该联系。该属性为属性编辑器中的只读属性。
Mass 质量
设置一个主动刚体的质量。质量越大,它碰撞物体时产生的效果也越大。Maya会忽略被动刚体的质量属性。
注意:刚直选项窗口包含质量中心设置,初始位置设置,以及初始速度设置的检验栏。这三个检验栏对质量中心,初始位置,以及初始速度的X,Y,Z进行设置编辑。质量中心设置只应用于主动刚体。
Center of Mass X, Y, Z 质量中心的X,Y,Z坐标
定义一个主动刚体质量中心在局部空间坐标系中的位置。一个交叉形的图标表示质量的中心,在线框显示模式可以很容易的看到它。
质量中心影响着一个主动刚体的回弹运动。例如,假设你将一个球体的质量中心放置于下面,并且接近球体表面;当球体在重力场作用下落,与一个NURBS平面的被动刚体进行碰撞时,球体会沿着质量中心摇摆回弹。
当设置了InitialSin(初始旋转),质量中心也决定了一个主动刚体的旋转点。例如,设置质量中心在一个主动刚体球的内部,刚体旋转将是自身进行;设置质量中心在球体之外,球体旋转则围绕质量中心进行。
默认情况下,一个多边形物体的质量中心是它包裹盒的质心。一个NURBS物体的默认质量中心则可能会稍微偏离质心。Maya不会在被动刚体的动力学计算中使用质量中心。
Lock Center of Mass 锁定质量中心
默认情况下,在建模过程中改变物体的表面,Maya会对一个主动刚体的质量中心进行重新计算;如果开启此属性,Maya将不会改变质量中心。该属性只在属性编辑器中有用。
Static Friction 静摩擦力
设置当一个刚体从静止状态发生运动时,与另一个刚体之间产生的反作用力。例如,当你将一个球体放在斜面上,静摩擦力可设置球体开始初始滑动或者滚下平面的难易程度。在一个物体的运动过程中,静摩擦力对物体的影响微乎其微。
数值为0的静摩擦力让刚体运动的更自由,而数值为1则减小移动效果。
Dynamic Friction 动摩擦力
设置运动中的刚体与另一刚体表面之间的相对摩擦力。
数值为0的静摩擦力让刚体运动的更自由,而数值为1则减小移动效果。
提示:当两个刚体被关联,每一个的静摩擦力和动摩擦力都会对运动产生影响。要调整关联刚体的滑行和滚动,可对静、动摩擦力进行各种数值的设置。例如,要模拟一个冰球在湿冰上穿行,必须同时设置冰球与冰面的动摩擦力接近0。
Bounciness 弹力
设置刚体的回弹性。
Damping 阻尼
设置一个相对刚体运动的反向作用力。该属性与拖拽场相同;物体发生碰撞的前后,它都会作用于物体之上。正数值将降低运动,而负数值则加强运动。
Impulse X, Y, Z 推力的X,Y,Z坐标
定义推力的局部空间方位,对刚体创建一个带强度和方向的瞬时力场。数值越高,力场强度越大。
Impulse Position X, Y, Z 推力方位的X,Y,Z坐标
在刚体的局部空间内定义推力产生的方位。如果推力发生于一个点上而非质量中心,刚体旋转将围绕它的质量中心进行,另外还会发生变速运动。
如果定义了一个物体表面边界以外的位置,刚体的旋转和速度仍被显示。需要注意的是,0,0,0的物体局部空间位置就是物体包裹盒的中心。
Spin Impulse X, Y, Z 旋转推力X,Y,Z坐标
在你定义的X,Y,Z方向上,应用一个瞬时的旋转力场到刚体的质量中心。这些数值设置了强度和方向。数值越高,旋转力场的强度越大。
注意:属性编辑器可以显示刚体当前的速度,旋转,力场,以及扭转力。
Solver Id 解算器编号
这个只读的刚体索引数目被解算器用于计算刚体的动力学。你可以在MEL脚本和表达式中使用这些解算器ID来识别解算器中的特定刚体。
Initial Settings attributes 初始设置属性
Initial Spin X, Y, Z 初始旋转X,Y,Z坐标
设置刚体的初始角速度。这将使刚体发生旋转。
Initial Position X, Y, Z 初始位置X,Y,Z坐标
设置刚体在世界空间内的初始位置。
Initial Orientation X, Y, Z 初始方向X,Y,Z坐标
设置刚体的初始局部空间方向。例如,一个X值为90的初始方向,表示物体具有一个围绕X轴进行90度旋转的方向。这将会假定你使用角度而不是弧度作为你的计算单位。
Initial Velocity X, Y, Z 初始速度X,Y,Z坐标
设置刚体的初始速度和方向。
Performance Attributes性能属性
Stand In 代替
在下拉菜单中选择刚体替代的方式:none(不替代),cube(方体)或者sphere(球体)。初始物体仍会在场景中保持可见。如果使用了sphere或者cube替代刚体,动画运算速度会提高,但碰撞反应会异于实际物体。要使用实际几何体运算,应选择none。
Apply Force At 力作用点
在下拉菜单中选择力场作用于刚体的位置:质量中心,包裹盒角落,CVs控制点,全部点。
Center of Mass 质量中心
在质量中心的单一位置应用力场。不会有扭转力传递给刚体。
Bounding Box 包裹盒
应用力场至物体包裹盒的8个拐角。这是默认的设置。要显示物体的包裹盒,在工作区面板上的菜单中选择Shading>BoundingBox。
Vertices or CVs 点或者Cvs(控制点)
应用力场至多边形物体的每个点,或者NURBS曲面的每个CV点。这是最慢但同时也是最高精度运算的选项。
http://img39.ph.126.net/8pDec0ZFrkPqAj3gj1IhaQ==/3142949589952834549.jpg
Tessellation Factor 镶嵌因数
在运算刚体动力学动画时,Maya会在内部将NURBS物体转换为多边形。镶嵌因数设置了在转换过程中创建多边形的近似数。低数值会创建粗糙的几何体并降低动画精度,不过能提高运算速度。
如果在一个崎岖的表面上制作弹跳动画,你需要增加镶嵌因数。使用若干数值进行测试,直到达成预想效果。
改变镶嵌因数的数值后,内部的转换将立刻进行一次,这在较复杂的NURBS曲面上会花费一些时间。增加镶嵌参数会增加Maya检测刚体碰撞所用的时间。
Collision Layer 碰撞层(注意与内核布料系统碰撞层的区别)
物体彼此之间发生碰撞时,使用碰撞层可创建物体的专用组。只有在同一碰撞层数值下的刚体才会发生相互碰撞。
例如,假设有4个相向运动的物体,我们打算让其中的一个物体穿过其他物体(即不产生碰撞),那么可以对这个物体设置一个不同的碰撞层数值。
 将刚体置于不同的碰撞层,可以将少碰撞过程的计算所耗费的时间。
位于-1(负1)碰撞层中的刚体将与解算器中的所有刚体发生碰撞,无论它们的碰撞层是多少。 
 http://img396.ph.126.net/UjFrR0ogtPKRgcFKSg0chA==/1090715534754923216.jpg
Collisions 碰撞
当关闭,刚体不会与场景中的任何物体发生碰撞。 
 http://img396.ph.126.net/rC00fXpz5NKC_l8j9AlNHg==/1090715534754923230.jpg
提示:你可以开启两个或者更多刚体的Interpenetrate穿插属性,从彼此碰撞的物体中阻止部分物体的碰撞。要达到这个目的,选择物体,然后执行Solvers>SetRigidBodyInterpenetration。如果需要关闭穿插属性,选择物体,执行Solver>SetRigidBodyCollision。
Ignore 忽略
当开启,将关闭力场作用,碰撞,以及其他刚体特效。当场景中有大量需要集中计算的刚体,你可以禁止部分物体来提高动画的播放速度。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有