【题外话】html
实验室人手不足,虽然本身连MotionBuilder一点都没有用过,可是老板叫本身干也只能硬着头皮上了。本文详细介绍了MotionBuilder 2013中的摄像机操做以及在MotionBuilder中导入C3D动做文件,并最终与指定人物模型绑定。app
【文章索引】工具
打开MotionBuilder之后,选择 File 菜单,而后选择 Motion File Import。MotionBuilder支持导入.fbx .bvh .htr .trc .asf .amc .c3d等多种格式的运动文件,不过须要注意的是,运动文件所在路径不能含有中文名,若是含有中文名程序直接崩溃退出,不过有意思的是,MotionBuilder的打开和保存功能并无这个问题。ui
选择文件后会出现以下的对话框,motion.c3d即为导入的文件。spa
因为C3D文件的头部记录了第一帧的序号,因此这里实际的第一帧的序号为126,虽然在MotionBuilder或其余软件中作动画并不会出现问题,可是若是编写程序调用该动做时可能会有些问题,建议双击开始时间修改成0,修改完开始时间结束时间会自动修改。固然,若是如今不修改的话,也能够导入后在 Navigator 里找到 Takes,而后再找到刚才添加的这个Take,而后修改 Local start 也可。3d
点击 Import 后,在MotionBuilder中即会出现导入的动做捕捉点。rest
在界面的左上角能够在 View 菜单中控制与显示有关的设置,好比:blog
在界面上方的五个按钮是用来调整摄像机的,都是将鼠标按在指定按钮上而后用鼠标拖动实现调整的。
除此以外,还能够在 Navigator 中选择 Cameras,而后选择 Producer Perspective,一样能够进行摄像机的相关设置。
要实现动做与模型的绑定,首先须要将动做绑定到 Actor 上,首先在界面右侧的 Character Controls 面板中选择 Create 里的 Actor。
而后界面中将会出现一我的物模型,以下图所示,因为动做捕捉点与 Actor 不对齐,首先须要将使用平移、旋转和缩放工具将其对齐。
其中若是要调整全部运动捕捉点的话,能够点击上图中人脚下的白色球体,选中后会变为绿色,而后分别按T键、R键和S键能够分别实现平移、旋转和缩放。其中按R键后会出现以下图所示的界面。
其中红色、绿色、蓝色和褐色的圆圈为按不一样方向进行调整,也可以使用灰色的圆圈为任意方向。选中要调整的圆圈,其会变成白色,而后使用鼠标拖动便可,例如以下所示。
一样的,按T后会出现以下所示的界面,一样也是红、绿、蓝三个,分别点击移动鼠标调整便可。
当动做捕捉点总体与 Actor 在同一位置后,能够再调整身体上的部位,使得身体上的部位与捕捉点对应便可。为了便于调整也能够点击 Display 菜单,选择 X-Ray 模式,显示出 Actor 的骨骼来,而后点击骨骼也能够进行调整,方法与调整总体同样,只不过调整起来更复杂些罢了。
所有调整完后相似以下的效果:
而后点击 Navigator 面板下的 Actors,选择 Actor,而后在右侧的 MarkerSet,而后点击 Create 便可,以下图所示。
而后在 Navigator 中将会出现 MarkerSet 一项,同时在 Actor Settings 的 Actor 中出现一系列表示关节的圆圈,表示这个部位绑定的捕捉点数量,以下图。
其中各部位的名称以下,因为左右对称,因此只标注了一边:
接下来只须要选择捕捉点而后拖动到指定的圆圈中便可。选择的方法有两种:
其中我这里使用的捕捉点与骨骼的对应关系以下,参考了VICON的说明。其实对应关系能够有不一样的方式(相关连接3、相关连接4、相关连接5),固然有时候由于数据也须要灵活调整,或者有些部位不绑定:
Actor 部位 | C3D 捕捉点 |
Head(头部) | LFHD(左太阳穴)、RFHD(右太阳穴)、LBH(左后脑)、RBHD(右后脑) |
Chest(胸部) | C7(颈椎根部,脊椎第七节)、T10(背部中点,胸椎第十节)、CLAV(胸骨上端)、STRN(胸骨剑突位)、RBAC(右后背心) |
Hips(臀部) | LFWT(髋骨左前方)、RFWT(髋骨右前方)、LBWT(左髂后上棘)、RBWT(右髂后上棘) |
Left shoulder(左肩) | LSHO(左肩肩骨末端突出处) |
Right shoulder(右肩) | RSHO(右肩肩骨末端突出处) |
Left elbow(左手肘) | LELB(左手肘关节外围突出处(鹰嘴突)) |
Right elbow(右手肘) | RELB(右手肘关节外围突出处(鹰嘴突)) |
Left wrist(左手腕) | LWRA(左手手腕靠拇指端)、LWRB(左手手腕靠小指端) |
Right wrist(右手腕) | RWRA(右手手腕靠拇指端)、RWRB(右手手腕靠小指端) |
Left hand(左手) | LFIN(左手中指关节下方) |
Right hand(右手) | RFIN(右手中指关节下方) |
Left knee(左膝) | LKNE(左脚膝盖关节外缘) |
Right knee(右膝) | RKNE(右脚膝盖关节外缘) |
Left ankle(左脚踝) | LANK(左踝关节外缘突出处) |
Right ankle(右脚踝) | RANK(右踝关节外缘突出处) |
Left foot(左脚掌) | 忽略 |
Right foot(右脚掌) | 忽略 |
Left toe(左脚趾) | 忽略 |
Right toe(右脚趾) | 忽略 |
在绑定全部捕捉点后能够点击 Actor Settings 中的 Snap 按钮,此时 Snap 按钮左侧的选项将会勾上,便可完成绑定,如今点击播放按钮,Actor 就会随着捕捉点进行运动了,而后保存为fbx文件便可。
若是播放后发现绑定的效果很差,能够取消勾选 Snap 按钮左侧的选项,而后编辑后从新绑定,此时会出现以下的对话框,选择TR(Translate / Rotate)便可。
若要绑定到模型,首先须要把模型角色化,若是模型已经角色化过,能够跳过这节。首先打开一个模型,出现以下图所示:
在 Character Controls 面板中点击 Defination,若是出现的以下图所示则表示没有角色化,若是模型已经角色化,则下图中左数第二个锁定图标应为锁定状态而且显示为灰色的骨骼应该显示为绿色。
绑定骨骼时只须要双击指定骨骼,而后除了该骨骼外的其余骨骼将会变暗,表示如今正在绑定该骨骼,而后在视图中点击对应的骨骼便可。比较智能的是,默认时左边数第三个图标 Mirror Matching 是选中的,因此若是绑定了一边的骨骼,另外一边会自动绑定,固然也能够手动将其去除。除此以外,点击手边和胸部的下三角还能够绑定更多骨骼,胳膊与腿旁边也有一些骨骼能够绑定,但这些骨骼不绑定也不会影响角色化。
在身体上的全部骨骼均绑定成功后,右上角验证状态(Validation status)的圆圈会变为绿色。
而后选择左数第二个 Lock Character,而后会出现以下图的对话框,选择Biped(两足动物)便可完成绑定。
在模型角色化之后就能够与以前绑定好动做的Actor进行绑定了,在MotionBuilder打开角色化后的模型后,选择 File -> Merge,而后打开刚才保存的动做fbx文件,与打开的对话框稍有不一样,直接点击 Merge 便可。
此时在视图中发现以前绑定好的 Actor 与当前模型在一块儿显示了,以下图:
而后选择 Character Controls 面板中的 Source,而后选择 Actor 便可(若是没有角色化,则选择 Actor 时会提示错误),以下图:
而后模型就会与以前绑定好动做的 Actor 一块儿动了,此时能够点击播放查看效果。
最后,点击 Character Controls 面板左侧的菜单,选择 Bake (Plot) -> Bake (plot) To Skeleton 而后保存文件便可。
【相关连接】