maya的一些动画制作技巧

修改
鏉ユ簮: hanyuxin 浏览 3902 日期 2011-03-02 0

maya的一些动画制作技巧结合功能特点来说,FBIK的应用领域主要在游戏领域,结合MB来处理大量的MoCap数据,这将给动画环节带来很大的便利。当然影视领域的应用也是非常有效的,笔者就是这种便利的受惠者,在面对写实风格的商业项目时,动画往往会考虑采用MoCap数据,这时用FBIK来结合MB制作动画,相当的高效。

a) 创建骨骼

骨骼的创建根据模型文件来定位,FBIK有其自身的一套骨骼系统,但是其实区别只是在命名上,对于骨骼的层级结构和分布方法基本和我们常用的习惯一致,快速调整骨骼系统如图2、3:

角色模型

b) 调整命名

为了能够正确装配FBIK系统,骨骼需要按照系统要求进行命名,并未骨骼添加符合FBIK要求的标签(Labels),然后就可以通过Add Full Body IK来完成装配工作,这部分具体操作详见Maya的help。

显示标签工具

骨骼的标签(Labels)

3, FBIK制作动画方法

a) 选择控制手柄(Reach Mode,Key Mode,Pin/Unpin)

1, Reach模式:

FBIK系统的控制全部都是通过控制手柄来实现的,熟悉绑定和动画的应该知道绝大部分绑定系统里都包含IK/FK系统切换的功能,不过在FBIK系统中并没有明显的切换开关,可以这样说,FBIK控制时即是FK模式又是IK模式,随心所欲的控制这套骨骼来摆pose。

虽然控制起来随心所欲,但是其实动画数据的记录却不是那么随意的,每次摆好pose后K帧的时候都是有区别的,通过设置可以选择所K的关键帧是属于IK模式或是FK模式,IK模式和FK模式的关键帧在影响动作是会产生的区别大家应该都知道。同样的两个关键帧控制手臂从上往下运动,FK模式产生的是弧线运动,IK模式产生的是直线。

例如选择这个手腕控制器,在通道栏属性中可以看到两个属性:Reach Translation、Reach Rotation,这两个属性就是分别代表了位移和选择属性的模式,1为IK模式,0为FK模式。

这里之所以介绍这个参数,因为IK和FK模式的选择会直接影响关键帧产生的动作效果,同时也会决定了编辑动画曲线时不同的选择,FBIK具有两套动画曲线,在某一个时刻那套曲线产生作用就是有该时刻关键帧的模式所决定的。

2,Key  Mode

前面讲了K帧的模式,另一个重要的概念就是K帧的范围,FBIK系统也提供了三种选择:Selected、Body Part、All。三种模式代表了记录关键帧的范围:当前选择手柄、局部、全部。提供三种范围模式的好处显然是为了减少多余数据量,选择性的记录当然需要的关键帧范围。

不过这也要求制作者具备清晰的思路,明确的知道需要记录何种范围的关键帧,例如说blocking阶段一般会采用All范围,全体记录关键pose;中期制作可以针对Body Part局部记录,比如手臂或腿部单独记录;后期细节添加的话可以选择Selected模式,准确的添加个别关键帧,因为FBIK系统的复杂性,过多使用All模式会使动画数据量庞大且难以编辑动画曲线。3,Pin/Unpin

锁定与解锁,十分有用的工具。使用这个工具可以随意的分别锁定任意一个控制器的唯一和旋转属性。所谓锁定也是意味着不论其他控制器如何运动,被锁定的控制器将不会受其影响,由于FBIK系统本身是具有联动效果,该工具就是提供用来暂时锁定联动效果的。

[next]

其实前面的实例图片里面已经可以很清楚的看到角色的两只脚始终没有动过,身体其他部分则会根据我拖动左手的控制器而产生联动,细心观察会发现脚部控制器的形态和其他控制器有所区别,下面就来介绍Pin和Unpin的控制器形态特征。

Unpin,未锁定状态

Pin Translate,锁定位移状态

什么情况下用到锁定呢?例如走跑时足部和地面有相对固定关系,这时需要用锁定来确保足部站立在地面上不动,如图18;例如手握住某个固定物体,锁定手部后身体可以做其他动作。

可以通过鼠标右键快速切换锁定模式,锁定模式本身属性变化不会被当作关键帧记录下来,但是锁定效果可以通过记录控制器的动画而被记录下来。

b) 快捷键介绍(Hotkey)

FBIK的默认快捷键不多,但都非常实用,熟练掌握的话会给制作过程带来很大的便利。

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发布
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}