简 介
Character Animation Toolkit 开创了一个角色动画技术的新纪元.
CAT 是第一个灵活的动画骨骼系统. 它可以按你的意愿设定多条尾巴, 脊骨, 脊椎链, 头部, 骨盆, 肢体, 骨骼节, 手指和脚趾. CATMotion, 是CAT的非并行性参数循环产生器, 可以短时间内产生一个运动循环. 创建keyframe animation 关键帧动画时, CATRigs 骨架可以在视图中直观的操纵, 只需要使用 IK, FK 链中极少的控制点来实现最简洁的控制. CATRigs 骨架可以赋予所有的3ds max 动画控制器, 这意味着你可以对对每个关键帧做全面的控制. CAT的 Layer Manager 层管理器可以轻松地实现层叠动画( layering animation ), 可以对现有动画进行非破坏性地调整;包括参数调整的动画和动作捕捉动画. 使用 CAT的Clip Manager 剪辑管理器来保存层动画, 读取动画, 以及 import popular motion capture formats 导入流行的运动捕捉格式数据. 它还有一个强大的姿势管理器.
简单地说, 用 CAT 你可以任何角色创建高级的动画,并且是有史以来最快最无争议的.
Creating a CATRig 创建骨架
CATRig骨架可以设定为你想要的任何形态. 它可以有很多的脊骨 spines, 脊椎, heads 头部, pelvises 骨盆, limbs 肢体, 骨骼节, fingers手指和toes 脚趾 只要你能想到的都可以.
CAT 自带的骨骼库有从人类到马, 从昆虫到机器人的各种骨架.
CATRigs 可以从库中读取一个与你模型相近的骨架,然后在此基础上修改.
只要你高兴你可以随时保存你编辑的骨架为预设方案供将来调用.
这个步骤在 CAT 中经常使用. 读取预设方案 , 编辑然后另存为一个新的.
使用 CAT 你可以在很短的时间内得到你想要的骨架. CATRigs 骨架自带有其自身的IK system 系统, 可以方便地控制脊骨和尾巴. Advanced digit controls 高级指头控制系统可以方便地定位脚趾和手指. 腿部骨骼带有 IK 模式, 手臂带有 FK 模式. 所有的limb bones 肢体骨骼可以划分为多节. Segment twist weights 这些节使用曲线来进行控制.
即使在Setup Mode 设置模式下骨架也可以直观地操纵. 手臂使用FK 腿部使用 IK. 骨盆, 胸腔和头部可以任意的移动和旋转
CATRigs 骨架可以 resized at any time 随时地改变大小而不破坏原有地设置;非常适合合并文件使用.
从预设方案中读取骨架:
1. 进入创建命令面板.
2. 点击 Helpers (创建帮助物体).
3. 选择 CATObjects>CATParent.
4. 从列表中选择一个预设方案. (CATRig 骨架的预设方案存储在3dsmax\plugcfg\CAT\Rigs\ 目录下).
5. 在视图中点击.
所选择的骨架就出现在视图中.
StandardHuman CATRig 骨架预设方案
在视图点击鼠标的同时你还可以拖拽. 当你使用拖拽创建 CATRig骨架时, 可以改变创建骨架的初始高度. 宽度和深度也会跟着高度等比例的变化.
在创建命令面板中 Character Parameters (角色参数)面板上有 CATRig 骨架的创建参数.
角色参数面板
与其他l 3ds max 物体一样你可以在创建命令面板修改创建参数,在修改命令面板中也可以进行修改.
重无到有制作一个骨架模型:
1. 进入创建命令面板.
2. 点击创建帮助物体.
3. 选择 CATObjects>CATParent.
4. 不要从列表中选择现成骨架. 只在视图中点击/拖拽鼠标.
这样就创建了一个 CATParent(骨架的父物体图标).
提示: 如果列表框中已经有一个骨架被选中的话, 选择(None).
5. 在 CATParent 被选取的状态下进入修改命名面板.
6. 点击 面板下方的Create Pelvis (创建骨盆)按钮.
视图中出现一个默认大小的骨盆.
7. 选择这个骨盆并进入修改命令面板.
Hub (连接部)参数面板
在 Hub Parameters (连接部)面板里你可以添加肢体、脊骨、尾巴,及其连接的其他连接部等等.
这个步骤可以让你快速的创建你想要的骨架.
Naming the CATRig 命名骨架
CATRigs 骨架创建的时候被制定为其预设方案中的名字. 如果你想读取多个同样的骨架在场景中你最好起几个不同的名字.
修改骨架的名字:
在 CATParent 的Character Parameters面板的Name栏目中键入新的名字.
CATParent 图标重命名后所有的 CATRig 骨架将会继承这个新的名字.
CATRig Structure 骨架结构
CATRig 是一个灵活的骨骼动画系统. 使用CATRig可以创建人类, 马匹, 虫子,龙或者蜈蚣. 骨架使用一些有限的简单部件来制作塔建出你想要的效果.
一个骨架里面有多少个不同的部件并没有限制, 只是有一些互相之间连接的基本规则. 所有的部件都有一套用户可定义特性来决定其形态和运动参数. 所有骨骼的形态可用参数调节.
同时每个部件也有一套自己的控制器来控制与其他部件之间的运动关系 (如反向动力学系统IK System), 以及参数化的循环动作系统, CATMotion.
这些部件被称为: The CATParent 父物体图标, hubs 连接部, spines 脊骨, legs 腿部, arms 手臂, 以及 tails 尾巴. 每个部件还能有其子部件.
CATRig骨架在 CATParent图标基础上创建. CATParent 图标是骨架创建时产生的工具集符号. 可以当作骨架的角色节点. CATParent 中有骨架的名字, 大小和一些其他的基本数据.
CATRig 有其自身的单位系统, 叫做 CATUnits. 一个 CATUnit 单位相当于一个1.8m 的骨架上的1cm. 当然这只是相对的,只是给你提供一个起始点而已.
使用 CATUnits 单位的好处就是当你改变骨架的大小时, 所有的 CATMotion 动画参数都不会改变 (与骨架成固定比例). 以及让你在不影响IK设置的前提下改变骨架的大小等等.
每个骨架的方向都是一样的. 正向 Y 为前方, 负向 Z 是上方,负向 X 是右侧.
StandardHuman CATRig standing on CATParent showing X,Y and Z orientation 方向示意图
CATRig 骨架的继承机制与其他3ds max骨架动画系统是一样的 . 所有的部件都是骨盆或者根节点的分支. CATParent 与其他骨骼链接.
StandardHuman 骨架继承结构的一部分
上图可见所有部件都被冠以相同的前缀,后面跟着自己的独特标识. StandardHuman 就是 CATParent图标. 可以看出没有什么部件与之相连. 另一个从树状结构中分离出来的部件就是StandardHumanLLeg0Platform.
每条腿都有一个FootPlatform (脚板). FootPlatforms (脚板)是一个独特的部件, 它作为腿部的 IK 目标, 这就是它被独立出来的原因.
[page]
Removing Elements of the CATRig 删除CATRig骨架部件
部件可以删除. 删除的时候子部件也会被删除.
要删除整个骨架:
· 删除 CATParent.
或者
· 删除骨盆 (根物体).
要删除手臂:
· 选择手臂任何部分进行删除.
要删除上身:
· 删除脊骨.
要删除指头:
· 选择指头的任意部分进行删除.
Skinning the Rig 骨架蒙皮
CATRig 可以使用3ds max 的Skin 修改器或其他3ds max支持的蒙皮系统来进行蒙皮.
蒙皮是一种技巧这不在本文的讨论范围之内,不过下面有一些调整CATRig 骨架进行蒙皮的小技巧.
对 CATRig骨架进行蒙皮:
1.选择模型.
2.添加 Skin modifier 蒙皮修改器.
3.选择CATRig 的作为骨骼。
修改 CATRig CATRig 为合适的形状
虽然CAT的骨骼可以通过参数进行调整,但有时候你可能想改变一下骨骼的形状. 这时你可以使用标准的3ds max 的物体修改器如 Taper, Edit Mesh 以及 FFD 修改器.
使用FFD 2x2x2 修改器来编辑 CAT 骨骼 :
1.选择骨骼节.
2.添加 FFD 2x2x2 修改器.
3.调整FFD 修改器的变形网格的形状为骨骼的形状.
4.编辑 FFD 修改器的控制点来调整骨骼.
这样骨骼就修改好了. 它根原来的CAT 骨骼没什么两样,包括骨骼节的扭曲特性也被保留下来.
警告: 骨骼的变形将不会保存进预设方案里.
警告: 不要塌陷修改,这样会引起 3ds max当机.
提示: 有时候添加一些额外的骨骼可以使蒙皮更饱满和真实. 可以添加一些标准的 3ds max 几何体并把它们连接到 CATRig 骨架上.
注意: 额外添加的骨骼也不会记录到 CATRig 预设方案中preset.
CATRig骨架部件简介
一副CATRig骨架至少由下列部件组合而成: Hubs 连接部, Spines 脊骨, Arms 手臂, Palms 手掌, Digits 指头, Legs 腿部, Ankles 脚踝, 以及 FootPlatforms 脚板.
HubGroups 是一些特定部件组成的群组, 是一副骨架的某个子集.
CATParent简介
每副 CATRig 骨骼都有一个 CATParent. CATParent 是在骨架产生时创建的一个工具集标记,用于作为一个骨架的角色结点标记.
所有的骨架部件与 CATParent 相关联. 这里保存有整个骨架的基本信息包括名称、大小和其他的基本数据.
这里也放有一个Rig Preset Manager 骨架预设方案管理器, 可以让你用于保存调整好的骨架信息为预设方案.
在设置模式下骨架不与 CATParent 连接,但是会跟随其变形. 缩放变化在任何模式下会被骨架继承.
The CATParent
连接部群组简介
连接部群组其实就是一副骨架的某个子集. 它由连接部、肢体、尾巴组合而成.
当你在骨架的继承菜单中查看连接部群组的时候, 如在CATWindow 或motion capture importer,连接部群组都会冠以连接部的前缀,其后跟着Group字样.如 RibcageGroup.
The RibcageGroup on the Pather rig
连接部简介
连接部:HUB在电脑术语里一般指集线器,这里我们称为连接部,它一般连接着肢体或尾巴等分支部件. 连接部按其用途可以是骨盆, 腹腔, 胸腔或头部. 在其之上可以创建脊骨、手臂、腿部、尾巴. CAT 系统不限制连接部上创建的分支部件数量.
第一个连接部一般会在骨架的根物体上创建. 如果是像人类这样的直立二足动物或者是像马这样的四足动物的话这第一个连接部一般是骨盆.
连接部连接着spines 脊骨. 其Z轴方向是连接着脊骨的一边. 这就是说四足动物一般是与地面平行的.
四足动物的一个骨盆连接部
脊骨简介
脊骨一般与hubs 连接部相连. 充当脊骨和脖子的功能. 一条脊骨可以有2 到 60 脊骨节.
动画时脊骨的形变不能直接编辑, 而是由 transformations of the adjoining hubs 相邻的连接部之间的形变决定的. Spine Rotation Weight graph 脊骨旋转权重图表则用于调整旋转形变在脊骨上的比例分配.
脊骨的Z轴是其长度的方向.
脊骨两个末端都有连接部.
四足动物的脊骨
手臂简介
手臂是非行走肢体. 可以用来当作翅膀.
手臂可以有20根骨骼, 每个骨骼都可以有20节. 手臂的一端是锁骨另一端是手掌, 手掌最多可有100根手指.
骨骼可以任意设置. 可以控制其旋转时与其他肢体上骨骼相对关系 包括IK setup IK设置.
骨骼节围绕这骨骼的中心进行旋转. 它们用于实现类似前臂扭曲这样的功能. 骨骼节的旋转状态由 Bone Twist Weight 骨骼扭曲权重图表来调节.
Palm 手掌是手臂的控制点.它可以控制手臂在 IK 和 FK之间切换.也可以在上面创建一个手臂的IK目标, 控制肢体所有的旋转状态, 以及手指状态的控制.
CAT 支持无缝的blending from IK to FK IK到FK的混合及切换.
每个手掌有最多100根指头,每根指头有可以有20节. 指头只能使用 FK 控制. 手指的控制点包括一个权重表 Digit Pose Manager 指头姿态管理器 以及一个前大的Digit Modifiers 指头修改器用于控制几组指头.
骨骼的Z轴方向是骨骼的长度方向.
StandardHuman 骨架上的手臂(选定状态)
[page]
手掌和指头简介
每根手臂都有一个手掌. 手掌很重要因为它是整条肢体的控制中心. 同时也是指头控制的主界面所在.
一个手掌支持最多100根指头.
Palm 手掌是手臂的控制点.它可以控制手臂在 IK 和 FK之间切换.也可以在上面创建一个手臂的IK目标, 控制肢体所有的旋转状态, 以及手指状态的控制.
在IK 模式下手掌可以aligned to the target 对齐到目标或者对齐到前肢.
每个手掌有最多100根指头,每根指头有可以有20节. 指头只能使用 FK 控制. 手指的控制点包括一个权重表 Digit Pose Manager 指头姿态管理器 以及一个前大的Digit Modifiers 指头修改器用于控制几组指头.
手掌或指头的长度方向是其本身的Z轴方向.
腿部简介
腿部是用于行走的肢体. 它与手臂最大的不同是手掌被称为 ankle 脚踝并有 FootPlatform脚板.
除了连接着脚板以及名字的不同之外,脚踝的特性手掌相同.
FootPlatform 脚板可以作为腿部的IK目标.
其他的结构与手臂相同.
四足骨架上的腿部
肢体骨骼介绍
手臂和腿部由肢体骨骼构成. 肢体骨骼比较特殊因为它是可以扭曲的.
肢体可以由 2 到 20 根骨骼组成,每根骨骼可以有1 到 20 节.
每根骨骼相对于其他骨骼的选择状态由Bend Ratio slider 扭曲率滑动块控制. 有一个滑动块用于创建前向或后向的关节,如膝盖或肘部. 本质上就是肢体的 IK is setup IK是如何设置的.
骨骼的扭曲权重使用曲线控制.
Ankles 脚踝介绍
每条Leg 腿都有 Ankle脚踝. 脚踝特性与Palms 手掌相同,只是它连接着 FootPlatform 脚板.
Panther 骨架上的脚踝
脚板介绍
每条腿有一个脚板. 脚板是不与骨架连接的一个特殊部件, 用于作为腿部的IK目标.
脚板控制了脚底的旋转状态, 也决定了脚的轴心位置所在. 要注意脚板的与模型的底部平行这样运动时脚趾头或脚才不会没入地板下.
使用脚板的聪明之处在于它提供了在轴心点位置之上的控制. CATMotion 在motioncycle循环动作时会改变轴心点的位置. 一般你会要求腿抬起时轴心点在脚趾而踏步时在脚跟, 不过这最终可以由你来决定.
由于脚板的关键帧动画可以让你对轴心点位置进行动画. 所以轴心点可以在动画面板的一个特殊界面上编辑.
脚板的自身 Y 轴是前方 Z 轴是上方.
Panther 骨架上的脚板
尾巴简介
尾巴与脊骨相似,不同的是它只与一个连接部相连而且还有一些额外的控制参数. 在头部创建尾巴可以但作长发或角.
尾巴可以有 2 到 20 节. 尾巴的柔韧度由 Tail Stiffness 尾巴柔韧度图表来编辑. Tail Phase Bias 尾巴相位图表控制它的摇摆频率l.
四足骨架上的尾巴
[page]
编辑骨架
创建了一个骨架或者一个骨盆后就可以按照你的需要来进行编辑了. 使用修改命令面板中的参数面板来编辑.
编辑 CATParent
Character Parameters 面板
Name: 骨架名称.
CATUnits: 骨架 CATUnits 单位大小.
Visibility: 骨架在视图中的透明度.
Renderable: 打勾渲染骨架.
Freeze: 打勾冻结骨架.
骨架预设方案面板
这个列表框显示的是可用的 CATRig 预设方案.
提示:骨架预设方案文件都存在3dsmax\plugcfg\CAT\CATRigs\ 目录
注意: 骨架创建以后这个就不能在从这个列表框中选取方案了.
保存骨架预设方案:
1.点这个按钮.
2. 选择保存到的目录 (最好存在3dsmax\plugcfg\CAT\CATRigs\ 目录下).
3. 输入骨架名称.
4. 点击保存.
编辑连接部
连接部参数面板
Name: 此处修改连接部的名字.
提示: 最好使用直观的名字!
颜色表: 点击选择连接部在视图中的颜色.
Length: 连接部长度.
Width: 连接部宽度.
Height: 连接部高度.
注意: 以上的度量单位都是 CATUnits.
Pivot Pos Y: 这个滑动块用于在Y轴上移动连接部的轴心点.
Pivot Pos Z: 这个滑动块用于在Z轴上移动连接部的轴心点.
肢体
肢体列表框显示连接部上现有的肢体.
添加腿:
·点击这个按钮.
添加手臂:
·点击这个按钮.
编辑肢体的参数:
· 选择肢体列表框中的肢体.
一个肢体的参数面板就会出现在连接部的参数面板下面.
提示: 也可以在视图中点击肢体,参数面板就会出现.
删除肢体:
· 在视图中选择肢体然后点击删除.
提示:任何骨架的部件及其子部件都可以用这个方式删除.
脊骨
Spines 列表框里是连接部上现有的脊骨和尾巴的集合.
添加脊骨:
·点击增加一根脊骨
增加一根尾巴:
·点击增加一条尾巴
脊骨和尾巴可以使用与肢体同样的方式来编辑.
编辑脊骨
骨骼参数面板
Spine Name: 脊骨名称.
Num Links: 脊骨的段数. 数值范围是2 到 60.
Length: 以 CATUnits 为计数单位的脊骨长度.
Size: 脊骨节的粗细.
脊骨旋转权重
这个图表控制脊骨节相对其他节的旋转参数. 换句话说就是控制脊骨旋转的时候上面的每一节的旋转量分布.
这根曲线通过调节图标下方的斜线长度微调按钮来编辑.
要使顶部的脊骨能够旋转更大的角度:
· 设置左边微调按钮的切线长度为1.0 (下图).
在 human 骨架上会产生这样的效果:
提示: 所有的旋转、扭曲都是由图表来调节的.
同样的图表参数对一个已经产生扭曲的脊骨的影响:
可以比较默认设置下的效果(下图):
注意: 脊骨的颜色是骨盆到胸腔连接部物体颜色的一个渐变. 这个渐变反映了脊骨旋转权重图表的分布.
编辑手臂
手臂由一些子部件组成. 包括collarbone 锁骨, bones 手臂骨骼, 以及 palm 手掌.
手臂肢体的主要参数都在下图所示的这个面板中.
点击视图中的手臂骨骼或者在hub(连接部)的肢体列表框中点击相应的名称都会出现这个肢体参数面板.
Name: 肢体名称.
Color swatch: 颜色.
L: 告诉系统这是左肢.
R: 告诉系统这是右肢.
Symmetry Limb: 可以选择另一端的肢体作为对称肢体. 这样对称的肢体参数就会跟着一起改变了. 包括手指头的创建也会照样模仿.
选择对称肢体:
点击列表框中的肢体名称.
高亮显示则表示选中了.
撤销对称:
在列表框中选择(None) .
um Bones: 调节手臂有几根骨骼. 范围从 2 到 20.
编辑锁骨
Length: 锁骨长度.
Size: 锁骨粗细.
[page]
编辑手臂骨骼
手臂由2到20根骨骼组成.
骨骼参数
在视图中点取骨骼后出现它的参数面板.
Num Segs: 调节骨骼的段数.
提示: 适合用于制作前臂这样需要扭曲的肢体.
Length: 骨头长度.
Width: 骨头宽度.
Depth: 骨头深度.
骨骼扭曲权重
这个图表控制骨骼段与段之间的相对扭曲度.
编辑手掌
手掌的参数面板里面有一个列表框可以用于增加或减少指头, 面板还可以调节手掌的空间位置.
Length: 手掌长度.
Width: 手掌宽度.
Height: 手掌高度.
Num Digits: 指头数量. 范围从0到 100.
注意: 指头创建或删除时,都会重新分布在手掌的前端. 缺省状态下, Digit 0 是大拇指.
编辑指头
在视图中选择手掌,在手掌的指头列表中点击相应的指头,它的参数调节面板就会出现.
Digit Name: 指头名称.
Num Bones: 指头的节数.范围从1 到 20.
提示: 每根新指头建立时,根部与其他指头的一致(Each new bone created will default to the same dimensions as the bone at the end of the digit).
Width: 指头宽度.
Depth: 指头深度.
Length: 所选指头骨骼的长度.
提示: 骨骼长度参数只有在视图中点击相应的骨骼才能修改.
CATMotion: 这个参数用于调节在CATMotion 调节模式中的DigitCurl参数对指头有多大的影响. 数值 1.0 表示 100% 影响. 数值为零的话就完全不受影响了. 数值设为 -0.5 表示将会有一半的影响,但是这个影响是在相反方向上的.
编辑腿部
腿部由一些子部件组成. 包括腿骨,脚踝和脚板.
在下面这个面板之中是一些主要的肢体参数.
点击视图中的手臂骨骼或者在hub(连接部)的肢体列表框中点击相应的名称都会出现这个肢体参数面板.
Name: 名称.
Color swatch: 颜色.
L: 告诉系统这是左肢.
R: 告诉系统这是右肢.
Symmetry Limb: 可以选择另一端的肢体作为对称肢体. 这样对称的肢体参数就会跟着一起改变了. 包括手指头的创建也会照样模仿.
选择对称肢体:
双击列表框中的肢体名称.
肢体前面会出现一个箭头表示被选中了.
撤销对称:
在列表框中双击(None) .
Num Bones: 调节腿部有几根骨骼. 范围从 2 到 20
编辑腿部骨骼
骨骼参数
个别的骨骼调节参数需要在视图中点击相应的骨骼才会出现.
Num Segs: 这个微调控制器用来控制骨骼的节(段)数.
Length: 骨骼长度.
Width: 骨骼宽度.
Depth: 骨骼深度.
Setup Swivel Angle: 设置臀部和脚踝之间的角度.
提示: 十分适合做罗圈腿的牛仔哦!(现在知道这个参数的意义了吧). 创建蜘蛛也要用到.
Bend Rati 弯曲比例参数控制骨头与骨头之间的相对夹角. 这就是腿的 IK Setup IK设置.
提示: 用它来创建向后弯曲.
提示: 调节的顺序应该由上到下,从连接hub(连接部,如臀部)的第一根骨骼开始.
骨骼扭曲权重
这个图表控制每个骨骼节(段)相对于相邻节的扭曲值.
编辑脚板
脚板是腿部的 IK 目标.
脚板参数
Length: 脚板长度.
Width: 脚板宽度.
Height: 脚板高度.
警告: 蒙皮时不要把脚板但作骨骼! 否则会得到一个你不想要的结果.
编辑尾巴
尾巴参数
Name: 名字.
Color swatch: 编辑颜色.
Num Links: 尾巴的节数.
Length: 尾巴的长度.
Size: 尾巴的粗细.
Frequency: 以尾巴长度衡量的控制尾巴摇摆的波长的参数. 1.0 表示波长等于尾巴长度.
提示: 要想比较僵直的话把数值设置小一点如0.2.
Taper: 控制尾巴的锥形型变.
尾巴韧度
这个图表控制尾巴的揉韧度.
尾巴的相位
这个图表控制尾巴摇摆的频率.
注意: 这个图表在(motion)运动面板里.
[page]
CAT的动画系统
CAT 有一个非常强大的“层”动画系统. 所有的动画表现都围绕着Layer Manger 层管理器来制作.
CAT 支持任意数目的Absolute 绝对动画或Relative 相对动画 层. 层管理器的基础层是 CAT的参数控制循环运动产生器, CATMotion.
使用 CATMotion 你可以创建独特的循环运动或者读取一个existing presets 现成的预设方案. 你的骨架可以产生一个真实的没有滑动步伐的行走动画,而相对关键帧动画来说只需要用很短的时间.
另外,在CATMotion层之上还能创建绝对动画层和相对动画层.
所有的层都有animateable weight 可设置动画的权重参数. CAT的特色权重系统允许同一时间对不同的骨架部件赋予不同类型的运动这对层之间的运动混合来说十分有用.
动画可以像以往使用3dsmax那样直观使用max自带的动画控制器创建. 绝对动画层上的关键帧会覆盖堆栈下的其他层的动作. 相对动画层则是用来对其下方动画层的动作进行调整包括 CATMotion 层, Mocap 动作捕捉剪辑以及其他的相对动画层.
所有的变换都可以使用3ds max 动画控制器来制作,从Bezier Floats 到 List Controllers 以及 LookAt Constraints等. 这就是CAT美妙之处. 用它你可以使用3ds max 的传统方式来创建动画,如使用曲线控制面板等.
在剪辑管理器里,绝对动画层中的关键帧可以存储为Clips 剪辑文件并读取. CATRig骨架在某一帧的状态也可以保存为Pose 姿势文件.
剪辑管理器还可以用于import mocap clips 导入运动捕捉剪辑. 现阶段 CAT 支持 HTR 和 BVH 的动作捕捉格式.
Mocap 动作捕捉剪辑产生一个ghosts 幻象来对整个剪辑传送运动. 这个幻象在blending between clips 混合两个动画剪辑的动作时十分有用.
设置模式
设置模式用于edit the CATRig 编辑骨架. 当你点击设置模式的按钮时骨架就会回到位于CATParent 图标之上的原点, 并且回到设置姿势.
提示: 骨架的设置姿势用于 skin the rig 蒙皮.
关闭设置模式:
·点击设置模式按钮.
骨架就会变为当前的动画姿势.
打开设置模式:
·点击设置模式按钮.
CATRig 骨架回到 CATParent 图标上,并回到设置姿势.
层管理器简介
层管理器是CAT动画系统的核心所在. 在这里可以同时调节CATMotion 循环运动动画, keyframe animation 关键帧动画, 和mocap data 动作捕捉.
进入层管理器面板:
1. 选择骨架任意部分.
2.进入运动命令面板.
3. 进入层管理器的卷动面板.
表示骨架处于Setup Mode 设置模式.
表示骨架没有处于设置模式.
点击打开CATWindow 界面.
打开CAT Layer Ranges 层范围界面,用于编辑各层的范围.
打开Weights View 权重视图, 层的运动在骨架上的分布.
创建Absolute Layer 绝对层.
创建Relative Layer 相对层.
塌陷为剪辑. 点击把选定范围的每一帧的姿势记录为关键帧. 所有的关键帧存到一个新的绝对层里.
删除层.
复制层.
将层上移.
将层下移 (当层在最下方的时候为灰色状态表示不能再下移).
Name: 层的名字.
Weight: 层的主权重.
Ignore: 打勾的话表示选定的层的动作影响被忽略了.
Sol打勾表示只显示这层的动画.
提示:视图的CATParent图标被选定后,权重动画的关键帧会在时间轴上显示出来.
提示: 当绝对动画层的设置为 100% 时会完全覆盖下面的动画.
显示Ghost 幻象符号. 当imported mocap clip导入动作捕捉剪辑后才会显示这个图标.
塌陷到一个姿势. 把当前骨架所有部件的姿势作为一个关键帧保存在在当前选定的层的当前帧里. 不管这个姿势是如何形成的,它只会照实记录.
塌陷层堆栈:
1. 点击塌陷到层.
时间轴上的时间滑块会自动往前移动, 在每帧上创建关键帧.
所有层的动画都会保存在一个新的绝对层里. 这个层可以saved as a Clip 保存为一个剪辑供以后使用.
提示: 按 Escape 键可以停止这个操作.
KA Lifting: 在选定的层上混合KA Lifting 膝关节抬举动画.
提示: 在 CATMotion 之外, KA Lifting 膝关节抬举动画只在导入运动捕捉数据时有用.
[page]
CATMotion 运动简介
CATMotion 是一个参数调节的循环运动产生系统. 使用 CATMotion 可以创建一个moving over an uneven surface即使在不平的表面都上没有滑步,速度和方向都适合的循环运动.
CATMotion 有一个Walk On Spot 目标导向的行走模式. 想让骨架在场景中行走可以把CATRig 骨架连接(link)到一个PathNode (一般是一个虚拟点物体) ,这个与平常的 3ds max 动画一样. 包括使用3ds max 路径约束以及连接虚拟体到一个群集系统.
CATMotion 的设置可以保存为presets 预设方案, 可以应用到其它骨架上来实现同样的效果. 多个方案可以同时读取. 使用animating preset weights动画预设方案权重图设置不同方案之间的混合. 混合出来的动作也是自然的没有滑步的.
CATMotion 通过把骨架的运动划分为各个部分的运动,并为使用者提供一个强大的、参数控制器来控制每个部件. 所有的参数都可以设置动画也可以赋予标准的3ds max 运动控制器, 如Bezier Floats 或 Float Expressions等.
CATMotion预设方案存储在一个纯文本格式的文件里可用于流程化编辑.
CATMotion 里还有一个革命性的新系统用于创建腿部的运动,叫做Knee Angle Based Body Lifting 膝关节导向的身体抬举运动.
使用 CATMotion 你可以在几个小时里创建一个可信的循环运动,在常规的动画技术里也许需要花几天的时间.
CATMotion 控制器是如何工作的
每个CATMotion 控制器的输出都是几条不同曲线的组合. 像FootPlatform>Lift (脚板>抬起) 动作就是 MAX Step Time(最大步幅时间), MAX Stride Length(最大步幅长度), the velocity of the PathNode (路径节点的速度)以及赋予脚板的其它控制器的值的组合.
在FootPlatform>Lift 列表框中的曲线用来帮助你创建你想用这个控制器来实现的动画效果, 你也可以可以在轨迹视图中查看实际结果.
查看不同部件的输出曲线 (以 FootPlatform脚板为例):
1. 在视图中选择部件.
2. 打开曲线控制器 (确认 Show Only Selected Objects filter 只显示选定物体的选项是打勾的).
3. 打开选定物体的目录树并展开 Layer Transform (层变换)分支.
4. 展开 Layer Transform (层变换)分支. 选定部件的信息都包含在CATMotionPos 控制器里.
5. 现在点击CATMotionPos.
这里你可以看到一个表现选定脚板轨迹的图表, 比较一下下面这个 Footplatform 控制器的图表.
现在我们研究一下不同的子元素的曲线组合是如何影响它们的父元素的.
查看一个 hub 连接部的曲线输出:
1. 选择 pelvis 骨盆并打开下图所示的轨迹视图.
2. 选择CATMotionPos.
我们看到骨盆跟随的是一个正弦波的轨迹. 看起来与骨盆的 lift curve 抬起曲线一致(如下图所示).
那么这个正弦波是从哪里来的呢?
骨盆上的每条腿被赋予一条 'Pelvis Lift' 曲线. 这些曲线合力的结果就是这个正旋波. 使用曲线编辑器你将看到曲线组合并产生最终的结果.
3. 按住 CTRL 点击DataZ0 和 DataZ1. 这是两条腿的Z轴数据.
可以看到多了些实的曲线. 虚线表现的就是这些曲线的叠加以及骨盆的实际轨迹.
曲线之间如何相对移动是由LimbPhases 肢体相位面板中的相位滑动块来控制的.
4. 进入CATWindow里的 LimbPhases 肢体相位面板,移动 RightLeg1的滑动块.
图表跟着相位的改变而改变了.
骨盆的运动有了显著的变化.
提示: 如果运动显得怪怪地, 不妨查看曲线编辑器! 一切就都明白了...
两条曲线彼此接近时就产生了一个更大的峰值. 当一条在另一条之上时结果就是两条曲线的振幅叠加.
如果两条曲线恰好是相反的镜像关系就会相互抵消.
下面这个窗口的设置是最后一个例子.
The trick to 'breaking the impasse' is to tighten the curve“打破僵局”的技巧就是拉紧曲线(这是英语的俏皮话吗?:).
上面的设置得到下面的结果.
注意: 在animating limb phases制作肢体相位动画以及需要得到最优结果的计划中,弄懂不同曲线是如何叠加是十分重要的.
膝关节导向的身体抬起运动
膝关节导向的身体抬起运动或简称 KA Lifting 是一个创建腿部运动的系统.
相对 IK它有两个大的优点. 首相它能消除由于IK链过长而造成的膝关节断裂问题. 第二,由于腿部会把骨盆上推, 角色就自动有了重量.
由于它支持直立的腿,我们发现使用 KA Lifting 能够实现轻松一些使用IK都无法创建的行走运动.
KA Lifting由两个控制器控制, KneeAngle 膝关节和 LegWeight 腿权重.
在 KA Lifting 里行走循环被划分为4个膝关节角度. 使用CATWindow的界面中legs分支里的KneeAngle 控制器操纵.
为了区分我们称之为: Lift, MidLift, Plant and MidPlant.
Lift 膝盖将要离开地面的角度.
MidLift 是膝盖在空中轨迹行进到一半时的角度.
Plant 是腿回到地面时腿部的角度.
MidPlant 是脚提起和着地之间的角度.
另一个重要的 KA Lifting控制器叫做 LegWeight. 位于与KneeAngle 一起在 Legs 控制器下.
LegWeight 图表控制脚板上往地面的拉力有多少. 当 LegWeight值为0 的时候增加 knee angle 值的时候抬脚就会更高. 当 LegWeight 值为 1.0 时增加 knee angle 值会把骨盆往下拉.
LegWeight 可以看做腿的优先值. 图表左边是抬起优先右边是着地优先. 这在你想做一些超现实的夸张动作时很有用. 把一个设置为0调节另一个脚的 leg weights 可以用来排除一些错误的动作. 一般着地脚会优先.(译者:这一段费解,没用过无法理解)
系统容易产生的错误一般集中在脚踝. 如果你发现脚踝直上直下或其他奇怪的行为可以试着调节 LegWeight 或 KneeAngle 参数.
一般最先要试着减少Maximum Stride Length 最大步幅长度或者增加/减少几种不同的 knee angles 值.
如果移动显得很机械则要把 LegWeight 图表调节得圆滑一点. 如果脚踝上抬过程中显得太僵直有可能是 LegWeight 的抬起部分太长了.
[page]
比较奔跑和 KA Lifting
虽然KA Lifting 是一个很好的行走解决方案, 但是对奔跑来说却不是很合适. 就这点来说想用调节leg weights 来实现离地的效果是不可能的.
所以我们推荐使用 IK 来设置奔跑和跳跃.
切换到 CATMotion 运动模式
在你开始制作动画之前你要切换出Setup Mode 设置模式.
切换出设置模式:
· 如果设置模式按钮处于这种状态点击可把它关闭.
·关闭状态时按钮应该是这样.
现在可以打开CATWindow了.
警告: 必须确认Layer Manager 层管理器的列表框里面没有读取其他的层. 如果有, 而且这些层的权重没有设置为 0%的话, 你会得不到你想要的结果 (比如 CATMotion 或其它层的效果会被覆盖).
CATWindow简介
CATWindow 里提供了 CATMotion的所有控制器.
打开 CATWindow:
·在层管理器卷动面板中点击猫爪图标.
CATWindow 在视图位置打开. 打开之后不用重新选择Catrig骨架就可以随时编辑CATMotion 设置. 在编辑多个骨架的时候十分有利
左边的面板是 CATRig 骨架的继承目录. CATRig骨架继承目录包含 CATMotion 所有的控制器以及与骨架对应的结构关系. 继承目录随着骨架设置的变化而更新.
最上面3个项目是没副骨架都有的. 分别是 CATMotion Preset Manager预设方案管理器,
Globals 全局参数以及LimbPhases肢体相位参数. 其他的继承项目按照HubGroup 连接部群组的方式管理.
CATMotion 首先把骨架分为各个部件然后为每个部件设置了一系列的控制器; 每个控制器决定了一个部件的运动特性.
运动的不同特性都有自身的曲线控制器l. 众多控制器的组合能够直观的产生各式各样的运动.
继承目录树中的每个部分调节都会在右边面板进行.
CATMotion Preset 预设方案就是当前动画层里所有继承目录树中控制器的设置状态的集合.
CATMotion 预设方案
CATWindow 打开 CATMotion 预设方案的状态
CATMotion预设方案集里保存的是实现某个循环动作的所有 CATMotion 控制器设置状态的方案的集合. 这些数据以文本方式保存. 默认状态下保存在3dsmax\plugcfg\CAT\MotionPresets 目录里.(1.15版已经做了改进,可以决定预设方案的路径)
CATMotion 预设方案可以读取到任意骨架上, 不要期望在每副骨架上都有预期的效果. 将4足生物的预设方案读取到2足生物的骨架上将会有一个不合需要的结果. 预设方案之间名字的转换非常重要.
就像Layer Manager 层管理器一样,堆栈顶上的层将会覆盖下面的层. 每一层都有一个animateable weight 可动画的权重值来实现预设方案的效果混合.
Available Presets: 这个列表框列出3dsmax\plugcfg\CAT\MotionPresets\ folder 目录下的预设方案.
Current Layers: 这个列表框显示 CATMotion 层. 可以是已经读取的预算方案或新的默认层.
Name:编辑选定层的名称.
Weight: 编辑选定层的权重.
点击浏览预设方案.
把选定的 CATMotion层保存为一个新的预设方案.
创建一个新的 CATMotion层.
删除选定的层.
在轨迹视图中编辑 CATMotion 层的权重.
可以为不同方案的权重设置动画,比如混合两个方案的效果.
读取预设方案:
· 双击想要读取的 CATMotion 方案.
方案的名字就会在 Current Layers 列表框中出现. 并且会处于选定状态, 权重设置为100%.
预设方案已经读取并开始生效.
删除层:
1. 选择这个层.
2. 点击删除按钮.
保存预设方案:
1. 选择想要保存的层.
2. 点击Save Preset.
3. 选择一个想要的目录.
4. 输入新预设方案的名字.
5. 点击保存.
混合不同的方案:
· 为选定层的权重值设置动画.
提示:要创建或编辑权重动画只要在CATMotion Presets 面板上点击曲线编辑器的面板.
CATWindow 的剩下部分就是用来决定编辑哪一层, 一个读入的预设方案还是一个新的默认层.
警告: 要确认你选择了正确的方案层!
[page]
Globals全局参数
就像名字一样, Globals 里是选定层一些最主要的参数.
Stride Parameters 步幅参数
Max Step Time: 跨一步需要花费的时间,用单位是帧数.
Max Stride Length: 跨一步的最大距离,以 CATUnits为单位.
根据PathNode 路径节点的速度增加或减少时骨架会自动迈不同步幅长短不同跨步时间的脚步, 但是不会超过上面限定的参数.
提示: 如果打开了 Walk On Spot(目标点导向行走) 选项骨架就会把这是值设置为最大.
当Walk On Spot 选项按钮按下时骨架会在CATParent图标之上走动.
提示: Walk On Spot 十分适合创建循环运动.
当关闭Walk On Spot模式时,点击路径节点按钮来选择一个骨架跟随的物体.
提示: 用虚拟点物体来做 PathNode 路径节点最好了.
CATMotion 的脚步一般是按照你的整个动画时间轴的长度来决定的. 就是说如果你改变动画长度的话步迹也会重新计算, 很可能会有所变动. Manual Ranges 参数可以将 CATMotion锁定在你所设定的范围里,这样就可以改变场景长度了,而且 CATMotion 也不会被改变.
提示: 如果你要制作一段很长的动画,你最好剪裁到一个小的动画段上. 激活 Manual Ranges 功能来实现这个效果.
Path / Facing: 这个滑动块控制骨架如何与 PathNode 路径节点的运动对齐,换句话说就是沿着它的方向.
提示: 当 PathNode 被约束到一条路径时这个参数很有用.
KA Lifting: 这个滑动块在IK 和 KA Lifting的效果之间建立混合.
提示: 既然 KA Lifting 的混合不是开就是关. 所以没什么理由设置为 0.5!
Footprints 足印
足印用于显示/编辑不同的脚步位置. 当你编辑足印时骨架的骨盆会自动地重新定位自己的位置.
提示: 骨盆如何重新定位与hub(连接部)上有几条腿有关. E.g. 如果连接部有两条腿,它会把自己定位在足印的中部. 如果有4条腿,连接部会往前移动四分之一距离.
点击来创建足印.
复位足印到创建时的原始状态.
隐藏足印.
自动把已创建的足印对齐到地面上.
肢体相位
LimbPhases 窗口会动态地为每条肢体创建一个相位滑块. 编辑相位值可以让你直观地调整循环运动.
分别编辑相位参数可以为制作行走、跳跃、慢跑、飞奔运动做一些前期工作.
像其它参数一样,肢体相位参数也可以设置动画.
提示: Eadward Muybridge 几个世纪前就写了一本分析生物步足位置的书. 现在有基本书都是基于他的理论.
[page]
介绍所有的CATMotion 控制器
在Globals 和Limb Phases 之后,骨架被分为一些树状的HubGroups连接部群组.
每个连接部群组和它的分支都有一系列的控制器来制作循环运动. 大多数这些控制器在所有的区域重复. 一些只在特别的区域重复.
Pelvis>Lift 控制器
一开始 CATMotion 循环有 100 帧长. 动作效果的速度等特征是由 Global 控制器 (Max Step Time 最大步幅时间和Max Stride Length最大步幅长度) 以及PathNode路径节点的速度组合决定的. 所以说最好把Time 的值看作循环运动的时间段的百分值而不是一个绝对的数值. 50 表明动作已经做到一半了.
图中浅蓝色部分表示脚着地的时间段. 深蓝色部分表示脚在空中的时间段.
除了OffsetRot 和OffsetPos 所有的控制器都有一个曲线图表.
使用(前)和(后) 按钮来选择曲线上的转折. 曲线上的转折也可以在窗口中直接点击选择.
当一个 knot 曲线转载被选定后,它的 Time时间, Value值, Tangent切线, 以及 tangent Lengths 切线长度的调节按钮被激活以进行调节.
提示: 如果你想比较不同的图表可以按住SHIFT按钮选定这些控制器. 只有最后一个选定的可以进行编辑.
把曲线复原为默认值.
所有的parameters are animateable 参数都可以设置动画. 曲线编辑器按钮用于打开一个用于编辑这个控制器动画关键帧的轨迹视图 Track View .
提示: 在 Track View 轨迹视图中也有相同的继承目录树可以打开: CATParent(Character Name)>Object>CATHierarchy (如下图).
提示: 这里你可以为不同的参数赋予标准的3ds max a动画控制器.
缩放区域按钮用于把图表缩放到扩展区域.
所有的连接部的运动与其肢体的相位limb phases有关. 如Duck (鸭子)骨架上的胸腔抬起循是与 arms的肢体相位有关.
HeadGroup头部群组的运动在前端连接部的肢体上产生(一般是胸腔上的手臂).
警告:头部是没有肢体的连接部. 你如果在头部上建立肢体 (加个角什么的) ,头部的行为将会很古怪.
注意: 所有的肢体相位在LimbPhases 肢体相位面板中调节.
Limbs Welded肢体焊接 Make unique 独立 Unlock limbs锁定
你可以看到 limbs 面板. 默认情况下处于LimbsWelded 肢体焊接状态, 表示所有肢体设置使用一条轨迹track来设置 (如 Track View轨迹视图中所示).
点击这个按钮把肢体分配到不同的轨迹.
关闭锁定按钮后,每条腿的动作循环使用单独的设置.
不同颜色的曲线
对应视图中的腿部颜色
你会发现所调节的腿的曲线与视图中的腿的颜色是一样的.
如果上面的内容使你迷糊, 不要紧开始用的时候就会清楚了. 事实上我建议打开一个骨架的 walking on the spot 模式并在播放动画同时调节这些参数. 你很快就会知道每个参数的含义了.
详解单个控制器CATMotion 把运动分为rotational 旋转循环和positional 位置循环, 每个轴向都有自己的控制器. 另外每个元素都会有 旋转以及位置l offset 偏移控制器. 一些特别的部件还有special 特殊控制器.
循环位置控制器
位置控制器包括 WeightShift侧移, Push 前推 和 Lift 抬举.
WeightShift 侧移
骨盆上的WeightShift 侧移方向 (黄线)
WeightShift 控制骨架往侧边方向的运动(X 轴).
Push 前推
骨盆上的push前推方向 (黄线)
Push 控制骨架前后的运动 (Y 轴) .
Lift 抬举
骨盆上的Lift 抬举方向 (黄线)
Pitch 控制上下方向的运动 (Z 轴) .
旋转循环控制器
旋转控制器为 Roll 摆, Pitch 投 and Twist 扭曲.
Roll 摆动
骨盆上的Roll 摆动方向 (黄线)
Roll 控制部件往两边旋转的的循环动作 (X 轴).
Pitch 投掷方向
骨盆上的Pitch 投方向 (黄线)
Pitch 控制部件在骨架方向上的旋转循环 (Y 轴.
Twist 扭曲
骨盆上的Twist 摆动方向 (黄线)
Twist 控制部件在围着骨架高度方向的旋转运动循环 (Z 轴).
偏移量
Rotational Offsets 偏移量
OffsetRot 用于产生3个轴向上的旋转偏移量.
Positional Offsets 位置偏移量
OffsetPos 用于产生3个轴向上的位置偏移量.
特殊控制器
特殊控制器为专门的部件所有. 几乎所有的部件都有一两个.
连接部控制器
LiftOffset 抬举偏移量
LiftOffset 抬举偏移量控制器
HUB连接部上有LiftOffset控制器. 用于为循环运动中 Z 轴方向的偏移量设置动画.在使用IK来制作奔跑和跳跃动画时使用这个控制器控制HUB连接部的高度可以解决一些腿部的问题.
[page]
肢体控制器
LiftPlantMod 抬起着地
LiftPlantMod 控制面板
虽然肢体中都有这个控制器但是只跟腿部有关. 这个图表调节脚在地上和空中时间的比例. 这个图表中下的滑动块是唯一的参数.
滑块向左滑的时候图表变窄, 收缩在深蓝色的区域里. 表示脚在地上停留的时间较长有点 Jupiter 行走的效果
滑块向右滑的时候图表移动到浅蓝色区域,表示腿会同时停留在空中,就像跑步.
KneeAngle曲膝角度
KneeAngle 控制面板l
这个图表控制器只与腿有关. 只有Globals 参数中的KA Lifting 滑动块设置为 1.0时可用.
图表控制整个动作循环中屈膝的角度. 这是一个新的腿部动画系统, 只有 CAT有. 详细可以看Knee Angle Based Body Lifting 膝盖导向的身体抬起运动.
LegWeight 腿重
LegWeight 控制器
使用KA Lifting 时,这个图表控制每个脚之间共享重量 sharing of weight .
SwivelAngle旋转角度
SwivelAngle 控制面板
这个控制器只对腿部有用. 显示出膝盖内外旋转的角度. 在四足动物和蜥蜴身上就很有用(这么说就明白了).
脚踝控制器
DigitRollAngle 脚趾弯曲角度(往上)
DigitRollAngle 控制器
DigitRollAngle 控制脚趾的弯曲度.
提示: 与DigitSpreadAngle联合使用.
DigitSpreadAngle 脚趾分开角度
DigitSpreadAngle 控制器
DigitSpreadAngle 控制脚趾的分开程度.
提示: 这个控制器用来模拟重型生物用脚趾行走的动作,比如恐龙. 落下时张开,抬起时并拢(见上图).
DigitCurlAngle脚趾蜷曲角度
DigitCurl controller
DigitCurl 控制器控制脚趾蜷曲度.
提示: 制作长爪动物如蜥蜴和鸟.
TargetAlign目标对齐
TargetAlign 控制器
TargetAlign 控制脚踝轴心点的位置. 值为0时轴心点位于 ball of the foot (费解)(脚趾基部). 值为1时轴心点位于脚踝关节处.
提示: 人类的轴心点在脚抬起时实在 ball of the foot落脚时在脚跟 (见上图).
提示: 生物如果用 ball of its foot或脚趾行走的话 (大多数4足动物属于这一类) 一般设置为常量0, 只把轴心点放在ball of the foot.
FootBend足部弯曲
FootBend 控制器
FootBend 控制踝关节角度.
提示: When animating humans FootBend is not usually required as the ankle lifts naturally anyway (assuming your TargetAlign settings are correct!). 人类不用设置这个参数,使用targetalign吧.
提示: 适合用脚趾走路的生物就对了.
脚板控制器
FootPlatform 脚板是脚的IK目标. 它的运动是腿部运动的关键.
RollPivotPos 摆动轴心位置
RollPivotPos 控制器
CATRig骨架的脚板有一个可动画的位置轴心点来决定脚总是围绕一个点来进行旋转.RollPivotPos 控制器控制了这个轴心点在脚板x轴方向的位置 (从一端到另一端).
1.0 的值表示在脚部以外, 0.0表示在脚板里面.
提示: 虽然这是一个可动画的值但是在循环动作里面一般设置为一个常量. 人类的数值一般设置为 1.0 (见上图).
Roll 摆动
Roll控制器
脚板的摆动控制器比其他部件的摆动控制器有更多的转折点,用于更多的控制.
上图所示摆动在脚离地时开始在着地时结束,这是常见的情况.
PitchPivotPos
PitchPivotPos 控制
CATRig骨架的脚板有一个可动画的位置轴心点来决定脚总是围绕一个点来进行旋转.PitchPivotPos 控制器控制了这个轴心点在脚板Y轴方向的位置 .
值为0.0 时轴心点在脚跟, 1.0 时在脚趾.
提示: 人类的话一般在抬脚时设置为1.0(脚趾处),落下时设置为0,然后在两个值之间变化 (见上图).
Pitch 推进
Pitch 控制器
就像标准的 Pitch 控制器一样脚板的 Pitch控制器控制脚板在Y轴方向的角度. 用于控制抬起和放下之间的角度(见下图).
FootPlatform pitch at lift 抬起; ...and at Plant放下.
FootPush
FootPush控制器
FootPush 是循环位置运动时Y轴上的偏移量,让你在行走循环中推动脚板往前送.
提示: 用 FootPush 来实现行军步伐 (与KA Lifting配合使用) 和跑动.
Swerve 转向
Swerve 控制器
Swerve控制器就像WeightShift 控制器. 控制减办在x轴上的位置.
StepShape 步伐形状
StepShape 控制器
这个控制器控制脚板在空中的速度. 换句话说是脚板在空中的绷紧状态,何处慢何处快.
提示: 小小的变化就会引起巨大的效果!
提示: 运动越慢曲线就越松弛. 快速的运动如跑步应该有一个线性的StepShape 曲线.
手臂控制器
CrossSwing交叉摆动
CrossSwing 控制器
CrossSwing 控制手臂在Y轴上摆出身体的角度. 用来与 Twist (扭曲)来调整手臂在身体周围摆动的方式.
Swing 摆动
Swing控制器
Swing 控制手臂在与身体并行方向的前后旋转.
Bend 弯曲
Bend 控制器
Bend 控制肘部如何弯曲.
提示: 你要调节两个转折点来得到的正确的弯曲运动. 对人类来说转折点 1 可到-64 ,转折点的值可到 24.
锁骨控制器
Motion X, Y, Z
锁骨上的Motion X, Motion Y 以及 Motion Z 参数控制锁骨的各个方向上的旋转循环运动.
手掌控制器
手掌的控制器元素几乎与ankles脚踝的相同. 除了 HandFlop.
HandFlop X
HandFlop 控制器
HandFlop X 控制手掌 X 轴方向的旋转.
提示: 适合做卡通角色的小动作.
Handflop Y
HandFlop 控制器
HandFlop Y 控制 Y 轴方向的旋转.
[page]
记录 CATMotion 参数作为动画
CATWindow中的所有参数都是可以动画的. 关键帧的设置根其他的3ds max关键帧设置方式一样,包括在轨迹视图中打开 Auto Key按钮.
在 Track View 轨迹视图里CATMotion 数据存放在CATHierarchy 继承目录树里. 继承目录树的根是 CATParent.
这个目录树镜像CATWindow中的继承关系. 每个控制器。每个层都可以进行调节.
关键帧的插入和删除工作使用3ds max的普通方式操作.
轨迹视图中的StandardHuman骨架的继承目录树
提示: 在方便的设置某个 CATMotion 控制器动画的方法就是在 CATWindow界面中点击轨迹视图按钮.
设置骨盆抬起动画:
1. 在CATWindow中点击PelvisGroup>Pelvis>Lift .
· 点击轨迹视图.
轨迹视图打开后会显示选定控制器的所有参数.
3. 展开 Key2Val.
4. 按需插入或编辑关键帧.
提示: CAT 精彩之处在于你可以为参数赋予任何浮点控制器,包括Float List controllers.
提示: 为 offset controllers (OffsetRot 和 OffsetPos) 设置动画是在循环动作上增加额外动作的一个方法, 如抬头等. 另一个 (也是比较好的) 方法就是在Relative 相对动画层中设置动画.
关键帧动画简介
CATMotion 适合于制作循环运动, 不过有时候你可能只是想放置一些关键帧. 下面将介绍 CAT 的骨架如何操纵.
CAT 使用layer based 分层的动画系统. 就是说所有的关键帧都是创建在动画层上的. 层分两类: Absolute Layers 绝对动画层和Relative Layers相对动画层.
绝对动画层用于创建新的动画. 使用标准的3ds max 动画控制器变换动作.
相对动画层用于调整现成的动画. 相对动画层中的关键帧对下方堆栈动画层的动作产生偏移量,包括CATMotion循环动作层.
开始制作动画之前必须先激活一个层. (查阅Creating New Animation 创建新动画了解创建一个绝对动画层的方法).
CAT制作关键帧动画非常简单只需在视图中选定部件并对其进行变化就可以了. 骨架创建好后你就不需要考虑部件之间的关系了,它们会如你期望的那样动作.
因为动画是保存在标准的3ds max 动画控制器里的,所以你可以使用各种方式来创建或编辑动画. 也可以在edited in Track View 轨迹视图中编辑关键帧.
除了palms 手掌和ankles 脚踝之外其他的骨架部件都没有什么可编辑的动画参数. 不同部件和其子部件之间的联系是通过修改命令面板中的setup parameters 设置参数来进行修改.
不管是不是在Setup Mode设置模式下,这些参数都可以随时更改. 所以要注意,这会影响骨架的设置姿势. 如果已经进行了skinned your rig 蒙皮的话将会造成严重的后果.
警告: 调节设置参数(在修改命令面板中) 会影响在设置模式中调节好的骨架设定,会严重影响已经蒙皮好的骨架!!
提示: 蒙皮之前最好为骨架制作一些测试动画来看看骨架的特性是否符合你的要求.
在轨迹视图中编辑关键帧
像其他的3ds max动画一样关键帧保存在轨迹视图中. 想要编辑一个部件的关键帧只要在轨迹视图中找到这个部件就行了.
在部件的Transform 变换分支下有一个叫做Layer Transform 层变换的分支. 这个分支里面是各个可见的动画层, 动画层里面才是各自的控制器.
StanadardHumanHead部件在NewLayer层上的 XYZ 动画曲线.
注意: 默认情况下旋转变换使用的是标准的 EulerXYZ 旋转控制器.
提示: 使用选择物体过滤器可以节省卷动寻找的时间!
手掌
Palm Parameters 手掌参数
手掌的动画的 Palm Parameters手掌参数控制界面在动画命令面板里.
手掌上还有一些整个肢体的 IK/FK settings IK/FK设置.
指头控制界面包含digit pose manager 指头姿势管理器, 和一个先进的digit modifiers指头修改器.
指头姿势管理器
指头有自己的姿势管理器, 叫做 Preset Poses.
Preset Poses
在Preset Poses列表框中提供的是指头的姿势. 每个姿势保存的是所有指头的旋转状态. 这些状态可以读取到其他的手掌上.
如果选定的手掌没有这么多根指头那么读入一个预设方案的时候多余的指头就会被忽略. 而如果一个手掌的指头比预设方案的多那么这些额外的指头是没有旋转数据的.
每个姿势方案都可调节权重, 可以用来混合不同的姿势.
读取一个指头姿势:
· 在 Preset Poses 列表框中双击想要的姿势.
指头的旋转状态马上会发生变化.
混合一个指头姿势:
3. 在Preset Poses 列表框中点击一下这个姿势.
2. 把Preset Weight 参数调大.
指头将从现在的旋转状态变化到选定的姿势.
保存一个姿势:
3. 编辑好指头的姿势.
4. 点击 Save Pose 按钮.
3. 输入一个新的姿势名称.
提示: 默认状态下姿势保存在\3dsmax\plugcf\CAT\HandPosePresets\ 目录下
提示: 除了使用上述的方法控制指头. 你还可以在视图当中旋定指头骨骼直接变换它们的状态.
指头修改器
Digit Modifiers 指头修改器
指头修改器提供操纵指头的工具, 包括对应一根或一组指头的. 选定的指头可以通过 Spread 分开, Bend 弯曲, Roll侧旋 and Curl蜷曲 几个微调按钮来调节.
选择想要调节的指头:
· 在指头修改器的列表框中点击拖拽鼠标选定一个或多个指头.
Spread 分开
Spread 就是张开关闭手指之间的距离,见下图.
Bend 弯曲
Bend 是整根手指以根部为原点的弯曲.
Roll
Roll 是沿着其长度方向的旋转,是侧旋.
Curl
Curl 是手指各节之间上下旋转.
提示: 所有的修改是基于当前的旋转状态的.
[page]
肢体控制
肢体的控制主要集中在Palm 手掌的 IK Target 面板.
IK Target
这些控制参数影响选定手掌的肢体.(译者:注意比较1.15的功能)
在手掌上创建一个虚拟点物体当作肢体的IK目标.
选定现存的IK 目标.
带有 IK目标的手掌
警告: 这个按钮只在绝对动画层时可以使用.
为当前FK的旋转状态记录关键帧.
提示: 在IK状态下使用 Key Limb 来记录旋转关键帧, 在空间中冻结肢体可以实现与 FK 的无缝混合.
Move to Palm 按钮把 IK 目标移动回其创建时在手掌上的位置. 一般在你使用FK调整了肢体后向切换回IK模式时使用.
使用 Key Limb FK 和 Move to Palm 按钮可以轻松地从 FK 模式切换回 IK 模式!
Blending from IK to FK 在IK和FK之间切换
IK/FK 滑动块设置 IK 权重. IK/FK weight 设置为 1.0 表示肢体处于 FK模式; IK/FK weight 设置为 0.0 表示肢体处于IK模式.
NB: 一般不会把这个值设置在0 到 1之间. 这个滑块只用来切换.
无缝前还 IK 到 FK:
3. 确认你在一个Absolute layer绝对动画层上.
2. 进入你要开始切换的帧.
3. 点击 Key Limb 按钮.
4. 打开3ds max Auto Key 按钮.
5. 滑动 IK/FK 滑块创建一个关键帧.
6. 跳到你想结束切换的帧.
7. 移动 IK/FK 滑块到 1.0.
FK 模式打开后肢体仍然是处于原来的位置, 只是可以使用 FK方式来操纵了.
Blending from FK to IK 从FK切换到IK
8. 确定你处于一个绝对动画层.
9. 进入你要开始切换的帧.
10. 点击Move to Palm 按钮.
11. 打开3ds max Auto Key 按钮.
12. 滑动 IK/FK 滑块创建一个关键帧.
13. 跳到你想结束切换的帧.
14. 把 IK/FK 滑块调到 0.0.
FK 模式打开后肢体仍然是处于原来的位置, 只是可以使用 IK方式来操纵了.
注意: The swivel angle for the limb in IK mode is not stored, so you will have to adjust that manually to get that seamless look. If Target Align is off seamless blending will be easier too.
Target Align 目标对齐
Target Align 值可以用于控制手掌是否继承IK目标的旋转.
当 Target Align 值设置为 0.0 时手掌根随IK 目标移动但是仍然与其连接的骨骼对齐 (人类的话是前臂).
E.g. 手掌没有继承IK目标的旋转情况
当 Target Align 值设置为 1.0 时手掌继承IK目标的移动和旋转.
E.g. 手掌继承了IK目标的旋转
脚踝
脚踝的调节方式与palms 手掌完全一致,除了不用创建create an IK Target IK目标(译者注:1.15版手掌也不用创建IK目标了). 脚踝的FootPlatform 脚板就是 IK 目标.
脚板关键帧控制
脚板轴心控制
脚板是脚的IK目标. 它有一个可以让你调节轴心点位置和角度的界面来帮助你设置关键帧动画.
面板有两个主要的部分. 一个是中间的window. 里面是一个表示轴心点位置的兰点. 这个点的位置可以在window里面直接点击定位.
注意: 视图中轴心点的位置并不是上面界面中兰点位置的完全镜像.
另一部分就是window边上的滑动块. 用于控制脚板的角度.
警告: 如果在视图和这个面板里面都调节了脚板的角度会得到奇怪的结果. 所以不要混着用! 这不会重新定位轴心点的位置.
使用层管理器
使用 CAT的Layer Manger层管理器你可以create separate new animations创建分离的动画, 快速简单的tweak existing animations调节现有动画, blend between animation layers 在不同的动画层之间混合edit the time and speed of individual layers 编辑不同动画层的时间和速度.
所有的动画都使用标准的3ds max 动画控制器. 就是说创建动画的方式跟3ds max原有的方式一样, 在轨迹视图中使用同样的方式处理关键帧same access to all keyframes.
独立的层可以使用Clip Manager 剪辑管理器来保存和读取.
创建新动画 (绝对动画层)
使用绝对动画层来创建新动画.绝对动画层包括 CATMotion 运动, 绝对的关键帧动画以及导入的motion capture data动作捕捉数据.
创建绝对动画层:
15. 选择出手掌、脚踝、指头之外的身体部件.
16. 进入动画命令面板的层卷动面板l.
17. 确认当前层列表框里选定的是(Available).
18. 点击创建绝对动画层按钮.
一个新的动画层在原来的 CATMotion 层下被创建.
新的动画层被选定权重设置为 100%, 表示你可以开始keyframe animation 进行关键帧动画了.
[page]
调整现有的动画 (相对动画层)
使用 CAT的Layer Manager 层管理器你可以非破坏性地调节现有的动画, 包括CATMotion 动画, Absolute 绝对层的关键帧动画, motion capture data 以及其他的相对动画层.
相对动画层中的关键帧对现有的动画产生位移. 比方说你可以用CATMotion层控制骨架行走,然后创建一个相对动画层来控制头部的运动 . 头部的移动还是保留 CATMotion 的移动.
创建相对动画层:
19. 选择骨架的任意部分.
20. 进入动画命令面板的层管理器卷动面板.
21. 确定层列表框中选定的是Available
22. 点击创建相对动画层按钮.
一个新的动画层被创建在原有的动画层之下.
选定的新层权重被设置为 100%, 表示你可以开始调节动画了 (在这里是调节原有的 CATMotion动画) .
混合不同动画层的动画 (权重视图)
层之间的混合其实只要简单的调节最上层的Weight 权重值就行了. . 不过有时候, 你想只调节一条肢体的动作或者你想关掉别的层上某个部件的动作. 比方说上身使用keyframe animation 关键帧动画而腿部使用CATMotion 动画.
层的权重在 Weights View权重视图中管理, 在 Track View 轨迹视图中可以访问.
在 CATHierarchy继承目录树里,保存有 CATMotion 控制器, 权重视图在CATParent 里. 不过你也可以直接打开权重视图.
直接打开权重视图:
· 点击动画命令面板中Layer Manager 层管理器卷动菜单中的曲线编辑器按钮.
权重视图展开可看到骨架上的动画层. 上图有两个动画层:CATMotion 和NewLayer.
权重视图是一个小巧的权重系统. 每一层展开都可以看到骨架的继承目录树.
每个部件都可以独立的调节权重.
整个层的权重(主权重)可以点击层的名字来进行访问和调节 (e.g. 如 NewLayer).
所有的层默认值为 on或1.0. 表示如果层的主权重设置为 1.0 那么所有的部件的权重都为1.0.
要把单一肢体的权重设置为 1.0 你要先把层的主权重设置为 1.0, 然后把除这条肢体外的所有部件的权重设置为off. 听起来挺可怕, 不过经过一些小小的练习我们可以发现这很管用.
混合一个绝对动画层:
1. 进入第75帧并在层管理器卷动面板中增加一个绝对动画层.
绝对动画层覆盖了 CATMotion 层而且骨架固定在创建层的那一帧上了.
2. 把这层改名为Arm Waving.
3. 点击动画命令面板上的层管理器卷动面板里的曲线编辑器按钮.
出现权重视图,显示骨架上现有的动画层. 上图有两个层, CATMotion 和Arm Waving.
4. 在60帧创建一个关键帧并把 Arm Waving 的权重设置为 0.0.
5. 在75帧创建另一个关键帧把权重设置为 1.0.
骨架走到75帧的时候停下.
下面你将用权重视图来调节只有左臂受new layer的影响, 其他的部件还是按照 CATMotion 来运动.
只增加左臂的混合权重值:
1. 点击Arm Waving 展开分支.
出现3个连接部 (PelvisGroup, RibcageGroup and HeadGroup). 左臂在RibcageGroup 里所以你先要把PelvisGroup 和HeadGroup的权重调为0.
2. 点击PelvisGroup 分支.
可以看到PelvisGroup 权重是 1.0.
3. 创建一个关键帧把PelvisGroup 权重设置为 0.0.
4. 以同样的步骤处理HeadGroup.
当你点击播放按钮时可以看到CATMotion 控制了下体和头部. 而胸腔和手臂是不动的.
现在你要把右臂的权重设置为 0.0.
5. 点击展开RibcageGroup 的分支.
可以看到RibcageGroup的分支.
现在要把除了左臂外的所有部件的权重调节为 0.0.
6. 使用上面对PelvisGroup 和HeadGroup 以及RArm1的操作步骤.
现在只有左臂 (LArm0) 收到绝对动画层Arm Waving的影响.
现在播放动画,只有左臂静止了.
现在开始混合层的动画.
7. 点击LArm0 在30帧上创建一个关键帧数值设置为 0.0.
8. 在50帧上创建第二个关键帧数值设置为 1.0
现在Arm Waving 层上的LArm0 在30 到 50帧之间产生了一个混合.
为了然你了解系统是如何运作的我们使用另一种方法来重复最后一步: 编辑整个群组的主权重.
7. 点击RibcageGroup 并在 30 帧到 50帧之间产生一个增加的混合.
这跟单独调节LArm0的权重是一样的.
点击LArm0. 轨迹视图会如下图所示.
红线表示左臂的权重是受是它的父分支RibcageGroup影响的. 这条线不能编辑 (除非在RibcageGroup 上编辑), 但是能然你看到当前部件在场景中的权重值真实的变化.
编辑层的时间参数(范围)
使用 CAT 可以挤压拉伸移动一个独立层. 使用 Ranges 范围来完成.
编辑范围:
1. 点击Layer Manager 层管理器中的范围按钮.
层显示为不同的轨道.
2. 就像平常3ds max的轨迹视图那样拉伸挤压移动好了.
剪辑管理器
剪辑管理器界面
剪辑管理器用于存储和读取层的变化到一个剪辑文件里,包括当前的关键帧以及姿势.
数据存在 CAT自己格式的文件里, 叫做 CLP 文件.CLP 文件是一个文本格式文件.
剪辑文件保存所有动画控制器的当前参数. 这就是说剪辑被读取之后,会复原其保存时的所有状态.
如果某个控制器是程序控制器, 比如 LookAt Constraint 注视约束控制器或脚本控制器也会被读取不过它们的设置 (e.g. 如注视约束的目标) 不会被读取. 所以你要重新指定注视的目标.
除了CLP 文件, 剪辑管理器还可以读取BVH 和 HTR 运动捕捉格式.
选择 CATParent 后进入动画命令面板会看到剪辑管理器的界面.
这个按钮保存层的动作数据, 范围是从当前帧到 微调按钮上指定的帧.
这个按钮把当前帧骨架上的所有骨骼的状态保存到一个文件.
在列表框上双击相应的剪辑文件可以直接读取.
点击这个按钮可以浏览读取剪辑或姿势文件.
Don't Swap Controllers: 打勾时,如果文件中与当前层上控制器不同的控制器不会被读入. 例如,如果保存文件时一个部件被赋予了一个注视约束控制器而当前这个部件在当前层中被赋予的是一个 Bezier Float 控制器那么那个注视约束控制器就不会被读进来.
Load Root Hub: 打勾时读取根连接部的绝对动作数据 (一般是骨盆).
Load Feet: 打勾时读取脚板的绝对动作数据.
Only Weighted Elements: 打勾时只读取当前有权重 weight的部件的数据. 这在只想读取骨架某部分姿势或剪辑的时候非常有用. 关掉骨架上你不想读取的分支.读取完后再把权重值设置回来.
保存剪辑:
1. Select the layer 选择你想要存储的层.
2. 跳到储存的开始帧.
3. 设置结束帧.
4. 点击这个按钮保存文件.
提示: 剪辑默认状态下保存再 \3dsmax\plugcfg\CAT\clips 目录.
保存一个姿势:
1. 选择想要存储的层.
2. 跳到想要存储的帧.
3. 点击这个按钮保存姿势.
当然层中所有骨骼的关键帧被保存起来.(译者疑问:没设置关键帧的不被保存?这句话不明确)
保存一个有所有层混合得到的姿势:
1. 再堆栈上创建一个绝对动画层.
2. 跳到想要保存姿势的帧.
3. 在层管理器界面上点击创建关键帧按钮.
这个会把当前的姿势创建在在新层上.
4. 点击保存姿势按钮.
读取一个剪辑:
1. 选择或创建一个你想要读取剪辑的层.
2. 跳到你想要读取剪辑的帧.
3. 双击层管理器列表框中剪辑的名字.
这个剪辑将被读取进来. 所有在新剪辑上的关键帧将会覆盖当前的关键帧.
读取一个姿势:
1. 选择或创建一个你想要读取姿势的层.
2. 跳到你想要读取剪辑的帧.
3. 双击层管理器列表框中姿势的名字.
姿势将会被读取到当前帧上.
导入运动捕捉数据
运动捕捉数据通过Clip Manager 剪辑管理器读取到Layer Manager 层管理器中,方式与其他剪辑相同.
CAT 当前支持的运动捕捉格式有 BVH 和 HTR .
CAT 有一个强大的motion capture importer 运动捕捉导入器允许你调整如何把mocap 动作数据映射到骨架上. 也就是说如果读取的时候设置错误的话还可以进行改正.
Mocap 运动捕捉剪辑会提供一个ghosts 幻想物体来让你轻松地编辑这个剪辑/层,还自动的产生一个相对动画层Relative layer来调整动画(这个我不理解,需要用到才懂是否新增一个层).
运动捕捉数据可以像CATMotion Presets 预设方案一样自动的retargeted 重定向到骨架上.
[page]
运动捕捉数据导入器
动作捕捉认证设置窗口
运动捕捉数据导入器把数据映射到 CATRig骨架上. 我们把这叫做认证.
如果这个窗口吓着你了, 不要怕! CAT 实际上已经自动帮你做好了,你不需要改变什么东西. 这个窗口是用来在你发现 CAT 处理有错时你可以手工改动.也可以用来给你恶搞J
CATRig -> Mocap Assignment 指定
上面有两个列表框用来编辑运动捕捉数据怎样与骨架进行映射.
CATRig Hierarchy: 这个列表框把骨架上的部件按照继承关系显示. 在CAT系统中你应该见过这样的继承目录树, 如在 CATWindow查看轨迹视图.
提示: 按住Shift键并双击一个分支可以打开所有分支.
Mocap Hierarchy: 这个列表框显示导入的动作捕捉文件的结构.
Show SubTree: 当把勾去掉时 mocap的继承目录树会以单分支显示. 因为会超出窗口的右侧所以最好打上勾.
点击 CATRig 骨架部件时,右边的列表框中被映射的 mocap 部件将会以兰框框选.
如果你选定的骨架部件有子部件那么 Macop 继承目录树中的被映射的部件及其子部件都会被兰框包围.
mocap 部件前的一个勾表示这个部件被指定到一个 CATRig 骨架部件上.
两个勾表示被指定了不只一次.
注意: 有两个勾并不表示出错了. 比如骨架上的PalmRot 和IKTargetTM 部件都被指定给了运动捕捉数据的 RHand (下图).
点击被框选的 mocap 部件会增加/删除与左边选定CATRig 骨架部件之间的映射.
想看 RibcageGroup上都被指定了什么:
· 点击左边列表框的RibcageGroup .
被指定的部件都被框选了.
把 PelvisGroup 数据指定到 RibcageGroup上:
这个操作经常用来把一个2足的运动捕捉数据同时指定到一个4足的前肢和后肢上.
0. 在左边列表框选择PelvisGroup
被指定到PelvisGroup 上的运动捕捉数据都被框选了. 注意LowerTorso 部件时运动捕捉数据的父部件 (因为它在最左边).
2. 点击左边列表框中的RibcageGroup .
3. 双击右边的LowerTorso .
LowerTorso 机器子部件将被框选,表明LowerTorso及其子部件被指定到RigcageGroup上. 注意LowerTorso 前有两个勾表示已经被指定了两次.
而且UpperTorso 前的勾去掉了, 表示指定被取消了.
你会注意到一些运动捕捉数据的部件如脊骨和颈骨在默认状态下是没有被指定的. 这是因为CAT 在骨盆和胸腔或胸腔与头部之间重新计算了它自己的脊骨. 如果没有自动检测到, 你要把顶部脊骨链映射到胸腔上(you should map the top spine link to the ribcage译者:这个不明).
CATRig骨架的继承目录树的肢体上会出现IKTargetTM. 很显然这只是用于 IK的. 手臂默认使用FK, 腿部使用IK. 在腿部,你需要把踝部映射到 IK 目标上. CAT 会以运动捕捉数据的设置姿势计算脚板的旋转并创建动作.
PalmRot 只在 FK中使用. 它们不应该出现在腿上, 因为用不着. 在手掌上它用于旋转手. 某些运动捕捉数据会把手做90度的旋转,所以你要创建一个相对动画层来手动修正.
层导入详解
导入方法下拉菜单 (左边) 决定使用何种方式将数据导入到层管理器中. 导入层下拉菜单 (右边) 控制动作捕捉层将在堆栈中什么位置创建.
导入方式
Insert At: 创建一个新的动画层并把剪辑读取到上面. 新层的插入位置由导入层下拉菜单决定.
Add T 修改一个存在的动画层 (导入层下拉菜单指定的). 在这个例子中特别有用:把了两个不同文件中舞龙人的数据读取到一条四足的龙的动画层上.
Bones Only: 这会根据原始捕捉数据创建一个幻象骨架. 数据不会重指定到骨架上.
提示: 这在导入道具时很有用.
提示: Bones Only 也可以让你在正式导入时查看数据是否有问题.
导入层
这个下拉菜单会显示层管理器中的所有层.
Layer name:选择动作捕捉数据要插入或加入的层.
(end): 在堆栈的顶部创建一个新动画层.
注意: 当使用 Bones Only 导入方式时这个菜单不能使用.
Layer Name: 输入新创建的层的名字.
Offset Name: 相对层的后缀名.
Offset: 打勾创建一个相对层.
Color Swatch: 编辑幻象的颜色.
Initial Weight: 新建层的初始权重.
Mocap 缩放单元
File Units: 设置 mocap 剪辑的单位.
Ratio to CATUnits: 设置动作捕捉数据相对骨架的比例.
并不是所有的动作捕捉文件提供了其测量单位的信息. HTR 文件有, BVH 就没有. 如果导入一个没有提供缩放单位的文件, 可以在这里设置. 更改 File Units 下拉菜单会改变 Ratio to CATUnits的值. 其实这只是一个缩放要素. 如果你想使用不同的比列, 选择 Custom
Mocap 的坐标系系统
这个界面转换 mocap的坐标系到 CATRig的.
有些文件没有提供坐标系统的信息. 不过, 他们一般会遵循某种标准. 大多数是 X=左, Y=上, Z=前. CAT的坐标系统是 X=右, Y=前, Z=上.
提示: 一般你不会用到,除非你发现导入数据发生了混乱.
系统如何重新定位运动捕捉数据
经过大量的思考我们决定通过手和脚的原始位置来计算mocap的重定向方法. 这是一个精确快速的解决方案.
CAT 使用KA Lifting 来计算骨盆的位置而身体的其他部分使用 FK 旋转.
肢体可以使用IK模式, 保留了原始的终点位置, 或者使用FK模式, 依靠骨骼的角度.
由于运动重定向方式的缘故,data is scaled 数据的缩放能够尽量地接近骨架大小是很重要地.
使用Relative 相对动画层来对动作进行调整.
注意: CAT 使用 KA Lifting 重定向腿部. 就是说你要把运动捕捉动画层的 KALifting slider 滑动块设置为 1.0 (它不会自动设置).
提示: 如果你的角色动作是一个坠落动作或离地的动作,需要把腿部设置为FK模式.
Ghosts幻象
每个 mocap 剪辑都被指定了一个幻象.
显示幻象:
点击Layer Manger 层管理器面板中的幻象按钮.
幻象显示了脚、骨盆、手、胸腔和头部的未重映射的状态 (原始数据) .
如果你能排列好两个mocap剪辑你可以用借助幻象来混合这两个剪辑. 也可以用来然你观察原始的动作捕捉数据是怎样的,以便进行查错.
显示在StandardHuman骨架中的Ghost幻象 (shaded)
每个幻象会被指定一个 GhostParent. GhostParent用于变化 mocap 剪辑. 用于移动、旋转、缩放剪辑.
提示: mocap 数据的缩放越符合骨架得到的结果就越好.
GhostParent
混合不同的运动捕捉剪辑的动作
混合不同的运动捕捉层的方法与在 Layer Manager层管理器中混合 between any other Absolute Layers 两个绝对动画层的方法是大致一样的.
最大的不同在于可以使用Ghost幻象. 幻象可以在排列两个剪辑时得到. 为每个剪辑创建幻象, 把 CATRig 骨架的visibility 可视度设置为0 (或者切换到设置模式) 来排除干扰.
首先要找到两个幻象动作中可以自然混合的地方. 然后, 使用剪辑继承目录中的Ranges 范围, 把这两个地方调节到同一时间上. 然后 把幻象的 platforms 脚板移动和旋转,知道脚和骨盆动作出现平滑的变换.
现在你可以变换下一个运动捕捉动画剪辑的 global weights channel全局权重通道. 如果是变换为这个剪辑动作, 就变化到100%. 如果是从这个动作变换到另一个, 就变化到 0%. 把骨架调会可视状态并确定处于 CATMotion 或者剪辑模式.(好累……这是最后一篇)
以选择另一端的肢体作为对称肢体. 这样对称的肢体参数就会跟着一起改变了. 包括手指头的创建也会照样模仿.
选择对称肢体:
双击列表框中的肢体名称.
肢体前面会出现一个箭头表示被选中了.
撤销对称:
在列表框中双击(None) .
Num Bones: 调节腿部有几根骨骼. 范围从 2 到 20
[page]
编辑腿部骨骼
骨骼参数
个别的骨骼调节参数需要在视图中点击相应的骨骼才会出现.
Num Segs: 这个微调控制器用来控制骨骼的节(段)数.
Length: 骨骼长度.
Width: 骨骼宽度.
Depth: 骨骼深度.
Setup Swivel Angle: 设置臀部和脚踝之间的角度.
提示: 十分适合做罗圈腿的牛仔哦!(现在知道这个参数的意义了吧). 创建蜘蛛也要用到.
Bend Rati 弯曲比例参数控制骨头与骨头之间的相对夹角. 这就是腿的 IK Setup IK设置.
提示: 用它来创建向后弯曲.
提示: 调节的顺序应该由上到下,从连接hub(连接部,如臀部)的第一根骨骼开始.
骨骼扭曲权重
这个图表控制每个骨骼节(段)相对于相邻节的扭曲值.
编辑脚板
脚板是腿部的 IK 目标.
脚板参数
Length: 脚板长度.
Width: 脚板宽度.
Height: 脚板高度.
警告: 蒙皮时不要把脚板但作骨骼! 否则会得到一个你不想要的结果.
编辑尾巴
尾巴参数
Name: 名字.
Color swatch: 编辑颜色.
Num Links: 尾巴的节数.
Length: 尾巴的长度.
Size: 尾巴的粗细.
Frequency: 以尾巴长度衡量的控制尾巴摇摆的波长的参数. 1.0 表示波长等于尾巴长度.
提示: 要想比较僵直的话把数值设置小一点如0.2.
Taper: 控制尾巴的锥形型变.
尾巴韧度
这个图表控制尾巴的揉韧度.
尾巴的相位
这个图表控制尾巴摇摆的频率.
注意: 这个图表在(motion)运动面板里.
[page]
CAT的动画系统
CAT 有一个非常强大的“层”动画系统. 所有的动画表现都围绕着Layer Manger 层管理器来制作.
CAT 支持任意数目的Absolute 绝对动画或Relative 相对动画 层. 层管理器的基础层是 CAT的参数控制循环运动产生器, CATMotion.
使用 CATMotion 你可以创建独特的循环运动或者读取一个existing presets 现成的预设方案. 你的骨架可以产生一个真实的没有滑动步伐的行走动画,而相对关键帧动画来说只需要用很短的时间.
另外,在CATMotion层之上还能创建绝对动画层和相对动画层.
所有的层都有animateable weight 可设置动画的权重参数. CAT的特色权重系统允许同一时间对不同的骨架部件赋予不同类型的运动这对层之间的运动混合来说十分有用.
动画可以像以往使用3dsmax那样直观使用max自带的动画控制器创建. 绝对动画层上的关键帧会覆盖堆栈下的其他层的动作. 相对动画层则是用来对其下方动画层的动作进行调整包括 CATMotion 层, Mocap 动作捕捉剪辑以及其他的相对动画层.
所有的变换都可以使用3ds max 动画控制器来制作,从Bezier Floats 到 List Controllers 以及 LookAt Constraints等. 这就是CAT美妙之处. 用它你可以使用3ds max 的传统方式来创建动画,如使用曲线控制面板等.
在剪辑管理器里,绝对动画层中的关键帧可以存储为Clips 剪辑文件并读取. CATRig骨架在某一帧的状态也可以保存为Pose 姿势文件.
剪辑管理器还可以用于import mocap clips 导入运动捕捉剪辑. 现阶段 CAT 支持 HTR 和 BVH 的动作捕捉格式.
Mocap 动作捕捉剪辑产生一个ghosts 幻象来对整个剪辑传送运动. 这个幻象在blending between clips 混合两个动画剪辑的动作时十分有用.
设置模式
设置模式用于edit the CATRig 编辑骨架. 当你点击设置模式的按钮时骨架就会回到位于CATParent 图标之上的原点, 并且回到设置姿势.
提示: 骨架的设置姿势用于 skin the rig 蒙皮.
关闭设置模式:
· 点击设置模式按钮.
骨架就会变为当前的动画姿势.
打开设置模式:
· 点击设置模式按钮.
CATRig 骨架回到 CATParent 图标上,并回到设置姿势.
层管理器简介
层管理器是CAT动画系统的核心所在. 在这里可以同时调节CATMotion 循环运动动画, keyframe animation 关键帧动画, 和mocap data 动作捕捉.
进入层管理器面板:
1. 选择骨架任意部分.
2. 进入运动命令面板.
3. 进入层管理器的卷动面板.
表示骨架处于Setup Mode 设置模式.
表示骨架没有处于设置模式.
点击打开CATWindow 界面.
打开CAT Layer Ranges 层范围界面,用于编辑各层的范围.
打开Weights View 权重视图, 层的运动在骨架上的分布.
创建Absolute Layer 绝对层.
创建Relative Layer 相对层.
塌陷为剪辑. 点击把选定范围的每一帧的姿势记录为关键帧. 所有的关键帧存到一个新的绝对层里.
删除层.
复制层.
将层上移.
将层下移 (当层在最下方的时候为灰色状态表示不能再下移).
Name: 层的名字.
Weight: 层的主权重.
Ignore: 打勾的话表示选定的层的动作影响被忽略了.
Sol打勾表示只显示这层的动画.
提示:视图的CATParent图标被选定后,权重动画的关键帧会在时间轴上显示出来.
提示: 当绝对动画层的设置为 100% 时会完全覆盖下面的动画.
显示Ghost 幻象符号. 当imported mocap clip导入动作捕捉剪辑后才会显示这个图标.
塌陷到一个姿势. 把当前骨架所有部件的姿势作为一个关键帧保存在在当前选定的层的当前帧里. 不管这个姿势是如何形成的,它只会照实记录.
塌陷层堆栈:
1. 点击塌陷到层.
时间轴上的时间滑块会自动往前移动, 在每帧上创建关键帧.
所有层的动画都会保存在一个新的绝对层里. 这个层可以saved as a Clip 保存为一个剪辑供以后使用.
提示: 按 Escape 键可以停止这个操作.
KA Lifting: 在选定的层上混合KA Lifting 膝关节抬举动画.
提示: 在 CATMotion 之外, KA Lifting 膝关节抬举动画只在导入运动捕捉数据时有用.
[page]
CATMotion 运动简介
CATMotion 是一个参数调节的循环运动产生系统. 使用 CATMotion 可以创建一个moving over an uneven surface即使在不平的表面都上没有滑步,速度和方向都适合的循环运动.
CATMotion 有一个Walk On Spot 目标导向的行走模式. 想让骨架在场景中行走可以把CATRig 骨架连接(link)到一个PathNode (一般是一个虚拟点物体) ,这个与平常的 3ds max 动画一样. 包括使用3ds max 路径约束以及连接虚拟体到一个群集系统.
CATMotion 的设置可以保存为presets 预设方案, 可以应用到其它骨架上来实现同样的效果. 多个方案可以同时读取. 使用animating preset weights动画预设方案权重图设置不同方案之间的混合. 混合出来的动作也是自然的没有滑步的.
CATMotion 通过把骨架的运动划分为各个部分的运动,并为使用者提供一个强大的、参数控制器来控制每个部件. 所有的参数都可以设置动画也可以赋予标准的3ds max 运动控制器, 如Bezier Floats 或 Float Expressions等.
CATMotion预设方案存储在一个纯文本格式的文件里可用于流程化编辑.
CATMotion 里还有一个革命性的新系统用于创建腿部的运动,叫做Knee Angle Based Body Lifting 膝关节导向的身体抬举运动.
使用 CATMotion 你可以在几个小时里创建一个可信的循环运动,在常规的动画技术里也许需要花几天的时间.
CATMotion 控制器是如何工作的
每个CATMotion 控制器的输出都是几条不同曲线的组合. 像FootPlatform>Lift (脚板>抬起) 动作就是 MAX Step Time(最大步幅时间), MAX Stride Length(最大步幅长度), the velocity of the PathNode (路径节点的速度)以及赋予脚板的其它控制器的值的组合.
在FootPlatform>Lift 列表框中的曲线用来帮助你创建你想用这个控制器来实现的动画效果, 你也可以可以在轨迹视图中查看实际结果.
查看不同部件的输出曲线 (以 FootPlatform脚板为例):
1. 在视图中选择部件.
2. 打开曲线控制器 (确认 Show Only Selected Objects filter 只显示选定物体的选项是打勾的).
3. 打开选定物体的目录树并展开 Layer Transform (层变换)分支.
4. 展开 Layer Transform (层变换)分支. 选定部件的信息都包含在CATMotionPos 控制器里.
5. 现在点击CATMotionPos.
这里你可以看到一个表现选定脚板轨迹的图表, 比较一下下面这个 Footplatform 控制器的图表.
现在我们研究一下不同的子元素的曲线组合是如何影响它们的父元素的.
查看一个 hub 连接部的曲线输出:
1. 选择 pelvis 骨盆并打开下图所示的轨迹视图.
2. 选择CATMotionPos.
我们看到骨盆跟随的是一个正弦波的轨迹. 看起来与骨盆的 lift curve 抬起曲线一致(如下图所示).
那么这个正弦波是从哪里来的呢?
骨盆上的每条腿被赋予一条 'Pelvis Lift' 曲线. 这些曲线合力的结果就是这个正旋波. 使用曲线编辑器你将看到曲线组合并产生最终的结果.
3. 按住 CTRL 点击DataZ0 和 DataZ1. 这是两条腿的Z轴数据.
可以看到多了些实的曲线. 虚线表现的就是这些曲线的叠加以及骨盆的实际轨迹.
曲线之间如何相对移动是由LimbPhases 肢体相位面板中的相位滑动块来控制的.
4. 进入CATWindow里的 LimbPhases 肢体相位面板,移动 RightLeg1的滑动块.
图表跟着相位的改变而改变了.
骨盆的运动有了显著的变化.
提示: 如果运动显得怪怪地, 不妨查看曲线编辑器! 一切就都明白了...
两条曲线彼此接近时就产生了一个更大的峰值. 当一条在另一条之上时结果就是两条曲线的振幅叠加.
如果两条曲线恰好是相反的镜像关系就会相互抵消.
下面这个窗口的设置是最后一个例子.
The trick to 'breaking the impasse' is to tighten the curve“打破僵局”的技巧就是拉紧曲线(这是英语的俏皮话吗?:).
上面的设置得到下面的结果.
注意: 在animating limb phases制作肢体相位动画以及需要得到最优结果的计划中,弄懂不同曲线是如何叠加是十分重要的.
膝关节导向的身体抬起运动
膝关节导向的身体抬起运动或简称 KA Lifting 是一个创建腿部运动的系统.
相对 IK它有两个大的优点. 首相它能消除由于IK链过长而造成的膝关节断裂问题. 第二,由于腿部会把骨盆上推, 角色就自动有了重量.
由于它支持直立的腿,我们发现使用 KA Lifting 能够实现轻松一些使用IK都无法创建的行走运动.
KA Lifting由两个控制器控制, KneeAngle 膝关节和 LegWeight 腿权重.
在 KA Lifting 里行走循环被划分为4个膝关节角度. 使用CATWindow的界面中legs分支里的KneeAngle 控制器操纵.
为了区分我们称之为: Lift, MidLift, Plant and MidPlant.
Lift 膝盖将要离开地面的角度.
MidLift 是膝盖在空中轨迹行进到一半时的角度.
Plant 是腿回到地面时腿部的角度.
MidPlant 是脚提起和着地之间的角度.
另一个重要的 KA Lifting控制器叫做 LegWeight. 位于与KneeAngle 一起在 Legs 控制器下.
LegWeight 图表控制脚板上往地面的拉力有多少. 当 LegWeight值为0 的时候增加 knee angle 值的时候抬脚就会更高. 当 LegWeight 值为 1.0 时增加 knee angle 值会把骨盆往下拉.
LegWeight 可以看做腿的优先值. 图表左边是抬起优先右边是着地优先. 这在你想做一些超现实的夸张动作时很有用. 把一个设置为0调节另一个脚的 leg weights 可以用来排除一些错误的动作. 一般着地脚会优先.(译者:这一段费解,没用过无法理解)
系统容易产生的错误一般集中在脚踝. 如果你发现脚踝直上直下或其他奇怪的行为可以试着调节 LegWeight 或 KneeAngle 参数.
一般最先要试着减少Maximum Stride Length 最大步幅长度或者增加/减少几种不同的 knee angles 值.
如果移动显得很机械则要把 LegWeight 图表调节得圆滑一点. 如果脚踝上抬过程中显得太僵直有可能是 LegWeight 的抬起部分太长了.
[page]
比较奔跑和 KA Lifting
虽然KA Lifting 是一个很好的行走解决方案, 但是对奔跑来说却不是很合适. 就这点来说想用调节leg weights 来实现离地的效果是不可能的.
所以我们推荐使用 IK 来设置奔跑和跳跃.
切换到 CATMotion 运动模式
在你开始制作动画之前你要切换出Setup Mode 设置模式.
切换出设置模式:
· 如果设置模式按钮处于这种状态点击可把它关闭.
· 关闭状态时按钮应该是这样.
现在可以打开CATWindow了.
警告: 必须确认Layer Manager 层管理器的列表框里面没有读取其他的层. 如果有, 而且这些层的权重没有设置为 0%的话, 你会得不到你想要的结果 (比如 CATMotion 或其它层的效果会被覆盖).
CATWindow简介
CATWindow 里提供了 CATMotion的所有控制器.
打开 CATWindow:
· 在层管理器卷动面板中点击猫爪图标.
CATWindow 在视图位置打开. 打开之后不用重新选择Catrig骨架就可以随时编辑CATMotion 设置. 在编辑多个骨架的时候十分有利
左边的面板是 CATRig 骨架的继承目录. CATRig骨架继承目录包含 CATMotion 所有的控制器以及与骨架对应的结构关系. 继承目录随着骨架设置的变化而更新.
最上面3个项目是没副骨架都有的. 分别是 CATMotion Preset Manager预设方案管理器, Globals 全局参数以及LimbPhases肢体相位参数. 其他的继承项目按照HubGroup 连接部群组的方式管理.
CATMotion 首先把骨架分为各个部件然后为每个部件设置了一系列的控制器; 每个控制器决定了一个部件的运动特性.
运动的不同特性都有自身的曲线控制器l. 众多控制器的组合能够直观的产生各式各样的运动.
继承目录树中的每个部分调节都会在右边面板进行.
CATMotion Preset 预设方案就是当前动画层里所有继承目录树中控制器的设置状态的集合.
CATMotion 预设方案
CATWindow 打开 CATMotion 预设方案的状态
CATMotion预设方案集里保存的是实现某个循环动作的所有 CATMotion 控制器设置状态的方案的集合. 这些数据以文本方式保存. 默认状态下保存在3dsmax\plugcfg\CAT\MotionPresets 目录里.(1.15版已经做了改进,可以决定预设方案的路径)
CATMotion 预设方案可以读取到任意骨架上, 不要期望在每副骨架上都有预期的效果. 将4足生物的预设方案读取到2足生物的骨架上将会有一个不合需要的结果. 预设方案之间名字的转换非常重要.
就像Layer Manager 层管理器一样,堆栈顶上的层将会覆盖下面的层. 每一层都有一个animateable weight 可动画的权重值来实现预设方案的效果混合.
Available Presets: 这个列表框列出3dsmax\plugcfg\CAT\MotionPresets\ folder 目录下的预设方案.
Current Layers: 这个列表框显示 CATMotion 层. 可以是已经读取的预算方案或新的默认层.
Name:编辑选定层的名称.
Weight: 编辑选定层的权重.
点击浏览预设方案.
把选定的 CATMotion层保存为一个新的预设方案.
创建一个新的 CATMotion层.
删除选定的层.
在轨迹视图中编辑 CATMotion 层的权重.
可以为不同方案的权重设置动画,比如混合两个方案的效果.
读取预设方案:
· 双击想要读取的 CATMotion 方案.
方案的名字就会在 Current Layers 列表框中出现. 并且会处于选定状态, 权重设置为100%.
预设方案已经读取并开始生效.
删除层:
1. 选择这个层.
2. 点击删除按钮.
保存预设方案:
1. 选择想要保存的层.
2. 点击Save Preset.
3. 选择一个想要的目录.
4. 输入新预设方案的名字.
5. 点击保存.
混合不同的方案:
· 为选定层的权重值设置动画.
提示: 要创建或编辑权重动画只要在CATMotion Presets 面板上点击曲线编辑器的面板.
CATWindow 的剩下部分就是用来决定编辑哪一层, 一个读入的预设方案还是一个新的默认层.
警告: 要确认你选择了正确的方案层!
Globals全局参数
就像名字一样, Globals 里是选定层一些最主要的参数.
Stride Parameters 步幅参数
Max Step Time: 跨一步需要花费的时间,用单位是帧数.
Max Stride Length: 跨一步的最大距离,以 CATUnits为单位.
根据PathNode 路径节点的速度增加或减少时骨架会自动迈不同步幅长短不同跨步时间的脚步, 但是不会超过上面限定的参数.
提示: 如果打开了 Walk On Spot(目标点导向行走) 选项骨架就会把这是值设置为最大.
当Walk On Spot 选项按钮按下时骨架会在CATParent图标之上走动.
提示: Walk On Spot 十分适合创建循环运动.
当关闭Walk On Spot模式时,点击路径节点按钮来选择一个骨架跟随的物体.
提示: 用虚拟点物体来做 PathNode 路径节点最好了.
CATMotion 的脚步一般是按照你的整个动画时间轴的长度来决定的. 就是说如果你改变动画长度的话步迹也会重新计算, 很可能会有所变动. Manual Ranges 参数可以将 CATMotion锁定在你所设定的范围里,这样就可以改变场景长度了,而且 CATMotion 也不会被改变.
提示: 如果你要制作一段很长的动画,你最好剪裁到一个小的动画段上. 激活 Manual Ranges 功能来实现这个效果.
Path / Facing: 这个滑动块控制骨架如何与 PathNode 路径节点的运动对齐,换句话说就是沿着它的方向.
提示: 当 PathNode 被约束到一条路径时这个参数很有用.
KA Lifting: 这个滑动块在IK 和 KA Lifting的效果之间建立混合.
提示: 既然 KA Lifting 的混合不是开就是关. 所以没什么理由设置为 0.5!
Footprints 足印
足印用于显示/编辑不同的脚步位置. 当你编辑足印时骨架的骨盆会自动地重新定位自己的位置.
提示: 骨盆如何重新定位与hub(连接部)上有几条腿有关. E.g. 如果连接部有两条腿,它会把自己定位在足印的中部. 如果有4条腿,连接部会往前移动四分之一距离.
点击来创建足印.
复位足印到创建时的原始状态.
隐藏足印.
自动把已创建的足印对齐到地面上.
[page]
肢体相位
LimbPhases 窗口会动态地为每条肢体创建一个相位滑块. 编辑相位值可以让你直观地调整循环运动.
分别编辑相位参数可以为制作行走、跳跃、慢跑、飞奔运动做一些前期工作.
像其它参数一样,肢体相位参数也可以设置动画.
提示: Eadward Muybridge 几个世纪前就写了一本分析生物步足位置的书. 现在有基本书都是基于他的理论.
介绍所有的CATMotion 控制器
在Globals 和Limb Phases 之后,骨架被分为一些树状的HubGroups连接部群组.
每个连接部群组和它的分支都有一系列的控制器来制作循环运动. 大多数这些控制器在所有的区域重复. 一些只在特别的区域重复.
Pelvis>Lift 控制器
一开始 CATMotion 循环有 100 帧长. 动作效果的速度等特征是由 Global 控制器 (Max Step Time 最大步幅时间和Max Stride Length最大步幅长度) 以及PathNode路径节点的速度组合决定的. 所以说最好把Time 的值看作循环运动的时间段的百分值而不是一个绝对的数值. 50 表明动作已经做到一半了.
图中浅蓝色部分表示脚着地的时间段. 深蓝色部分表示脚在空中的时间段.
除了OffsetRot 和OffsetPos 所有的控制器都有一个曲线图表.
使用 (前)和 (后) 按钮来选择曲线上的转折. 曲线上的转折也可以在窗口中直接点击选择.
当一个 knot 曲线转载被选定后,它的 Time时间, Value值, Tangent切线, 以及 tangent Lengths 切线长度的调节按钮被激活以进行调节.
提示: 如果你想比较不同的图表可以按住SHIFT按钮选定这些控制器. 只有最后一个选定的可以进行编辑.
把曲线复原为默认值.
所有的parameters are animateable 参数都可以设置动画. 曲线编辑器按钮用于打开一个用于编辑这个控制器动画关键帧的轨迹视图 Track View .
提示: 在 Track View 轨迹视图中也有相同的继承目录树可以打开: CATParent(Character Name)>Object>CATHierarchy (如下图).
提示: 这里你可以为不同的参数赋予标准的3ds max a动画控制器.
缩放区域按钮用于把图表缩放到扩展区域.
所有的连接部的运动与其肢体的相位limb phases有关. 如Duck (鸭子)骨架上的胸腔抬起循是与 arms的肢体相位有关.
HeadGroup头部群组的运动在前端连接部的肢体上产生(一般是胸腔上的手臂).
警告:头部是没有肢体的连接部. 你如果在头部上建立肢体 (加个角什么的) ,头部的行为将会很古怪.
注意: 所有的肢体相位在LimbPhases 肢体相位面板中调节.
Limbs Welded肢体焊接 Make unique 独立 Unlock limbs锁定
你可以看到 limbs 面板. 默认情况下处于LimbsWelded 肢体焊接状态, 表示所有肢体设置使用一条轨迹track来设置 (如 Track View轨迹视图中所示).
点击这个按钮把肢体分配到不同的轨迹.
关闭锁定按钮后,每条腿的动作循环使用单独的设置.
不同颜色的曲线 对应视图中的腿部颜色
你会发现所调节的腿的曲线与视图中的腿的颜色是一样的.
如果上面的内容使你迷糊, 不要紧开始用的时候就会清楚了. 事实上我建议打开一个骨架的 walking on the spot 模式并在播放动画同时调节这些参数. 你很快就会知道每个参数的含义了.
详解单个控制器
CATMotion 把运动分为rotational 旋转循环和positional 位置循环, 每个轴向都有自己的控制器. 另外每个元素都会有 旋转以及位置l offset 偏移控制器. 一些特别的部件还有special 特殊控制器.
循环位置控制器
位置控制器包括 WeightShift侧移, Push 前推 和 Lift 抬举.
WeightShift 侧移
骨盆上的WeightShift 侧移方向 (黄线)
WeightShift 控制骨架往侧边方向的运动(X 轴).
Push 前推
骨盆上的push前推方向 (黄线)
Push 控制骨架前后的运动 (Y 轴) .
Lift 抬举
骨盆上的Lift 抬举方向 (黄线)
Pitch 控制上下方向的运动 (Z 轴) .
旋转循环控制器
旋转控制器为 Roll 摆, Pitch 投 and Twist 扭曲.
Roll 摆动
骨盆上的Roll 摆动方向 (黄线)
Roll 控制部件往两边旋转的的循环动作 (X 轴).
Pitch 投掷方向
骨盆上的Pitch 投方向 (黄线)
Pitch 控制部件在骨架方向上的旋转循环 (Y 轴.
Twist 扭曲
骨盆上的Twist 摆动方向 (黄线)
Twist 控制部件在围着骨架高度方向的旋转运动循环 (Z 轴).
偏移量
Rotational Offsets 偏移量
OffsetRot 用于产生3个轴向上的旋转偏移量.
Positional Offsets 位置偏移量
OffsetPos 用于产生3个轴向上的位置偏移量.
特殊控制器
特殊控制器为专门的部件所有. 几乎所有的部件都有一两个.
连接部控制器
LiftOffset 抬举偏移量
LiftOffset 抬举偏移量控制器
HUB连接部上有LiftOffset控制器. 用于为循环运动中 Z 轴方向的偏移量设置动画.在使用IK来制作奔跑和跳跃动画时使用这个控制器控制HUB连接部的高度可以解决一些腿部的问题.
[page]
肢体控制器
LiftPlantMod 抬起着地
LiftPlantMod 控制面板
虽然肢体中都有这个控制器但是只跟腿部有关. 这个图表调节脚在地上和空中时间的比例. 这个图表中下的滑动块是唯一的参数.
滑块向左滑的时候图表变窄, 收缩在深蓝色的区域里. 表示脚在地上停留的时间较长有点 Jupiter 行走的效果
滑块向右滑的时候图表移动到浅蓝色区域,表示腿会同时停留在空中,就像跑步.
KneeAngle曲膝角度
KneeAngle 控制面板l
这个图表控制器只与腿有关. 只有Globals 参数中的KA Lifting 滑动块设置为 1.0时可用.
图表控制整个动作循环中屈膝的角度. 这是一个新的腿部动画系统, 只有 CAT有. 详细可以看Knee Angle Based Body Lifting 膝盖导向的身体抬起运动.
LegWeight 腿重
LegWeight 控制器
使用KA Lifting 时,这个图表控制每个脚之间共享重量 sharing of weight .
SwivelAngle旋转角度
SwivelAngle 控制面板
这个控制器只对腿部有用. 显示出膝盖内外旋转的角度. 在四足动物和蜥蜴身上就很有用(这么说就明白了).
脚踝控制器
DigitRollAngle 脚趾弯曲角度(往上)
DigitRollAngle 控制器
DigitRollAngle 控制脚趾的弯曲度.
提示: 与DigitSpreadAngle联合使用.
DigitSpreadAngle 脚趾分开角度
DigitSpreadAngle 控制器
DigitSpreadAngle 控制脚趾的分开程度.
提示: 这个控制器用来模拟重型生物用脚趾行走的动作,比如恐龙. 落下时张开,抬起时并拢(见上图).
DigitCurlAngle脚趾蜷曲角度
DigitCurl controller
DigitCurl 控制器控制脚趾蜷曲度.
提示: 制作长爪动物如蜥蜴和鸟.
TargetAlign目标对齐
TargetAlign 控制器
TargetAlign 控制脚踝轴心点的位置. 值为0时轴心点位于 ball of the foot (费解)(脚趾基部). 值为1时轴心点位于脚踝关节处.
提示: 人类的轴心点在脚抬起时实在 ball of the foot落脚时在脚跟 (见上图).
提示: 生物如果用 ball of its foot或脚趾行走的话 (大多数4足动物属于这一类) 一般设置为常量0, 只把轴心点放在ball of the foot.
FootBend足部弯曲
FootBend 控制器
FootBend 控制踝关节角度.
提示: When animating humans FootBend is not usually required as the ankle lifts naturally anyway (assuming your TargetAlign settings are correct!). 人类不用设置这个参数,使用targetalign吧.
提示: 适合用脚趾走路的生物就对了.
脚板控制器
FootPlatform 脚板是脚的IK目标. 它的运动是腿部运动的关键.
RollPivotPos 摆动轴心位置
RollPivotPos 控制器
CATRig骨架的脚板有一个可动画的位置轴心点来决定脚总是围绕一个点来进行旋转.RollPivotPos 控制器控制了这个轴心点在脚板x轴方向的位置 (从一端到另一端).
1.0 的值表示在脚部以外, 0.0表示在脚板里面.
提示: 虽然这是一个可动画的值但是在循环动作里面一般设置为一个常量. 人类的数值一般设置为 1.0 (见上图).
Roll 摆动
Roll控制器
脚板的摆动控制器比其他部件的摆动控制器有更多的转折点,用于更多的控制.
上图所示摆动在脚离地时开始在着地时结束,这是常见的情况.
PitchPivotPos
PitchPivotPos 控制
CATRig骨架的脚板有一个可动画的位置轴心点来决定脚总是围绕一个点来进行旋转.PitchPivotPos 控制器控制了这个轴心点在脚板Y轴方向的位置 .
值为0.0 时轴心点在脚跟, 1.0 时在脚趾.
提示: 人类的话一般在抬脚时设置为1.0(脚趾处),落下时设置为0,然后在两个值之间变化 (见上图).
Pitch 推进
Pitch 控制器
就像标准的 Pitch 控制器一样脚板的 Pitch控制器控制脚板在Y轴方向的角度. 用于控制抬起和放下之间的角度(见下图).
FootPlatform pitch at lift 抬起; ...and at Plant放下.
FootPush
FootPush控制器
FootPush 是循环位置运动时Y轴上的偏移量,让你在行走循环中推动脚板往前送.
提示: 用 FootPush 来实现行军步伐 (与KA Lifting配合使用) 和跑动.
Swerve 转向
Swerve 控制器
Swerve控制器就像WeightShift 控制器. 控制减办在x轴上的位置.
StepShape 步伐形状
StepShape 控制器
这个控制器控制脚板在空中的速度. 换句话说是脚板在空中的绷紧状态,何处慢何处快.
提示: 小小的变化就会引起巨大的效果!
提示: 运动越慢曲线就越松弛. 快速的运动如跑步应该有一个线性的StepShape 曲线.
手臂控制器
CrossSwing交叉摆动
CrossSwing 控制器
CrossSwing 控制手臂在Y轴上摆出身体的角度. 用来与 Twist (扭曲)来调整手臂在身体周围摆动的方式.
Swing 摆动
Swing控制器
Swing 控制手臂在与身体并行方向的前后旋转.
Bend 弯曲
Bend 控制器
Bend 控制肘部如何弯曲.
提示: 你要调节两个转折点来得到的正确的弯曲运动. 对人类来说转折点 1 可到-64 ,转折点的值可到 24.
锁骨控制器
Motion X, Y, Z
锁骨上的Motion X, Motion Y 以及 Motion Z 参数控制锁骨的各个方向上的旋转循环运动.
手掌控制器
手掌的控制器元素几乎与ankles脚踝的相同. 除了 HandFlop.
HandFlop X
HandFlop 控制器
HandFlop X 控制手掌 X 轴方向的旋转.
提示: 适合做卡通角色的小动作.
Handflop Y
HandFlop 控制器
HandFlop Y 控制 Y 轴方向的旋转.
[page]
记录 CATMotion 参数作为动画
CATWindow中的所有参数都是可以动画的. 关键帧的设置根其他的3ds max关键帧设置方式一样,包括在轨迹视图中打开 Auto Key按钮.
在 Track View 轨迹视图里CATMotion 数据存放在CATHierarchy 继承目录树里. 继承目录树的根是 CATParent.
这个目录树镜像CATWindow中的继承关系. 每个控制器。每个层都可以进行调节.
关键帧的插入和删除工作使用3ds max的普通方式操作.
轨迹视图中的StandardHuman骨架的继承目录树
提示: 在方便的设置某个 CATMotion 控制器动画的方法就是在 CATWindow界面中点击轨迹视图按钮.
设置骨盆抬起动画:
1. 在CATWindow中点击PelvisGroup>Pelvis>Lift .
2. 点击轨迹视图.
轨迹视图打开后会显示选定控制器的所有参数.
3. 展开 Key2Val.
4. 按需插入或编辑关键帧.
提示: CAT 精彩之处在于你可以为参数赋予任何浮点控制器,包括Float List controllers.
提示: 为 offset controllers (OffsetRot 和 OffsetPos) 设置动画是在循环动作上增加额外动作的一个方法, 如抬头等. 另一个 (也是比较好的) 方法就是在Relative 相对动画层中设置动画.
关键帧动画简介
CATMotion 适合于制作循环运动, 不过有时候你可能只是想放置一些关键帧. 下面将介绍 CAT 的骨架如何操纵.
CAT 使用layer based 分层的动画系统. 就是说所有的关键帧都是创建在动画层上的. 层分两类: Absolute Layers 绝对动画层和Relative Layers相对动画层.
绝对动画层用于创建新的动画. 使用标准的3ds max 动画控制器变换动作.
相对动画层用于调整现成的动画. 相对动画层中的关键帧对下方堆栈动画层的动作产生偏移量,包括CATMotion循环动作层.
开始制作动画之前必须先激活一个层. (查阅Creating New Animation 创建新动画了解创建一个绝对动画层的方法).
CAT制作关键帧动画非常简单只需在视图中选定部件并对其进行变化就可以了. 骨架创建好后你就不需要考虑部件之间的关系了,它们会如你期望的那样动作.
因为动画是保存在标准的3ds max 动画控制器里的,所以你可以使用各种方式来创建或编辑动画. 也可以在edited in Track View 轨迹视图中编辑关键帧.
除了palms 手掌和ankles 脚踝之外其他的骨架部件都没有什么可编辑的动画参数. 不同部件和其子部件之间的联系是通过修改命令面板中的setup parameters 设置参数来进行修改.
不管是不是在Setup Mode设置模式下,这些参数都可以随时更改. 所以要注意,这会影响骨架的设置姿势. 如果已经进行了skinned your rig 蒙皮的话将会造成严重的后果.
警告: 调节设置参数(在修改命令面板中) 会影响在设置模式中调节好的骨架设定,会严重影响已经蒙皮好的骨架!!
提示: 蒙皮之前最好为骨架制作一些测试动画来看看骨架的特性是否符合你的要求.
在轨迹视图中编辑关键帧
像其他的3ds max动画一样关键帧保存在轨迹视图中. 想要编辑一个部件的关键帧只要在轨迹视图中找到这个部件就行了.
在部件的Transform 变换分支下有一个叫做Layer Transform 层变换的分支. 这个分支里面是各个可见的动画层, 动画层里面才是各自的控制器.
StanadardHumanHead部件在NewLayer层上的 XYZ 动画曲线.
注意: 默认情况下旋转变换使用的是标准的 EulerXYZ 旋转控制器.
提示: 使用选择物体过滤器可以节省卷动寻找的时间!
手掌
Palm Parameters 手掌参数
手掌的动画的 Palm Parameters手掌参数控制界面在动画命令面板里.
手掌上还有一些整个肢体的 IK/FK settings IK/FK设置.
指头控制界面包含digit pose manager 指头姿势管理器, 和一个先进的digit modifiers指头修改器.
指头姿势管理器
指头有自己的姿势管理器, 叫做 Preset Poses.
Preset Poses
在Preset Poses列表框中提供的是指头的姿势. 每个姿势保存的是所有指头的旋转状态. 这些状态可以读取到其他的手掌上.
如果选定的手掌没有这么多根指头那么读入一个预设方案的时候多余的指头就会被忽略. 而如果一个手掌的指头比预设方案的多那么这些额外的指头是没有旋转数据的.
每个姿势方案都可调节权重, 可以用来混合不同的姿势.
读取一个指头姿势:
· 在 Preset Poses 列表框中双击想要的姿势.
指头的旋转状态马上会发生变化.
混合一个指头姿势:
1. 在Preset Poses 列表框中点击一下这个姿势.
2. 把Preset Weight 参数调大.
指头将从现在的旋转状态变化到选定的姿势.
保存一个姿势:
1. 编辑好指头的姿势.
2. 点击 Save Pose 按钮.
3. 输入一个新的姿势名称.
提示: 默认状态下姿势保存在\3dsmax\plugcf\CAT\HandPosePresets\ 目录下
提示: 除了使用上述的方法控制指头. 你还可以在视图当中旋定指头骨骼直接变换它们的状态.
指头修改器
Digit Modifiers 指头修改器
指头修改器提供操纵指头的工具, 包括对应一根或一组指头的. 选定的指头可以通过 Spread 分开, Bend 弯曲, Roll侧旋 and Curl蜷曲 几个微调按钮来调节.
选择想要调节的指头:
· 在指头修改器的列表框中点击拖拽鼠标选定一个或多个指头.
Spread 分开
Spread 就是张开关闭手指之间的距离,见下图.
Bend 弯曲
Bend 是整根手指以根部为原点的弯曲.
Roll
Roll 是沿着其长度方向的旋转,是侧旋.
Curl
Curl 是手指各节之间上下旋转.
提示: 所有的修改是基于当前的旋转状态的.
[page]
肢体控制
肢体的控制主要集中在Palm 手掌的 IK Target 面板.
IK Target
这些控制参数影响选定手掌的肢体.(译者:注意比较1.15的功能)
在手掌上创建一个虚拟点物体当作肢体的IK目标.
选定现存的IK 目标.
带有 IK目标的手掌
警告: 这个按钮只在绝对动画层时可以使用.
为当前FK的旋转状态记录关键帧.
提示: 在IK状态下使用 Key Limb 来记录旋转关键帧, 在空间中冻结肢体可以实现与 FK 的无缝混合.
Move to Palm 按钮把 IK 目标移动回其创建时在手掌上的位置. 一般在你使用FK调整了肢体后向切换回IK模式时使用.
使用 Key Limb FK 和 Move to Palm 按钮可以轻松地从 FK 模式切换回 IK 模式!
Blending from IK to FK 在IK和FK之间切换
IK/FK 滑动块设置 IK 权重. IK/FK weight 设置为 1.0 表示肢体处于 FK模式; IK/FK weight 设置为 0.0 表示肢体处于IK模式.
NB: 一般不会把这个值设置在0 到 1之间. 这个滑块只用来切换.
无缝前还 IK 到 FK:
1. 确认你在一个Absolute layer绝对动画层上.
2. 进入你要开始切换的帧.
3. 点击 Key Limb 按钮.
4. 打开3ds max Auto Key 按钮.
5. 滑动 IK/FK 滑块创建一个关键帧.
6. 跳到你想结束切换的帧.
7. 移动 IK/FK 滑块到 1.0.
FK 模式打开后肢体仍然是处于原来的位置, 只是可以使用 FK方式来操纵了.
Blending from FK to IK 从FK切换到IK
1. 确定你处于一个绝对动画层.
2. 进入你要开始切换的帧.
3. 点击Move to Palm 按钮.
4. 打开3ds max Auto Key 按钮.
5. 滑动 IK/FK 滑块创建一个关键帧.
6. 跳到你想结束切换的帧.
7. 把 IK/FK 滑块调到 0.0.
FK 模式打开后肢体仍然是处于原来的位置, 只是可以使用 IK方式来操纵了.
注意: The swivel angle for the limb in IK mode is not stored, so you will have to adjust that manually to get that seamless look. If Target Align is off seamless blending will be easier too.
Target Align 目标对齐
Target Align 值可以用于控制手掌是否继承IK目标的旋转.
当 Target Align 值设置为 0.0 时手掌根随IK 目标移动但是仍然与其连接的骨骼对齐 (人类的话是前臂).
E.g. 手掌没有继承IK目标的旋转情况
当 Target Align 值设置为 1.0 时手掌继承IK目标的移动和旋转.
E.g. 手掌继承了IK目标的旋转
脚踝
脚踝的调节方式与palms 手掌完全一致,除了不用创建create an IK Target IK目标(译者注:1.15版手掌也不用创建IK目标了). 脚踝的FootPlatform 脚板就是 IK 目标.
脚板关键帧控制
脚板轴心控制
脚板是脚的IK目标. 它有一个可以让你调节轴心点位置和角度的界面来帮助你设置关键帧动画.
面板有两个主要的部分. 一个是中间的window. 里面是一个表示轴心点位置的兰点. 这个点的位置可以在window里面直接点击定位.
注意: 视图中轴心点的位置并不是上面界面中兰点位置的完全镜像.
另一部分就是window边上的滑动块. 用于控制脚板的角度.
警告: 如果在视图和这个面板里面都调节了脚板的角度会得到奇怪的结果. 所以不要混着用! 这不会重新定位轴心点的位置.
使用层管理器
使用 CAT的Layer Manger层管理器你可以create separate new animations创建分离的动画, 快速简单的tweak existing animations调节现有动画, blend between animation layers 在不同的动画层之间混合edit the time and speed of individual layers 编辑不同动画层的时间和速度.
所有的动画都使用标准的3ds max 动画控制器. 就是说创建动画的方式跟3ds max原有的方式一样, 在轨迹视图中使用同样的方式处理关键帧same access to all keyframes.
独立的层可以使用Clip Manager 剪辑管理器来保存和读取.
创建新动画 (绝对动画层)
使用绝对动画层来创建新动画.绝对动画层包括 CATMotion 运动, 绝对的关键帧动画以及导入的motion capture data动作捕捉数据.
创建绝对动画层:
1. 选择出手掌、脚踝、指头之外的身体部件.
2. 进入动画命令面板的层卷动面板l.
3. 确认当前层列表框里选定的是(Available).
4. 点击创建绝对动画层按钮.
一个新的动画层在原来的 CATMotion 层下被创建.
新的动画层被选定权重设置为 100%, 表示你可以开始keyframe animation 进行关键帧动画了.
[page]
调整现有的动画 (相对动画层)
使用 CAT的Layer Manager 层管理器你可以非破坏性地调节现有的动画, 包括CATMotion 动画, Absolute 绝对层的关键帧动画, motion capture data 以及其他的相对动画层.
相对动画层中的关键帧对现有的动画产生位移. 比方说你可以用CATMotion层控制骨架行走,然后创建一个相对动画层来控制头部的运动 . 头部的移动还是保留 CATMotion 的移动.
创建相对动画层:
1. 选择骨架的任意部分.
2. 进入动画命令面板的层管理器卷动面板.
3. 确定层列表框中选定的是Available
4. 点击创建相对动画层按钮.
一个新的动画层被创建在原有的动画层之下.
选定的新层权重被设置为 100%, 表示你可以开始调节动画了 (在这里是调节原有的 CATMotion动画) .
混合不同动画层的动画 (权重视图)
层之间的混合其实只要简单的调节最上层的Weight 权重值就行了. . 不过有时候, 你想只调节一条肢体的动作或者你想关掉别的层上某个部件的动作. 比方说上身使用keyframe animation 关键帧动画而腿部使用CATMotion 动画.
层的权重在 Weights View权重视图中管理, 在 Track View 轨迹视图中可以访问.
在 CATHierarchy继承目录树里,保存有 CATMotion 控制器, 权重视图在CATParent 里. 不过你也可以直接打开权重视图.
直接打开权重视图:
· 点击动画命令面板中Layer Manager 层管理器卷动菜单中的曲线编辑器按钮.
权重视图展开可看到骨架上的动画层. 上图有两个动画层:CATMotion 和NewLayer.
权重视图是一个小巧的权重系统. 每一层展开都可以看到骨架的继承目录树.
每个部件都可以独立的调节权重.
整个层的权重(主权重)可以点击层的名字来进行访问和调节 (e.g. 如 NewLayer).
所有的层默认值为 on或1.0. 表示如果层的主权重设置为 1.0 那么所有的部件的权重都为1.0.
要把单一肢体的权重设置为 1.0 你要先把层的主权重设置为 1.0, 然后把除这条肢体外的所有部件的权重设置为off. 听起来挺可怕, 不过经过一些小小的练习我们可以发现这很管用.
混合一个绝对动画层:
1. 进入第75帧并在层管理器卷动面板中增加一个绝对动画层.
绝对动画层覆盖了 CATMotion 层而且骨架固定在创建层的那一帧上了.
2. 把这层改名为Arm Waving.
3. 点击动画命令面板上的层管理器卷动面板里的曲线编辑器按钮.
出现权重视图,显示骨架上现有的动画层. 上图有两个层, CATMotion 和Arm Waving.
4. 在60帧创建一个关键帧并把 Arm Waving 的权重设置为 0.0.
5. 在75帧创建另一个关键帧把权重设置为 1.0.
骨架走到75帧的时候停下.
下面你将用权重视图来调节只有左臂受new layer的影响, 其他的部件还是按照 CATMotion 来运动.
只增加左臂的混合权重值:
1. 点击Arm Waving 展开分支.
出现3个连接部 (PelvisGroup, RibcageGroup and HeadGroup). 左臂在RibcageGroup 里所以你先要把PelvisGroup 和HeadGroup的权重调为0.
2. 点击PelvisGroup 分支.
可以看到PelvisGroup 权重是 1.0.
3. 创建一个关键帧把PelvisGroup 权重设置为 0.0.
4. 以同样的步骤处理HeadGroup.
当你点击播放按钮时可以看到CATMotion 控制了下体和头部. 而胸腔和手臂是不动的.
现在你要把右臂的权重设置为 0.0.
5. 点击展开RibcageGroup 的分支.
可以看到RibcageGroup的分支.
现在要把除了左臂外的所有部件的权重调节为 0.0.
6. 使用上面对PelvisGroup 和HeadGroup 以及RArm1的操作步骤.
现在只有左臂 (LArm0) 收到绝对动画层Arm Waving的影响.
现在播放动画,只有左臂静止了.
现在开始混合层的动画.
7. 点击LArm0 在30帧上创建一个关键帧数值设置为 0.0.
8. 在50帧上创建第二个关键帧数值设置为 1.0
现在Arm Waving 层上的LArm0 在30 到 50帧之间产生了一个混合.
为了然你了解系统是如何运作的我们使用另一种方法来重复最后一步: 编辑整个群组的主权重.
7. 点击RibcageGroup 并在 30 帧到 50帧之间产生一个增加的混合.
这跟单独调节LArm0的权重是一样的.
点击LArm0. 轨迹视图会如下图所示.
红线表示左臂的权重是受是它的父分支RibcageGroup影响的. 这条线不能编辑 (除非在RibcageGroup 上编辑), 但是能然你看到当前部件在场景中的权重值真实的变化.
编辑层的时间参数(范围)
使用 CAT 可以挤压拉伸移动一个独立层. 使用 Ranges 范围来完成.
编辑范围:
1. 点击Layer Manager 层管理器中的范围按钮.
层显示为不同的轨道.
2. 就像平常3ds max的轨迹视图那样拉伸挤压移动好了.
剪辑管理器
剪辑管理器界面
剪辑管理器用于存储和读取层的变化到一个剪辑文件里,包括当前的关键帧以及姿势.
数据存在 CAT自己格式的文件里, 叫做 CLP 文件.CLP 文件是一个文本格式文件.
剪辑文件保存所有动画控制器的当前参数. 这就是说剪辑被读取之后,会复原其保存时的所有状态.
如果某个控制器是程序控制器, 比如 LookAt Constraint 注视约束控制器或脚本控制器也会被读取不过它们的设置 (e.g. 如注视约束的目标) 不会被读取. 所以你要重新指定注视的目标.
除了CLP 文件, 剪辑管理器还可以读取BVH 和 HTR 运动捕捉格式.
选择 CATParent 后进入动画命令面板会看到剪辑管理器的界面.
这个按钮保存层的动作数据, 范围是从当前帧到 微调按钮上指定的帧.
这个按钮把当前帧骨架上的所有骨骼的状态保存到一个文件.
在列表框上双击相应的剪辑文件可以直接读取.
点击这个按钮可以浏览读取剪辑或姿势文件.
Don't Swap Controllers: 打勾时,如果文件中与当前层上控制器不同的控制器不会被读入. 例如,如果保存文件时一个部件被赋予了一个注视约束控制器而当前这个部件在当前层中被赋予的是一个 Bezier Float 控制器那么那个注视约束控制器就不会被读进来.
Load Root Hub: 打勾时读取根连接部的绝对动作数据 (一般是骨盆).
Load Feet: 打勾时读取脚板的绝对动作数据.
Only Weighted Elements: 打勾时只读取当前有权重 weight的部件的数据. 这在只想读取骨架某部分姿势或剪辑的时候非常有用. 关掉骨架上你不想读取的分支.读取完后再把权重值设置回来.
保存剪辑:
1. Select the layer 选择你想要存储的层.
2. 跳到储存的开始帧.
3. 设置结束帧.
4. 点击这个按钮保存文件.
提示: 剪辑默认状态下保存再 \3dsmax\plugcfg\CAT\clips 目录.
保存一个姿势:
1. 选择想要存储的层.
2. 跳到想要存储的帧.
3. 点击这个按钮保存姿势.
当然层中所有骨骼的关键帧被保存起来.(译者疑问:没设置关键帧的不被保存?这句话不明确)
保存一个有所有层混合得到的姿势:
1. 再堆栈上创建一个绝对动画层.
2. 跳到想要保存姿势的帧.
3. 在层管理器界面上点击创建关键帧按钮.
这个会把当前的姿势创建在在新层上.
4. 点击保存姿势按钮.
读取一个剪辑:
1. 选择或创建一个你想要读取剪辑的层.
2. 跳到你想要读取剪辑的帧.
3. 双击层管理器列表框中剪辑的名字.
这个剪辑将被读取进来. 所有在新剪辑上的关键帧将会覆盖当前的关键帧.
读取一个姿势:
1. 选择或创建一个你想要读取姿势的层.
2. 跳到你想要读取剪辑的帧.
3. 双击层管理器列表框中姿势的名字.
姿势将会被读取到当前帧上.
导入运动捕捉数据
运动捕捉数据通过Clip Manager 剪辑管理器读取到Layer Manager 层管理器中,方式与其他剪辑相同.
CAT 当前支持的运动捕捉格式有 BVH 和 HTR .
CAT 有一个强大的motion capture importer 运动捕捉导入器允许你调整如何把mocap 动作数据映射到骨架上. 也就是说如果读取的时候设置错误的话还可以进行改正.
Mocap 运动捕捉剪辑会提供一个ghosts 幻想物体来让你轻松地编辑这个剪辑/层,还自动的产生一个相对动画层Relative layer来调整动画(这个我不理解,需要用到才懂是否新增一个层).
运动捕捉数据可以像CATMotion Presets 预设方案一样自动的retargeted 重定向到骨架上.
[page]
运动捕捉数据导入器
动作捕捉认证设置窗口
运动捕捉数据导入器把数据映射到 CATRig骨架上. 我们把这叫做认证.
如果这个窗口吓着你了, 不要怕! CAT 实际上已经自动帮你做好了,你不需要改变什么东西. 这个窗口是用来在你发现 CAT 处理有错时你可以手工改动.也可以用来给你恶搞J
CATRig -> Mocap Assignment 指定
上面有两个列表框用来编辑运动捕捉数据怎样与骨架进行映射.
CATRig Hierarchy: 这个列表框把骨架上的部件按照继承关系显示. 在CAT系统中你应该见过这样的继承目录树, 如在 CATWindow查看轨迹视图.
提示: 按住Shift键并双击一个分支可以打开所有分支.
Mocap Hierarchy: 这个列表框显示导入的动作捕捉文件的结构.
Show SubTree: 当把勾去掉时 mocap的继承目录树会以单分支显示. 因为会超出窗口的右侧所以最好打上勾.
点击 CATRig 骨架部件时,右边的列表框中被映射的 mocap 部件将会以兰框框选.
如果你选定的骨架部件有子部件那么 Macop 继承目录树中的被映射的部件及其子部件都会被兰框包围.
mocap 部件前的一个勾表示这个部件被指定到一个 CATRig 骨架部件上.
两个勾表示被指定了不只一次.
注意: 有两个勾并不表示出错了. 比如骨架上的PalmRot 和IKTargetTM 部件都被指定给了运动捕捉数据的 RHand (下图).
点击被框选的 mocap 部件会增加/删除与左边选定CATRig 骨架部件之间的映射.
想看 RibcageGroup上都被指定了什么:
· 点击左边列表框的RibcageGroup .
被指定的部件都被框选了.
把 PelvisGroup 数据指定到 RibcageGroup上:
这个操作经常用来把一个2足的运动捕捉数据同时指定到一个4足的前肢和后肢上.
1. 在左边列表框选择PelvisGroup
被指定到PelvisGroup 上的运动捕捉数据都被框选了. 注意LowerTorso 部件时运动捕捉数据的父部件 (因为它在最左边).
2. 点击左边列表框中的RibcageGroup .
3. 双击右边的LowerTorso .
LowerTorso 机器子部件将被框选,表明LowerTorso及其子部件被指定到RigcageGroup上. 注意LowerTorso 前有两个勾表示已经被指定了两次.
而且UpperTorso 前的勾去掉了, 表示指定被取消了.
你会注意到一些运动捕捉数据的部件如脊骨和颈骨在默认状态下是没有被指定的. 这是因为CAT 在骨盆和胸腔或胸腔与头部之间重新计算了它自己的脊骨. 如果没有自动检测到, 你要把顶部脊骨链映射到胸腔上(you should map the top spine link to the ribcage译者:这个不明).
CATRig骨架的继承目录树的肢体上会出现IKTargetTM. 很显然这只是用于 IK的. 手臂默认使用FK, 腿部使用IK. 在腿部,你需要把踝部映射到 IK 目标上. CAT 会以运动捕捉数据的设置姿势计算脚板的旋转并创建动作.
PalmRot 只在 FK中使用. 它们不应该出现在腿上, 因为用不着. 在手掌上它用于旋转手. 某些运动捕捉数据会把手做90度的旋转,所以你要创建一个相对动画层来手动修正.
层导入详解
导入方法下拉菜单 (左边) 决定使用何种方式将数据导入到层管理器中. 导入层下拉菜单 (右边) 控制动作捕捉层将在堆栈中什么位置创建.
导入方式
Insert At: 创建一个新的动画层并把剪辑读取到上面. 新层的插入位置由导入层下拉菜单决定.
Add T 修改一个存在的动画层 (导入层下拉菜单指定的). 在这个例子中特别有用:把了两个不同文件中舞龙人的数据读取到一条四足的龙的动画层上.
Bones Only: 这会根据原始捕捉数据创建一个幻象骨架. 数据不会重指定到骨架上.
提示: 这在导入道具时很有用.
提示: Bones Only 也可以让你在正式导入时查看数据是否有问题.
导入层
这个下拉菜单会显示层管理器中的所有层.
Layer name:选择动作捕捉数据要插入或加入的层.
(end): 在堆栈的顶部创建一个新动画层.
注意: 当使用 Bones Only 导入方式时这个菜单不能使用.
Layer Name: 输入新创建的层的名字.
Offset Name: 相对层的后缀名.
Offset: 打勾创建一个相对层.
Color Swatch: 编辑幻象的颜色.
Initial Weight: 新建层的初始权重.
Mocap 缩放单元
File Units: 设置 mocap 剪辑的单位.
Ratio to CATUnits: 设置动作捕捉数据相对骨架的比例.
并不是所有的动作捕捉文件提供了其测量单位的信息. HTR 文件有, BVH 就没有. 如果导入一个没有提供缩放单位的文件, 可以在这里设置. 更改 File Units 下拉菜单会改变 Ratio to CATUnits的值. 其实这只是一个缩放要素. 如果你想使用不同的比列, 选择 Custom
Mocap 的坐标系系统
这个界面转换 mocap的坐标系到 CATRig的.
有些文件没有提供坐标系统的信息. 不过, 他们一般会遵循某种标准. 大多数是 X=左, Y=上, Z=前. CAT的坐标系统是 X=右, Y=前, Z=上.
提示: 一般你不会用到,除非你发现导入数据发生了混乱.
系统如何重新定位运动捕捉数据
经过大量的思考我们决定通过手和脚的原始位置来计算mocap的重定向方法. 这是一个精确快速的解决方案.
CAT 使用KA Lifting 来计算骨盆的位置而身体的其他部分使用 FK 旋转.
肢体可以使用IK模式, 保留了原始的终点位置, 或者使用FK模式, 依靠骨骼的角度.
由于运动重定向方式的缘故,data is scaled 数据的缩放能够尽量地接近骨架大小是很重要地.
使用Relative 相对动画层来对动作进行调整.
注意: CAT 使用 KA Lifting 重定向腿部. 就是说你要把运动捕捉动画层的 KALifting slider 滑动块设置为 1.0 (它不会自动设置).
提示: 如果你的角色动作是一个坠落动作或离地的动作,需要把腿部设置为FK模式.
Ghosts幻象
每个 mocap 剪辑都被指定了一个幻象.
显示幻象:
点击Layer Manger 层管理器面板中的幻象按钮.
幻象显示了脚、骨盆、手、胸腔和头部的未重映射的状态 (原始数据) .
如果你能排列好两个mocap剪辑你可以用借助幻象来混合这两个剪辑. 也可以用来然你观察原始的动作捕捉数据是怎样的,以便进行查错.
显示在StandardHuman骨架中的Ghost幻象 (shaded)
每个幻象会被指定一个 GhostParent. GhostParent用于变化 mocap 剪辑. 用于移动、旋转、缩放剪辑.
提示: mocap 数据的缩放越符合骨架得到的结果就越好.
GhostParent
混合不同的运动捕捉剪辑的动作
混合不同的运动捕捉层的方法与在 Layer Manager层管理器中混合 between any other Absolute Layers 两个绝对动画层的方法是大致一样的.
最大的不同在于可以使用Ghost幻象. 幻象可以在排列两个剪辑时得到. 为每个剪辑创建幻象, 把 CATRig 骨架的visibility 可视度设置为0 (或者切换到设置模式) 来排除干扰.
首先要找到两个幻象动作中可以自然混合的地方. 然后, 使用剪辑继承目录中的Ranges 范围, 把这两个地方调节到同一时间上. 然后 把幻象的 platforms 脚板移动和旋转,知道脚和骨盆动作出现平滑的变换.
现在你可以变换下一个运动捕捉动画剪辑的 global weights channel全局权重通道. 如果是变换为这个剪辑动作, 就变化到100%. 如果是从这个动作变换到另一个, 就变化到 0%. 把骨架调会可视状态并确定处于 CATMotion 或者剪辑模式.(好累……这是最后一篇)
一款MAX的角色及其动作表情导入插件-pCharacter Import v1.0发布