用户名 密    码

3ds Max动画教程-装配腿部和脚部(5)

来源:互联网 作者:未知 发布时间:2010-09-06 22:53:29 网友评论 0


使用表达式来更好地控制旋转:

  1. 尝试更改“Roll”的值。

    现在您遇到一个问题。首先,“Roll”为正值时,脚部向下旋转。该值大于零时,您希望脚部保持平放。其次,值为 100 时,脚部向后旋转过大。值约为 –60 时,显示更加真实的移动限制。

  2. 在“参数关联”对话框中,将关联表达式更改为 degToRad(0.6*Roll),然后单击“更新”。

    在此,您已告知脚本将“Roll”值乘以 0.6,这会使旋转限制在 60 到 –60 度范围内。

    现在,您需要将旋转限制为“Roll”值小于 0。

  3. 可以使用基本的“if”语句完成此操作。在“参数关联”对话框中,将关联表达式更改为 if (Roll < 0) then degToRad (0.6*Roll); else 0.0

  4. 单击“更新”,然后关闭“参数关联”对话框。

    “if”语句是根据条件完成某项操作的简单方法。在本例中,您要表达的意思是:“如果 Roll 小于 0,则进行 Roll 值乘以 0.6 的常规计算,并将结果转换为度。否则,只为辅助对象的 X 轴旋转返回值 0.0”。

    这样,在进入负值时,“Roll”属性将使脚部向后旋转,(目前)在进入正值时,不进行任何操作。

    接下来,您将使脚部绕着拇趾球向前旋转,范围从 0 到 50 度。

关联向前滚动的脚部:

  1. 再次选择 footLCTRL,将“Roll”属性与 heelLiftLHELP 的 X 轴旋转关联。

  2. 在“参数关联”对话框中,选择单向关联。

  3. 您已经知道需要将度转换为弧度,所以,将表达式设置为 degToRad(Roll),然后单击向右箭头,再单击“连接”。

  4. 试用脚部的“Roll”属性。

    结果很好;不过,在“Roll”为负值时,辅助对象将旋转,使拇趾球辅助对象向下旋转。将像前面的操作一样,通过添加“if”语句解决负值的问题。

  5. 将表达式更改为:if (Roll > 0) then degToRad(Roll); else 0.0,然后单击“更新”。

    现在,在向后退时,情况稳定了。不过,您希望拇趾球从 0 度旋转到 50 度,然后保持该值。要完成此操作,进一步展开并限制“if”语句,并使用“if-else if- else”类型流。

  6. 将表达式更改为 if (Roll > 50) then degToRad(50.0); else if (Roll > 0) then degToRad(Roll); else 0.0。单击“更新”并关闭对话框。

    现在,拇趾球的旋转正常。如果“Roll”值超过 50,应停止并将值 50 转换为弧度,以便脚部旋转在 50 度处停止。如果“Roll”小于 50 但是仍大于 0,像以前一样增大旋转角度直到该值。如果“Roll”为负值,辅助对象旋转将保持在 0 处。

    此旋转的最终关联是使脚部绕着脚趾尖向上旋转。

  7. 再次选择 footLCTRL 对象。

  8. 将“Roll”与 toeLiftLHELP 对象的 X 轴旋转关联。

    再次创建单向关联。

  9. 输入以下表达式:if (Roll > 50) then degToRad (1.5*(Roll-50)); else 0.0,然后单击“连接”。

  10. 关闭“参数关联”对话框。

试用“Roll”值。“Roll”值进入负值时,脚部绕着脚跟向后旋转。脚部向前行进时,最初只是绕着拇趾球旋转。在 50 度处,旋转将转移到脚趾尖。

该表达式的作用是使脚趾尖只在“Roll”大于 50 时才旋转,也就是拇趾球旋转停止时。您希望从 0 度开始平滑地旋转,因此选取“roll-50”作为“degToRad”的值:这将生成从 0 到 50 的值,以便脚趾从 0 开始旋转。不过,最终高端值 50 实际并不够。所以,您将该值乘以 1.5 倍,使范围变为从 0 度到 75 度。

注意:以下也是对动画的一些有趣的提示。如果只是单击并拖动属性微调器,值将以默认速率从 –100 更改到 100。不过,如果按住 Ctrl 键并拖动,值的更改速度会加快。如果按住 Shift 键并拖动,值的更改速度会减慢,增量变小。在设置动画时,或在装配期间检验属性时,这可能很有用。

对于最后的关联,您将连接 toeRotate 以旋转脚趾辅助对象。

关联属性以旋转脚趾辅助对象:

  1. 选择 footLCTRL

  2. toeRotate 属性与 toeRotateLHELP 的 X 轴旋转关联。

    选择单向关联。

  3. 将表达式更改为:degToRad(toeRotate),然后单击“连接”。

  4. 关闭“参数关联”对话框。

    更改 toeRotate 可以使脚趾从 –100 度旋转到 100 度,这个范围足够了。

此时,主要的脚部控制已完成。

文件 char_rigging01.6.max 显示了所有属性和辅助对象关联在一起的左脚控制。

在下一过程中,您将添加旋转目标来控制膝盖。

添加旋转目标来控制膝盖:

通常,动画师需要手动确定膝盖指向的方向。即使角色的脚部朝内或朝外,膝盖仍可以指向不同的方向。完成此目的最简单的方法是创建一个可以移动的对象。此对象的位置将使膝盖尝试指向它。

  1. \ \ 在“顶”视口中,创建一个长度和宽度均等于 10.0 的矩形。

    将线颜色指定为蓝色。

  2. 将此图形移动到 footLCTRL 前面膝盖高度的位置。将其重命名为 kneeLCTRL

    \

  3. 选择 ankleIKGOAL。在“运动”面板 >“IK 解算器属性”卷展栏 >“IK 解算器平面”组中,单击当前标记为“None”的“拾取目标”按钮。

  4. 单击 kneeLCTRL

  5. \kneeLCTRL 链接到 footLCTRL

    现在,尝试四处移动 kneeLCTRL。这样做时,膝盖将尝试指向该控制,即使脚部已经很好的锁定。腿部弯曲时效果更加明显。现在,修正 footLCTRL 的轴点。

  6. 选择 footLCTRL

  7. 在“层次”面板 >“调整轴”卷展栏中,单击“仅影响轴”。

    这样,可以移动对象的轴点,而并不影响子对象或对象本身。

  8. 在某个侧面视图中,将轴点移动到脚踝位置。

搜索栏目