通过运动合成,Character Studio 可以从群组行为和运动流网络(制作 Biped 动画时,请参见两足动物群组)或剪辑控制器(处理非 Biped 生物时)的组合来衍生角色运动。在后一种情况下,使用“全局运动剪辑”和“驱动者运动剪辑”控制器,可以为以下生物群体制作动画,例如鸟类、蝴蝶、鱼群和昆虫。可以在“轨迹视图”中创建用作块控制器的剪辑控制器或直接在“全局剪辑控制器”卷展栏上使用“群组辅助控件”。
可用循环动画而不是变换运动(例如,鸟拍翅膀)来使创建生物动画,或也可合并变换运动来生成生物动画(例如,鸟在拍翅膀时并向上移动)。原位置循环运动使创建的生物像鸟一样飞、像鱼一样在水中游,添加横向运动使创建的生物变成爬行生物类型动画,它的脚应该踩踏在地面上,并且不发生滑动。这取决于如何切换在“合成”对话框的“运动剪辑”标签中的选项。在这两种情况下,使用行为驱动的群组代理使链接在一起的生物运动起来。
首先创建一个具有短循环的生物,例如,扇动翅膀、滑行、向左转和向右转。将该生物指定为全局对象或主块对象,运动剪辑将从此对象衍生出来。然后克隆此原始生物。这些克隆体放置并链接到代理中。创建状态并基于此状态选择要播放的剪辑。
例如,如果一只鸟(代理)向上斜飞或正在加速飞行时,使用快速扇动翅膀剪辑,如果一只鸟(代理)从慢飞到停止时,则使用翅膀休息剪辑,等等。在合成过程中,character studio 根据代理的速度和方向来确定哪个状态应当处于活动状态。此活动状态决定哪一剪辑该应用到原始对象的克隆中。混合剪辑来创建动画。可用的状态是:速度、加速度、倾斜、上下倾斜速度、前后朝向速度或脚本 (MAXScript)。
对于要行走的多足生物,可以制作横向运动及腿部移动循环运动的动画。这样做可以保证生物在移动时它的脚不发生滑动。然后,character studio 使用这些横向运动信息来创建与实际运动完全相符的状态。然后,character studio 将这些实际运动剥离。当代理达到状态记录中的速度和方向时,将触发适当的运动剪辑。此技术使脚步滑动最小化。
使用“群组”工具为代理创建初始运动。例如,使用查找或回避行为来使鸟运动。然后将复制带有循环动画的对象,并把此副本链接到代理,以创建完整的动画。代理控制路径,剪辑控制器控制循环动画。
您可以通过将控制器指定给“块控制”下的可用控制器,在“轨迹视图”中创建“驱动者运动剪辑”和“全局运动剪辑”。然而,使用“全局运动剪辑”卷展栏上的群组辅助控件来应用和使用剪辑控制器更为简单。
“全局运动剪辑”保存要在多个“驱动者运动剪辑”之间共享的剪辑,这些剪辑在合成时指定给克隆对象。“全局运动剪辑”也包含在具有轨迹的对象集和与剪辑相关的状态上执行运动合成时的逻辑关系。运动合成的控件可在“合成”对话框中找到。
运动剪辑关键点的缩放和排序方式依赖于用户定制的状态。每个状态包含一个或多个剪辑,当状态是活动的时候,这些剪辑被播放。
“驱动者运动剪辑”是包含运动剪辑或单独动画剪辑的控制器。运动剪辑按一定的顺序排列起来创建动画,它们之间具有轻微的重叠,并且自动的进行混合以此来平滑两个剪辑之间的变换。
要对非 Biped 使用“运动合成”,请执行以下步骤:
复制和合成剪辑涉及的所有工作都使用“合成”对话框中的控件。此对话框具有三个标签:“运动剪辑”、“状态”和“合成”。
此步骤假定全局对象是静态的并具有循环动画。对于多足生物,可以在全局对象中创建横向运动动画,然后使用“合成”对话框去除这些横向运动。下面的方法用来使多足生物脚步滑动最小化。
在某一位置创建动画,例如一只鸟扇动翅膀。创建多种动画,例如:滑行(翅膀静止),慢慢扇动翅膀等等。为使这些对象变成动画,应用修改器并设置动画参数。
这将是全局对象,动画剪辑将从中衍生出来。
“对象类型”卷展栏,添加一个群组对象和一个代理对象。
在顶部视口或透视视口中创建对象。
确保代理的数目同动画对象克隆体的数目一致。
下一步,把对象和代理相关和链接起来。
出现“对象/代理相关”对话框。
这些对象和代理对齐并被链接到代理中。
下一步,创建具有行为动作的代理动画。有关使用行为的信息,请参见指定行为。
模拟时,克隆对象跟随代理,并由行为来引导。然后,可以基于代理移动来产生运动合成。
“全局剪辑控制器”卷展栏上,单击“新建”,并使用“选择”对话框在步骤 1 中选择全局对象。
这些对象显示在“全局剪辑控制器”卷展栏列表中。
出现“合成”对话框。它的名称就是对象的名称。
仅当原始对象的横向运动与足迹相协调时使用这些选项。
打开“运动剪辑参数”对话框,在此可以设置运动剪辑的名称、颜色和帧范围。
例如,帧 0 到帧 10 可能是滑行动画。
下一步,定义状态,状态的参数确定了运动合成在什么时候使用各个剪辑。
一个新状态便被添加到“合成状态”组顶部的下拉列表中。给此状态取一个描述性的名称。在许多情况下,状态可以使用和与之相关的运动剪辑相同的名称。
下一步,设定状态参数,参数表明了当相关对象用到运动剪辑时,代理应该如何运动。例如,仅在加速度小于 0 时,滑行运动才处于活动状态。
当使用范围时,确保最小设置值低于最大设置值。例如,使用 -180 到 -10 的负数范围时,输入绝对值大的数 (-180) 作为最小设置值。
应该已经拥有了几个运动剪辑。现在,需要把剪辑和状态相关连起来。例如,如果定义了一个加速度小于 0 的状态,可把它与“滑行”剪辑相关连起来。
进度条显示合成进度。当此合成完成后,“合成”对话框再次出现。现在可以单击“状态”面板
“编辑属性”来查看剪辑状态参数的范围和平均值。这在微调状态属性中是很有用的。
单击“确定”来退出“合成”对话框。
对象跟随代理并使用剪辑形成动画,剪辑是根据代理运动和创建的状态来激活的。