角色重定向流程
# 角色重定向流程
📌
MotionBuilder 中的角色工具 称为 HumanIK ,是将你角色骨架 Map之后快速Rig绑定的工具,而 动画重定向,是利用 HumanIK 这个标准工具让不同骨架,不同体型角色之间互相传递动画。 Maya中也有HumanIK 等其他 Motionbuilder中常用的功能。
如上视频,白盒子角色是 原始动捕数据,使用动画重定向技术将动画复制给另外一个女角色,两者骨架命名和结构,身高等完全不同。
动画来源角色被称为 source源 ,动画去向的角色被称为 目标角色。
# 前置知识
在进入 Motionbuilder 之前的准备工作。

| Character角色 | 通常是指你导入的角色模型(带骨骼蒙皮的) |
|---|---|
| Source 源 | 这里是指 HIK 绑定 |
为你导入的角色创建 HIK 就是角色化,一但完成角色化,同场景内的不同角色可切换不同 源,实现动画通用。
# 1.1 源角色TPose
合作的动捕甲方,交付的数据中并无模型,只是动画数据,而且没有标准 Tpose ,需要自己设置好骨架的Tpose 。

左图是 甲方交付的数据,右图是将 骨架导入 3ds Max 中 给每个骨骼创建Box 模型(最后还是合并成一个模型进行蒙皮),之所以选择Box模型,是因为将Box对齐到骨骼上,可以直观的看到骨骼是否有旋转偏移,如果有,就需要修整,最终将整个骨架设置为Tpose 姿势。
📌
部分动捕合作甲方提供的角色重定向服务 是按动画时长单独收费(每秒多少钱)。 注意不是修动捕,是动捕数据重定向到你角色要单独收费,所以建议自行重定向。
# 1.2 Tpose 匹配
本文中的源角色 因为没有模型只有骨骼,所以只能在 3ds Max 中,调整 目标角色的姿势,让其和 源角色 进行Tpose匹配。
如果你的角色都是正常有模型,也可以直接在 MotionBuilder 设置 TPose 。
# 标准Tpose:
大腿需要垂直于地面,手臂平行于地面。手掌掌心向下,手指合并自然伸直。头部目光看向正前方,如下图。

📌
肩膀,脖子,脊椎 等骨骼可根据 重定向之后的动画效果进行相应的调整,不是绝对的。
如有下图中类似的 黄色 警告说明 骨骼 姿势不标准,无法通过 TPose 标准验收。

即便有黄色警告,也可以继续创建绑定,具体要不完全的标准Tpose 要看最终效果来决定。
# 1.3 导出角色骨骼末端
📌
末端:最后一节蒙皮骨骼的后一节,如果你的末端有蒙皮权重,那就不是末端,得再加一节。
如下图,3dsMax 中的Biped ,Bone 骨骼手指、脚趾 末端.

通常情况下,多数人导出 角色 模型 FBX 进引擎时,是不必包含 骨骼 末端,但是如不导出末端,进MotionBuilder 角色化时,手指和脚掌的IK控制效果就会大打折扣。
# 在MotionBuilder中角色化
先将我们的目标和源角色都导入 MotionBuild 中,进行角色化操作。

📌
每个角色骨架都建议创建根骨骼,而不是直接质心骨骼作为顶层骨骼, 否则 角色化 之后 顶层骨骼可能会被 motionbuilder改名。
# 2.1 骨骼映射 Map
这步是将我们的角色骨架 和 humanIK骨骼标准进行 Map 映射。

📌
Twist 骨骼不用拾取,humanIK 并无自动 Twist 骨骼。需要自行处理 Twist 骨骼动画。
# 脚趾头位置
注意下图,脚趾拾取的位置不一样,创建的 HIK 效果也不一样。


ToeBase 可以不拾取,直接拾取到 FootExtraFinger1 第一节脚趾也可以
拾取完成之后,点击 左上角的 【锁头】 图标,表示完成。

最好是 给每个角色都单独命名,如下图。

在 Character 选项中切换为 None 就可以另外创建一份map设置.

这里完成 两个角色骨骼的 Map 映射,并分别命名。

📌
Map 可以保存模版,也可以加载模版,不用每次都要一根根骨骼拾取设置。
模型角色之后就可以接受源角色的动画了,但是如果需要修改动画,就需要创建 Control Rig
# 2.2 创建Control Rig
📌
Control Rig 是就是角色化之后的 角色控制器,方便动画师 操控角色的 IK,FK 控制器。
在上一步中,我们为角色骨骼创建好 Map映射之后就可以创建 HumanIK绑定,如下图。



# 2.3 设置脚掌 手掌的 接触平面
创建 Control Rig 之后,手掌和脚掌处就会有如下图样式的 辅助虚拟体。
📌
这些辅助对象用以标记 手掌脚掌的接触面,当开启 Floor Contacts 地板接触功能时,可以阻止脚掌或者手掌穿过地面。


Modifiers - floor contacts
# 切换角色动画源
当场景中有多个角色都完成角色之后,直接给 你的角色切换不同源,就可以查看到同一份动画在不同角色身上的效果。

当前角色的动画来源:
- None ,无来源,表示直接使用自身骨骼的动画。
- Stance ,表示为 角色化时的 Tpose。
- Control Rig , 表示来自控制器, 自己的控制器
- Character , 表示来自其他角色,选择某个角色,至于是自来其他角色的骨骼动画还是控制器动画,取决于该角色当前的源设置,可以自行实验。
# 角色设置
# 真实肩膀 Realistic Shoulder Solving


# 匹配源 matchSource
最经常设置的 便是下图的 Match Source 匹配源 ,勾选之后,即便是身高不同的角色,移动距离也保持一致。
📌
不同身高的角色做相同的动作时,移动的距离是不一样的,所以此选项基本上都是不勾选状态。角色跨步距离和身高的关系,步幅 ≈ 身高 × 0.45 :::

# 设置偏移offsets

| hips offset | 盆骨质心的偏移 |
|---|---|
| hips level | 盆骨质心的高度 |
| feet spacing | 两腿之间的距离 |
# 匹配程度reach
控制身体各部位和源角色的匹配程度

# 导入动画
先选择需要导入 动画的 骨架,然后使用菜单中的 MotionFileImport ,导入模式选择 【Merge】


如果 勾选 NewTake ,导入的动画将会新创建一条Take,取消勾选,并选择一个Take,可将动画导入到 选定Take中。
# 动画烘焙到角色
切换角色源来的动画,是实时重定向,并不会改变角色自身动画数据。而通过 【烘焙 ,bake ,plot】功能可将其他角色的动画复制给 自身的骨骼或控制器上。

# 7. 导出动画
待写
