哈啰,大家好
在今天的影片我们要接续上一次的炮弹建模
来聊聊动画设定的部份
我们会谈到两个主题
第一,我会利用一个叫做 Morpher 的修改器
来设定手臂向外伸展的动作
第二,我会替手臂建立一组骨架
使手臂能够向前弯曲
OK,那么 Morpher 修改器的主要用途
是什么呢?
这个修改器可以用来
记录 3D 模型中每一个点的位置变化
来达到变形的效果
在 3D 动画中最常见的应用
是用来控制人物的面部表情
如果我把 Morpher 修改器
应用在炮弹手臂的伸缩
我可以先选取其中一个手臂
打开滑鼠右键选单
利用 Convert to Editable Poly 的指令
来合并目前手臂上的 TurboSmooth
然后,我按下 Attach
来将两个手臂合并为同一个物件
目前手臂的 Pivot 是位于左手的位置
我打算将 Pivot 移到两臂的中央
因此我切换到「层级面板」
按下 Affect Pivot Only
再按下「置中」的按钮
然后将调整 Pivot 的功能关闭
如果模型本身曾接受过旋转、缩放等调整
那么在替模型绑定骨架时
模型容易会产生不预期的错误
因此我会建议在绑定骨架之前
先切换到最右侧的工具面板
将手臂模型执行 Reset XForm 来进行重设
再按下 Reset Selected
如此在修改面板中
模型会多了一个叫做 XForm 的修改器
我将这个修改器再次利用
滑鼠右键合并到 Editable Poly 之中
并且将模型重新命名为「手臂」
在设定 Morpher 变形之前
我们必须先建立一个变形的目标对象
因此我按住键盘的 Shift 键不放
将手臂复制一份
按下 OK
接着我切换到「点」的编辑模式
来选取整个手臂
然后在工具列启用「缩放工具」
缩放的 Pivot 则设在两臂的中央
接着再拖曳滑鼠来将手臂缩小
如此,我们就可以选取炮弹的正常手臂
来新增 Morpher 修改器
在右侧的面板中
Morpher 可以让你指定多个变形对象
我在第一个空栏中打开滑鼠右键选单
执行 Pick from Scene(从场景中挑选)
再点击刚才我们复制的迷你手臂
然后就可以利用滑鼠右键将它隐藏起来
如此我们就可以利用栏位旁边的箭头按钮
来调整手臂的大小啰
OK,接下来我们来设定炮弹模型的骨骼
我切换到上侧视角
并且执行 Animation(动画)
Bone Tools(骨骼工具)
我在弹出的面板中
按下 Create Bones(建立骨骼)
由于炮弹的身体并没有包含弯曲的动画
因此我利用滑鼠点击的方式
建立一节骨干就已经足够了
然后按下滑鼠右键来结束这一节骨骼
我同时切换到前侧视角
对着骨骼连按两下滑鼠左键来进行全选
并且将它移动到炮弹身体之内
手臂的骨骼在设定上较为复杂一些
由于手臂都是向前弯曲
因此我们在建立骨骼时必须带有一点角度
代表手臂弯曲的预设方向
另外炮弹的手掌由于没有任何指头关节
因此我们只需要建立一节骨骼就 OK 了
而当上侧视角设定完毕后
我们别忘了要切换到左侧视角
将骨头全选后移动到手臂之内
至于炮弹右臂的骨骼
我们可以直接利用面板内的 Mirror(镜射)指令
将左臂复制过去
镜射的轴向设为 Y 轴
而骨骼的位置
我们可以点击第一节骨头之后
将 Y 轴座标的「负值」移除
如此就可以使两臂的骨骼位置
对称于 Y = 0 的轴线
你会发现目前当我们移动中央的骨干时
两臂的骨骼是不会跟着移动的
因此这边我们得谈到
物件之间的「连结」概念
所谓「物件连结」
就是在物件之间建立上、下从属的关系
使动画的操控变得更为简单
举个例子
在这个场景中有一个地球和月球的模型
如果我现在旋转地球的话
月球仍会停留在原地静止不动
然而如果我利用「连结」功能
按住滑鼠左键不放从月球拉到地球
那么我就在这两个模型之间建立了一个从属关系
在这个关系之中
当「主人」在进行移动或旋转时
「下属」也会跟着一同移动
但是「下属」自身的动作
却不会影响到「主人」
OK,我们回到炮弹骨骼的范例
我首先切换到「显示」面板
将模型的部份隐藏起来
接着,我按住 Ctrl 键
依序选取两臂的第一节骨头
利用「连结」工具
将骨头拖曳到中央的骨干
那么当骨干移动时
手臂的骨头也会跟着前进啰
那么骨头本身要如何才能让它们「动」起来呢?
在 3ds Max 中骨骼的动作分为两种
第一种叫做 FK(正向运动)
也就是旋转上层的骨头来带动下层
而另一种叫做 IK(逆向运动)
它的操作方式与 FK 刚好相反
是由下层的骨骼来带动上层
我们来实际操作看看 IK 的设定方式
我首先点击左臂的第一节骨头
执行 Animation
IK Solvers
再选择 HI Solver
此时我们的滑鼠游标会牵出一条虚线
我将这条虚线连结到左手的骨头
如此这个位置会显示一个白色的十字
藉由移动这个十字
就可以产生所谓的 IK 运动
我将另一只手臂也套用同样的设定
执行 HI Solver
并且将虚线连结到右手的骨骼就 OK 啰
不过,此时我们会发现另一个问题
就是 IK 虽然可以用来控制手臂的动作
但是却不能藉由自身的旋转
来带动手掌的骨头
因此这边我们要提到
设定动画时一个很常用的辅助工具
它位于建立面板的「助手」标签
叫做 Point(点)
我利用滑鼠点击的方式
来建立一个 Point 辅助器
我将它的尺寸缩小为 4
显示的方式为 Box(方框)
这里我想要达到的效果
是透过这个方框来控制手掌的角度
因此我启用「对齐」功能
来将方框对齐至手掌的骨骼
使这两者的 Pivot
无论是位置和角度都完全相等
按下 OK
接着,我点击手部的骨骼
执行 Animation
Constraints
Orientation Constraint(方向限制)
使骨骼的角度绑定至方框
然后再将先前的 IK 十字
同样利用「连结」的功能依附至方框
如此当这个方框控制器移动时
就可以带动手臂的骨头
而当方框旋转时
也能够让手部的骨骼跟着摆动喔
至于右手的设定方式也完全相同
我再次建立一个新的 Point 辅助器
将它对齐到手部的骨骼
然后针对手骨执行 Animation
Orientation Constraint
来同步手骨和方框的角度
接着再将 IK 的十字连结到同一个方框
OK,设定好炮弹两手的骨骼后
我们就可以准备将骨架绑定至模型身上了
不过在这之前
我会建议先将骨架进行重新命名
如此在绑定骨架时会比较容易进行管理
我首先点击炮弹中央的骨干
利用右侧的面板将它命名为「脊柱」
然后我点击左手的第一节骨头
命名为「左一」
再按下键盘的 Page Down 按钮
切换到下一节骨头
命名为「左二」
再下一节则命名为「左三」
同样地,右臂的三节骨头
我也将它们依序命名为「右一」
「右二」和「右三」
命名完毕之后
我切换到「显示」面板
将模型恢复为显示的状态
接着,我选取炮弹的双臂
利用「修改面板」来新增 Skin 修改器
这个修改器的主要功能
就是将骨架绑定至 3D 模型
我首先在面板内按下 Add (新增)按钮
来加入要绑定的骨骼
在对话框中
我按住 Ctrl 键依序点击脊柱
右边的三节骨头
和左侧的三节骨头
再按下「选取」按钮
针对这些刚加入的骨骼
我们得进行一些「压力」测试
来看看手臂在不同姿势时
模型是否会产生变形、扭曲等异状
我在介面的右下角按下 Auto Key
这个功能可以用来记录模型
在不同时间点的动作变化
进而产生动画的效果
我将时间轴的滑杆拖曳到第 30 个影格
也就是动画开始后的第一秒
然后我利用手腕的控制器
将炮弹的手部旋转 90 度
略向前侧弯曲
并且再切换到前侧视角
将炮弹的身体隐藏起来之后
利用后面的参考图来调整手部的位置
右手也做同样的处理
姿势调整完毕后
我将 Auto Key 的功能关闭
此时如果我拖曳时间轴的滑杆
就可以产生一段简单的手臂弯曲动画
不过,你会发现手臂在弯曲时
手肘的内侧却产生了凹陷的异状
针对这个问题
我们可以选取左臂之后
按下右侧面板中的编辑按钮
同时勾选底下的 Vertices(顶点)的选项
在画面中的三条直线
是我们先前建立的手臂骨骼
如果我选取里面的其中一个
你会发现手臂的某些部位会呈现红色
有些地方则呈现橘色
红色代表了这节骨头
对于该部位的模型有绝对的控制权
当骨头转向任何的角度
红色的部位也都会同步移动
相对地
橘色则是这节骨头影响力较弱的地方
也就是说这个部位的动作
可能是由一根以上的骨头所控制
我在右侧的面板中
先勾选一个叫做
Show No Envelopes 的选项
来将画面中的红色封套隐藏起来
接着,我打开一个叫做「权重工具」的面板
透过这个面板
我们可以得知目前你所选取的顶点
是被那些骨头所控制
以刚才我所框选的这一圈顶点来说
「左一」这块骨头
对它们的影响程度是 1.0
也就是 100% 的意思
至于手肘部位的顶点
你会发现它的权重就分散在
「左一」和「左二」这两块骨头上了
在此,我按住 Ctrl 键
任意选取手肘上的两个顶点
然后我按下 Loop 按钮
使选取范围扩大到整个手肘
接着,我在面板中选取「左一」骨头
按下 0.5
也就是 50% 的权重
再选取「左二」骨头
同样按下 0.5
换句话说
我将手肘顶点的权重平均分配到
「左一」和「左二」这两块骨头
如此手肘内侧的凹陷就有了明显的改善
我接着选取一些看起来不太自然的顶点
然后分出一些权重
例如 0.1 给其它邻近的骨头
除了指定固定的权重数值之外
我们也可以利用「加」、「减」
这两个按钮来调整权重的比例
当左臂的造型获得了相当的改善之后
我们就可以将这些权重设定镜射到右臂
我在修改面板内按下「镜射模式」的按钮
镜射面设为 Y 轴
而镜射的方向是由「绿色」顶点
镜射到「蓝色」顶点
因此我按下右起第二个按钮
就可以让两臂的造型完全相同
最后,我关闭「镜射模式」
和「编辑封套」这两个功能
并且将时间轴拉回影格 0 的位置
使手臂恢复为伸直的状态
至于记录在控制器上面的关键影格
此时已经完成它的阶段性任务
因此我将这些影格框选起来之后
按下 Delete 键删除
而先前隐藏的炮弹模型
我们可以透过「场景浏览器」
来将它恢复为显示的状态
OK,那骨架设定的部份我们就说到这里
下一回我会继续利用这个骨架
来设定炮弹的飞行动画
那我们就下回再见啰,拜拜