将碎片连接到场

 
 
 

一旦已破碎对象,则可以使用移动工具来移动碎片并为运动设置关键帧,也可以将碎片连接到“动力学”(Dynamics)场,并使该场移动碎片。

注意

如果将场添加到属于形状的碎片中,则该软件会在“碰撞”启用的情况下自动将形状转化为主动刚体。该操作将导致刚体出现穿透问题,因为碎片的边会彼此重叠。禁用刚体的碰撞则可解决该问题。

将刚体碎片连接到场

  1. “大纲视图”(Outliner)中,展开破碎节点。
  2. 亮显场要影响的碎片。
  3. “动力学”(Dynamics)菜单中,选择“场”(Fields) > 场名称

    该场将会创建,并连接到碎片。

将柔体碎片连接到场

  1. “大纲视图”(Outliner)中,展开破碎节点。
  2. 展开场要影响的碎片,选择碎片粒子形状 (shard#Particle)。

    如果需要所有碎片均受场影响,则必须选择每个碎片的粒子形状。

  3. “动力学”(Dynamics)菜单中,选择“场”(Fields) > 场名称

    该场将会创建,并连接到碎片。

将原始曲面链接到碎片

启用“链接到碎片”(Link to Shards)选项时,Maya 将从原始曲面到碎片建立多个连接。使用该选项,可以使用原始曲面的变换节点上的一个属性来控制原始曲面和碎片的可见性。

破碎属性

使用“链接到碎片”(Link To Shard)选项时,“破碎”(Shatter)属性将添加到原始对象的变换中。“破碎”(Shatter)属性可以切换破碎曲面的可见性与原始曲面的可见性。启用“破碎”(Shatter)属性时,破碎对象将可见。禁用“破碎”(Shatter)属性时,原始对象将可见。默认情况下,“破碎”(Shatter)已启用。因此,创建破碎时,可以看到破碎对象。

刚体

如果在“碰撞”禁用的情况下选择刚体作为后期操作,且已启用“链接到碎片”(Link To Shards),则破碎节点将设置为原始对象的子对象,且“破碎”(Shatter)属性将连接到刚体的主动/被动属性。

如果已启用“使原始曲面成为刚体”(Make Original Surface Rigid)选项,则“破碎”(Shatter)属性还会链接到原始刚体的“忽略”(Ignore)属性。启用“破碎”(Shatter)属性时,原始对象的“忽略”(Ignore)属性也会启用。这样将导致原始曲面在刚体解算器中会忽略,并且防止在破碎对象可见时原始曲面影响任何其他刚体。

禁用“破碎”(Shatter)属性时,碎片将变为被动刚体。启用“破碎”后,碎片变为主动刚体,以便场会影响它们。当对象碰撞到曲面时,可以使用该选项来创建破碎对象。

破碎刚体

  1. 创建一个对象要碰撞的曲面,并使其为被动刚体。
  2. 将被动刚体的碰撞层设定为 -1。

    这样可将其设定为通用碰撞层,允许它与每个刚体发生碰撞。

  3. 创建一个要破碎的对象。
  4. 选择效果 > 创建破碎(Effects > Create Shatter) >
  5. 选择所需的破碎类型。
  6. “后期操作”(Post Operation)设定为“碰撞为禁用的刚体”(rigid bodies with collisions off)
  7. 启用“链接到碎片”(Link To Shards)
  8. 启用“原始曲面刚体”(Original Surface Rigid)
  9. 单击“创建”(Create)
  10. “大纲视图”(Outliner)中,展开已破碎的对象,以显示破碎节点。展开破碎节点。选择碎片,在按住 Ctrl 键的同时单击鼠标(Linux 和 Windows),或者在按住 Command 键的同时单击鼠标 (Mac OS X),以选择原始对象。
  11. “动力学”(Dynamics)菜单中,选择场 > 重力(Fields > Gravity)
  12. 选择原始对象。在动画的开始处,为“破碎”(Shatter)属性设置关键帧以禁用该选项。

    原始对象将可见,且为主动刚体。

  13. 播放动画,直到对象要撞击被动刚体曲面为止。
  14. “破碎”(Shatter)属性设置关键帧。

    破碎对象将可见,碎片变为主动刚体。

  15. 回放并播放。

柔体

如果已选择柔体的后期操作,且已启用“链接到碎片”(Link To Shards),则破碎节点将不会设置为原始对象的子对象“破碎”(Shatter)属性将添加到原始对象的变换节点,并控制可见性。启用“破碎”(Shatter)属性时,破碎对象将可见。禁用“破碎”(Shatter)属性时,原始对象将可见。

此外,目标权重属性也会添加到原始对象的变换中,它可以控制柔体粒子形状的目标权重。该“控制”目标权重是指除了已添加到碎片的粒子形状中的目标权重以外的目标权重

禁用“破碎”(Shatter)属性时,碎片的粒子形状的目标权重将设定为 1。这会导致当原始曲面不可见时,破碎对象产将跟随目标对象(即:原始曲面的副本)。启用破碎属性时,破碎对象将可见,且每个粒子形状的目标权重将设定为原始曲面的“控制”目标权重属性值。这些属性与表达式连接在一起。

可以使用该选项来创建炸开的柔体。

炸开柔体

  1. 创建一个要破碎的对象。
  2. 选择效果 > 创建破碎(Effects > Create Shatter) >
  3. 选择所需的破碎类型。
  4. “后期操作”(Post Operation)设定为“具有晶格和目标的柔体”(soft bodies with lattices and goals)
  5. 启用“链接到碎片”(Link To Shards)
  6. 单击“创建”(Create)
  7. “大纲视图”(Outliner)中,展开破碎节点,然后展开 softBodyLattices# 节点。在按住 Ctrl 键的同时单击鼠标(Linux 和 Windows),或者在按住 Command 键的同时单击鼠标 (Mac OS X),以选择每个碎片的每个晶格 (shatter#Lattice)。
  8. “动力学”(Dynamics)菜单中,选择场 > 径向(Fields > Radial)
  9. 选择原始对象。在动画的开始处,为“破碎”(Shatter)属性设置关键帧以禁用该选项。

    原始对象将可见。

  10. 选择要炸开对象所在的帧。
  11. “破碎”(Shatter)属性设置关键帧。

    破碎对象将可见,碎片变为主动刚体。

  12. 回放并播放。

更改碎片的挤出值

使用挤出创建破碎之后,可以使用碎片形状的“局部平移 Z”(Local Translate Z)属性来更改所有碎片或各个碎片的挤出值。

如果尚未使用挤出来创建破碎,则挤出节点不会连接到碎片。

更改碎片的挤出值

  1. 选择碎片。
  2. 如果碎片为刚体或形状,请在“通道盒”(Channel Box)中选择 shardShape#。
  3. “输入”(INPUTS)下的“通道盒”(Channel Box)中,选择 polyExtrudeFacet#。
  4. “通道盒”(Channel Box)中向下滚动,找到“局部平移 Z”(Local Translate Z)属性。
  5. 输入一个值以更改挤出。

设定柔体碎片上的目标权重

目标权重将影响柔体跟随目标对象的程度。可以将目标权重设定为 0 至 1 之间的值。如果值为 0,则表示目标的位置对柔体无效果。如果值为 1,则立即将柔体移至目标对象的位置。

如果值介于 0 至 1 之间,则会导致柔体向目标移动,类似于绑定了一根弹簧。值越接近 1,目标对象对碎片位置的影响越大。默认情况下,目标权重值为 0,这意味着目标的位置无任何效果。

选择创建目标权重的“后期操作”选项、但不启用“链接到碎片”时,系统不会在原始形状上创建目标权重属性。目标权重是粒子形状的属性,因此必须选择破碎节点的每个碎片中的粒子形状,以显示目标权重属性。

在具有目标的柔体碎片上设定目标权重

  1. “大纲视图”(Outliner)中,展开破碎节点。
  2. 展开要设定目标权重属性的碎片。
  3. 选择 shard#Particle。
  4. 执行下列操作之一:
    • “属性编辑器”(Attribute Editor)中,显示“目标权重”(Goal Weights)“对象”(Objects)属性。
    • 向下滚动“通道盒”(Channel box),找到“目标平滑度”(Goal Smoothness)“目标权重”(Goal Weight)[0] 和“目标活动”(Goal Active)[0]。
  5. 输入目标权重属性值。有关设定目标权重属性的完整信息,请参见目标

在具有柔体晶格和目标的碎片上设定目标权重

  1. “大纲视图”(Outliner)中,展开破碎节点。
  2. 展开 softBodyLattices# 节点。
  3. 展开要设定目标权重属性的 shatter#Lattice。
  4. 选择 shatter#LatticeParticle。
  5. 执行下列操作之一:
    • “属性编辑器”(Attribute Editor)中,显示“目标权重”(Goal Weights)“对象”(Objects)属性。
    • 向下滚动“通道盒”(Channel box),找到“目标平滑度”(Goal Smoothness)“目标权重”(Goal Weight)[0] 和“目标活动”(Goal Active)[0]。
  6. 输入目标权重属性值。有关设定目标权重属性的完整信息,请参见目标

将着色器指定给集

如果选择集作为后期操作选项,则可将着色器指定给集。

将着色器指定给集

  1. 创建着色器。
  2. “大纲视图”(Outliner)中,启用“显示 > 集成员”(Display > Set Members)
  3. 展开 nameShatterShard# 节点以显示集成员
  4. 选择集成员。
  5. “渲染”(Rendering)菜单中,选择“照明/着色 > 指定现有材质”(Lighting/ Shading > Assign Existing Material) > “着色器名称”(shadername)。