Biped参数详解01: Biped的建立
我们先学习Biped模块,Biped模块中有许多功能,我们将对其绝大多数功能做详细的介绍,但是象部分Motion Capture(运动捕捉)之类的一些普通人很难接触的部分本书将略去,特此说明。此外由于Character Studio由于牵涉动画中最难的角色动画,比较专业,因此学习起来有一定的难度,希望大家结合参数和实例部分综合地进行研究。
Biped
Biped是CS用来控制两足角色动画的部分,是一种用足迹结合关键帧来控制角色动画的系统,在CS中有三段部分是用来控制Biped的:Create面板、Motion面板和Track View。操作的一般顺序是先创建Biped,再在Motion面板中调整,再在Track View里调整整个动画。
新建Biped:在Create面板> Systems>Biped
以下是Create Biped的参数面板
About Biped:版本信息
Creation Method >U\I Parameters:按照面板下的参数新建。
Most Recent .fig File:按照上次调取的文件新建。
Root Name:设置Biped的名字(整个由一个个box组成的人形物体就叫做Biped)
Arms:手臂,是否生成手臂
Neck Links:脖子的连接(分段范围1—5)
Spine Links:脊椎连接(分段范围1—5)
Leg Links:大腿连接(分段范围3或4)
Tail Links:尾巴连接(分段范围0—5,0即没有尾巴)
Ponytail1 Links:马尾辫1连接(分段范围0—5,0即没有辫子)
Ponytail2 Links:马尾辫2连接(分段范围0—5,0即没有辫子)
Fingers:手指,指手指数量(分段范围0—5)
Finger Links: 手指连接,即每个手指分几段。(分段范围1—3)
Toes:脚趾,指脚趾数量(分段范围1—5),如果是穿鞋子的角色,设置1就可以了。
Toe Links:脚趾连接,即每个脚趾分几段。(分段范围1—3,如果角色穿着鞋子可以只分一段)。
Ankle Attach:脚踝连接,即决定小腿的生长点是接近于脚跟还是脚尖,分段范围0—1,0时即沿脚跟生长,1时沿脚尖生长如图,左图Ankle Attach=0.25,右图Ankle Attach=0.5
Height:整个Biped的高度。
Triangle Pelvis(在以前的版中叫Attach Legs to Spine):将腿连接到脊椎,注意只有当角色被赋予Physique后才有意义,它的作用是使角色在运动时腰腿这一区域会产生自然的表面变形。
Biped参数篇02:Biped的全局设置
选择Biped,进入Motion面板,我们可以看到这里有Biped的主要设置,我们先来看一下它的General展卷栏。
Foot States Display:最上面的两个按钮是脚步状态,分别显示当前帧时左脚和右脚足迹的状态,共有四种方式:
Plant:脚完全踏在地面上;
Lift:脚正好离地(airborne);
Move:脚完全腾空;
Touch:脚正好踏到地面。
Figure Mode:打开此按钮,可以编辑Biped。
重要说明:Character Studio的工作顺序一般是——先建立角色模型并且全部attach到一起,然后建立一个Biped,打开Figure Mode按钮,这时我们可以分别调整Biped的每个组成部分的大小和,使之与角色模型匹配,随后我们为mesh模型施加一个Physique修改器,此时拾取角色的骨盆,就可以使角色模型附着到Biped上,最后调出已经编辑好的足迹运动使Biped动起来,当然在此之前你必须先以自由编辑方式编辑一个足迹文件,之后角色的模型也会随Biped一起运动。
当为模型施加了Physique修改器后,打开Figure Mode按钮可以修改一些运动中的细节问题。(详见本书实例部分。)
关于将Biped赋予角色模型的一些技巧:
1)用Structure展卷栏上的参数设置手指和脚趾数以以它们的段数,当然你可以在创建biped时就设置好。;
2)Put the lowest Biped spine object at the characters belt-line.
3)使用Non Uniform scale工具仔细调整Biped的各个部分使之与模型的每一个部分相对应,这是一项非常考验耐心的工作,记住一个原则:每个Biped的每个部分宁可比模型相对部分大和长,也不能比它们小和短。此外特别要注意关节部分一定要对准。
4)在Physique赋予角色后,可以将角色的“身外之物”用link工具连接在Biped上,比如手里拿个东西。但一定要是Physique赋予角色后。
5)一般在赋予Biped的角色上不要使用MAX的骨骼系统(Bones),否则会出现错误,但是可以将骨骼系统的根关节连接(link)到Biped的box的某个块上。
6)将Biped调整完后最好马上将它储存为*.fig文件。
Footstep Mode:编辑足迹模式,打开后可编辑足迹,编辑完的足迹可储存为*.bip文件。关于足迹的编辑见Footstep Creation展卷栏和Footstep Operations展卷栏。
Motion Flow Mode:运动流程模式,可以剪辑、编辑*.bip文件,进行运动组合。详见Motion Flow展卷栏和Motion Flow Script展卷栏。
Biped Playback:在激活的视图播放Biped的运动效果。
Load File:调出已有的文件,有*.bip、*.fig和*.stp三种文件类型可以在这里使用。
1)*.bip文件:足迹文件,包涵角色运动运动信息的文件。
2)*fig文件,即设置好的Biped的形状。
3)*.stp文件,没有关键帧设置的足迹文件,用来编写程序用的,属于高级应用。
Save Biped File:把Biped储存*.bip、*.fig或*.stp文件。
Save Segment:把一段时间内的Biped信息存成*.bip、*.fig或*.stp文件。
Convert:在足迹驱动和动画和自由编辑方式的动画之间互相转化,会弹出不同的对话框。详细概念见实例部分。
Buffer Mode:在缓冲模式下编辑动画片段。我们可以用Footstep Operation展卷栏上的Copy Footsteps将足迹动画拷贝入内存缓冲,然后可以打开缓冲模式进行观看和编辑。
Bend Links Mode:在旋转角色的脊椎、手指部分时,往往打开此按钮,用旋转工具进行旋转,可以产生自然的弯曲效果。如图所示,左边的为没有打开Bend Links Mode下的情况,右边的是打开后的效果。
Rubber Band Mode:通常情况下用移动工具动画Biped的手或脚,手或脚的长度都是固定的,比如手伸直了再往下拉的话就会牵动身体,而打开Rubber Band Mode后,做这样的操作手就会被拉长,而身体不会受到影响。注意Rubber Band模式只对手脚的操作有效。此外我们也可使用它来移动物体中心来使Biped向前向后靠或倾斜,如图所示。
Scale Stride Mode:在此模式中,脚步的长度和宽度可放缩以符合实际情况。缺省时为打开,下拉的还有一个按钮以关闭此模式。
In Place Mode:在播放动画时,biped质心的位置保持不变进行运动。我们可以自己试着为角色做一段简单的行走的动画,打开此模式后一看便知。此外还有两个下拉按钮In Place X Mode和In Place Y Mode,也都是将质心锁在视图的一个方向上播放动画。
Biped参数篇03:Biped的动力学类参数
Track Selection(轨迹选择展卷栏)
Biped的骨盆中有一个叫质心Center of Mass东西,简称COM,在视图中以一个菱形显示,它是Biped链的根关节(最高父物体层级),它有三条动画轨迹,用来控制移动和旋转Biped,其中水平和垂直方向的轨迹还包含了一定的动力学参数。
质心在平时任何操作对它都是无效的,这三个按钮的作用就是使Biped质心可被编辑,至于编辑轨迹,还要在别的地方进行。使用方法是先选择质心,再按这三个按钮,就可以使用工具栏上的移动、旋转工具对其操作了,也可以选定其轨迹进行编辑。
Body Horizontal:使质心可以在水平方向运动。这时候也可以在Key Info展卷栏中编辑Balance Factor参数。
Body Vertical:使质心可以在垂直方向运动。这时候也可以在Key Info展卷栏中编辑Dynamics Blend(动力学混合)和Ballistic Tension(弹道张力)
Body Rotation:使质心可以被旋转。
Symmetrical Tracks(对称轨迹):用来快速选择Biped身体对称的部分,例如选择了左手后按一下这个按钮右手就会被同时选中,这样编辑时两只手就会一起被编辑。
Opposite Tracks(反向轨迹):也是用来快速选择Biped身体对称部分的。与前者不同的是,如果你选择了左手后按这个按钮后右手会被选中,但是左手自己不被选中了。
Key Info(帧信息展卷栏)
Next Key-Previous Key:移动到上一帧或下一帧。
Set Key:设置关键帧按钮,在某帧上调整完后按以下就可以记录成为关键帧。
Delete Key:删除当前的关键帧。.
Set Parents:为当前物体和其父物体设置一个关键帧。如为一个手掌设置这样一个关键帧,那它的上一层级,也就是下臂也被设置了一个关键帧。
Trajectories:显示/隐藏当前选择物体的轨迹。当改变TCB参数或IK混合时需要打开观察。
Time:通过它可以将当前关键点设置到指定帧。
XYZ Position:将当前的Biped块重新做位置上的定位。
Ease To:使关键点插值曲线在接近关键点时速度减慢,值越大越接近关键点处动画的动作就会放慢,缺省时为0,即没有变化。
Ease From:使关键点插值曲线在离开关键点时的速度由慢加快。缺省时为0。
TCB Graph:这是一张和Max自己的TCB图表一样的图,曲线最上面的红色的叉代表当前关键帧,其余的代表关键帧两侧的TCB在时间上的分布。
Tension:张力,控制插值曲线的曲率,值越大越接近线性,在关键帧两侧的动作会有一定的减慢。缺省值25可以产生光滑的曲线。
Continuity:连续性,控制关键帧处切线的性质,缺省值为25,可以产生光滑的曲线,使用其它的值都会影响动作的连续性,低的值产生锐角拐点,高的值产生下凹的拐点。
Bias:偏移,控制曲线偏离的方向,缺省值为25,使关键点两侧的曲线平均分布。
下面的三个参数是Biped的动力学参数:
Balance Factor:平衡因素。通过在从重心到头部的连线上均匀散布角色的重量,来控制角色的重量分布,值为0时重心在Biped的脚上,1时在Biped的质心上,2为最大值,即重心在头上。根据制作经验我们列出了一些常用的数据:
1) 角色从坐到站起走路的过程,坐着时balance factor需要设置为1,站起来时为0。
2) 角色始终保持坐姿,身体向前方倾斜,balance factor需要始终保持为0。
3) 在行走动画时,值为2时可保持头部僵直不动,而臀部摇摆,值为0时反之。
Dynamics Blend:动力学混合。Biped的质心存储了动画中质心在垂直(vertical)和水平(horizontal)方向上的关键帧信息。动力学混合控制其中在垂直方向上的效果,Dynamics Blend的取值为0—1,值为0时Biped身体的运动将基于样条插值,忽略腿的信息;值为1时身体根据腿运动的情况插值,忽略其它的信息。因此一般当角色双脚着地时取值1,双脚腾空时取值用0。此外Dynamics Blend还可以结合Animaion property展卷栏中的GravAccel,控制biped的重力模拟,值为0时没有重力效果,值为1时按照GravAccel来模拟计算重力效果,如图所示,在一定的GravAccel设置下,角色左边一跳的Dynamics Blend为1,右边一跳的Dynamics Blend为0.5,明显受重力影响的效果不同。
Ballistic Tension:弹道张力。简而言之这个参数的功能就是控制当角色因为跑动或是跳跃后从空中着地时的“弹性”,它的取值范围为0—1,值为0时角色会平缓地落地,值为1时动作将加快。同时它也包括双腿的弯曲程度控制,值越大,腿越僵硬;值越小,腿部弯曲更自然。
Biped04参数篇04:IK Key参数
IK Key Info展卷栏是Biped系统中最重要的一条展卷栏也是最难以理解的部分,在讲述参数前我们必须先理解以下这些非常重要的概念。
首先是IK,它是反向动力学(Inverse Kinematics)的简称,它的反意词是正向动力学FK(Forward Kinematics),一个FK链的最好例子就是机械臂,要让作为链的最后一级的机械手抓到物体,就要从最高层级的那一段一点一点转下来,也就是说只能是父级物体影响子级物体(在《火星人》系列书中有这么个经典的例子,大家可以去查阅);而IK则恰恰相反,它的子级物体将影响父物体,子物体一动,整个链会做出相应的变动。这样的一个子物体由于可以牵动整条链,因此可以称做是一个IK目标。
在Character Studio中,混合功能(Blend)提供了在FK与IK之间转化的计算方法,如果我们把IK目标看成是一块磁铁的话,blend就是让你控制它的吸引力的,如果值为0的话IK目标就没有作用,也就是说是这条链是FK链,如果把值继续上调,那它的吸引力也就越来越大,也就变成了IK链。
我们知道CS的动画有纯足迹动画和自由编辑动画两种,在纯足迹动画中,Biped的脚会由系统控制自动踩在足迹上,如果我们对其它部分进行动画则腿脚这些部分会产生相应的、自然的变化。而在自由编辑动画中,脚虽然无法锁定在足迹上,但我们也还是必须设法将它们锁定在世界坐标系的某个位置,而用于锁定的工具便是planted key。
操作的步骤是先选择Biped的一条腿,在IK Key Info展卷栏按Set Planted Key,这样便将IK blend设置为1,并打开下面的Join to Previous IK Key,打此外还要开下面的object或用下面的箭头选择需要锁定的物体。这时我们如果上下移动Biped的质心,我们可以发现角色的腿在那个位置被锁定了,可以随Biped的动画产生相应的、自然的动作。
此外还有两种关键帧:sliding key和free key。在行走动画中,如果脚是在地上的话我们可以设置成planted key或sliding key(这两种效果的区别在于前者是坚实地“踩”到地上的,而后者是“滑”过地面的),如果脚正好是在空中则需要设置成free key。这些操作都是CS3新增的内容,原来我们用Keyframing展卷栏上的anchor来锁定手和脚,不过这个功能仍保留着,我们也能用它们做同样的操作。
下面我们再进入参数部分:
Next Key-Previous Key:跳到下一帧或上一帧。
Set Key:设置一个关键帧。
Set Planted Key:设置一个IK Blend为1的关键帧,Join to Previous Key为打开,打开下面的object或用下面的箭头选择需要锁定的物体。
Set Sliding Key:设置一个IK Blend为1的关键帧,Join to Previous Key为关闭,打开下面的object或用下面的箭头选择需要锁定的物体。它的效果表现为脚“滑”过地面而不是“踩”在地上。
Set Free Key:设置一个IK Blend为0的关键帧,Join to Previous Key为关闭,并且打开下面的object。
Time:通过它可以将当前关键点设置到指定帧。
Ankle Tension:决定Biped行走时是脚踝先动还是膝关节先动。值为0时膝关节先动,值为1时脚踝先动。当然效果你只要在动画中才能看出。
Select pivots:选择坐标轴,只要按下这个按钮后,你才能选择Biped的坐标轴,不过如果要做移动、旋转等操作,必须先关掉这个按钮。
Jion to Previous Key:打开的时候,Biped的脚存在于上一帧的坐标空间内。关掉的话Biped的脚存在于一个新的空间,这个功能是和Set Planted Key或Sliding Key等相关的,前面已经介绍过了,需结合在一起使用。
IK Blend:调节IK链中IK目标的吸引力的强度,值为0时链为FK链,最大值为1,即IK目标拥有最强的吸引力。(这一概念非常重要,为有助于理解,请参考实例部分。)
Body:缺省时是打开的,可以确保四肢(双手和双脚)的运动是基于身体的坐标进行的。
Object:缺省时是关闭的,打开时可以使Biped的四肢是基于世界坐标系或指定物体坐标系进行的,方法就是用下面的箭头。
Biped参数篇05:层的概念
CS中有一个层的概念,每一个层内都可以储存一定的动画,然后可以综合成整个动画。比如有两个层,一个层中是角色向前奔跑的动画,另一个层中是角色弯腰的动画,如果我们将两者结合在一起的话,就可以形成角色边奔跑边弯腰的动作。对于动作复杂的动画这样分开来做更能看得清楚些。
Next-Previous Layer:选择上一层或下一层。
Level:显示当前是第几层。
Active:开关是否显示当前层。
Name Field:下面的白条内可键入层的名字。
Create Layer:新建一个层。
Delete Layer:删除一个层。
Collapse Layers:塌陷(合并)所有层为一层。
Snap Set Key:把选择的Biped的部分还原为原来的位置并设置一个关键帧。例如,角色在第一帧时为直立,在第20帧弯腰,我们又希望他能在第50帧还原到第一帧时的位置,那我们就在第50帧时选择Biped相应的部分,使用这个功能。
Active Only Me::仅播放当前层内的动画。
Active All:播放所有层内的动画的综合效果。
Visible Before:将前面一层的动作用线框外形显示出来。
Visible After:将后面一层的动作用线框外形显示出来。
Key Hightlight::显示的时候着重显示。
下面我们来看Animation Properites展卷栏,这里也有一些比较重要的功能。
Gravity Accel:重力加速度,即设置万有引力。缺省的设置为牛顿引力。如果要模拟角色能飞的话就把它设置得小一些。
Biped Dynamics:使用Biped的动力学设置,即使用Balance Factor、Dynamics Blend这些参数,是Biped系统的缺省设置。
Spline Dynamics:利用曲线插值法进行动力学计算,使用Dynamics Blend=0,Balance Factor=0的数值计算质心的动力学。
接下来我们要牵涉到一个新的概念——适配锁定。它可以锁定Biped运动的各条轨迹,在做其他操作时那些被锁定的轨迹将不受到影响。它只能作用于纯足迹动画,不能作用于自由编辑动画。比如我们想要改变一段腿的动画却不想再改变身体的位置,我们就可以将身体垂直方向的轴(Body Vertical Key)锁定。锁定共有以下几种:
Body Horizontal Keys:防止Biped身体在水平方向上产生动作。
Body Vertical Keys:防止Biped身体在垂直方向上产生动作。
Body Turning Keys:防止Biped身体产生旋转。
Right/Left Leg Move Keys:防止Biped的双腿产生动作。
Freeform Keys:在一段足迹动画中防止一切自由编辑动画。
Time:当足迹持续时间(在Track View中)被修改过后,保持身体的动作不变。
最后是一个Separate Tracks组。在CS中,Biped的手指、手、下臂和上臂的运动信息都是记录在Biped的锁骨的运动轨迹中的;脚趾、脚、小腿的运动信息则都是记录在大腿的运动轨迹里的。这是系统的缺省设置,但我们可以为其增加一些轨迹,就是在这里可以设置。
Arm:增加上臂的轨迹,包含了上臂以下诸如手等所有部分的运动轨迹;
Legs:增加腿部的轨迹,包含了大腿以下各部分的运动轨迹;
Ponytail1:增加辫子1的运动轨迹;
Ponytail2:增加辫子2的运动轨迹;
Spine:增加独立的脊椎运动轨迹;
Neck:增加独立的脖子运动轨迹;
Tail:增加独立的尾巴运动轨迹。
Biped参数篇06:创建足迹类参数
Footstep Creation展卷栏
这里是Character Studio创建和编辑足迹的地方,你可以创建角色走、跑、跳。
Create Footsteps (append):打开创建足迹模式,这时可以在视图中手动设置足迹,系统自己设置左右脚足迹交替创建。新创建的足迹以绿色代表右脚,蓝色代表左脚。
Create Footsteps (insert at current frame):与Create Footsteps (append)相似,只是在当前帧创建足迹。如果与现有的足迹重复,则系统会提出警告并不生成足迹。
Create Multiple Footsteps:用自定的方法建立走、跑、跳三种足迹,分别为边上的三个按钮。操作方法详见教程部分。
下面还有一些参数,根据走、跑、跳会有不同。因为行走过程中,一只脚向前走,另一只脚总是相对固定,至少有一只脚总是保持在地面上,也有双脚同时着地的时候:跑动过程中,双脚没有同时着地的时候,有时单脚着地,有时双脚腾空;跳跃过程中,只有两种情况,即双脚同时在空中或着地。
walk Footstep(只对走有效):设置在一段动画中有多少帧是单脚着地的。
Double Support(只对走有效):设置在一段动画中有多少帧是双脚会同时踩在地上。
Run Footstep(只对跑有效):设置在一段动画中有多少帧是单脚着地的。
Airborne(只对跑和跳有效):设置在一段动画中有多少帧是双脚都腾空的。
2 Feet Down(只对跳有效):设置在一段动画中有多少帧是双脚都着地的。
Display展卷栏
这里的按钮比较简单,是用来控制足迹和轨迹在视图中的显示的。
Bones:显示Biped骨骼,用黄色的线表示,不过不会被渲染出来。如图:
Objects:显示Biped块,这是最常用的显示方式,不过Biped块如果不隐藏的话,在最后渲染时会被渲染出来。如图:
Footsteps:在视图中和Track View显示足迹,它们是无法被渲染的。如图:
Footstep Numbers:显示足迹编号,系统按照生成的先后顺序自动编号。如图:
Trajectories:显示Biped身体某部位运动的轨迹,在设置动画时打开观察很重要!
Display Preferences:设置足迹的颜色等,这在有两个以上的角色场景中可以方便地分辨他们各自的足迹。
Footstep Operations展卷栏
Create Keys for Inactive Footsteps:激活足迹,为Biped设置完足迹后,必须按这个按钮才能让Biped沿足迹行走。
Deactivate Selected Footsteps:关闭被选择的足迹,让Biped不会踩到这两个点上。
Delete Selected Footsteps:删除被选择的足迹。
Copy Selected Footsteps:将足迹拷贝入内存(事先足迹必须被激活)。
Insert Footstep Buffer onto Footsteps:将足迹从内存中粘贴出来。
Bend:弯曲被选择的足迹,即弯曲角色行走的路径。使用前必须先激活足迹。效果如图:
Scale:缩放被选择的足迹,不过先要设置下面的width(宽)0和length(长)。效果如图:
Length=1,Length=2.
Width=1,Width=2.
Start Left:从左脚开始。
Start Right:从右脚开始。
Alternate(交替):如果勾选,左右脚交替正常行走;不勾选时,产生右脚或左脚的单脚跳。
How Many: 创建的足迹数。
Parametic Stride Width:设置两脚开立宽度,单位是盆骨的百分比,1.0时两脚宽度等于盆骨宽,3.0时双腿就跨开了。
Actual Stride Width: 以Max的单位设置两脚开立的宽度,与上一项相互影响。
Timing时间设置组:
Auto Timing:自动设置时间参数,根据足迹数自动生成动画时间长度。
2 Feet Down, Airborne
Interpolate(插值):对一系列的脚步加速或减缩。
Biped创建的脚步以First Step参数值开始,并以Last Step值结束,经过在二者间的插值计算,Biped生成随时间而变化的脚步序列,当不勾选Interpolate 时,Last Step参数变灰,此时创建的脚步仅依照First Step值。
Start After Last Footstep:在现有的脚步后添加新的脚步。
Start at Current Frame:在当前帧插入新的脚步。
Parametric Stride Length:以Biped的腿长的百分比设置步伐大小,默认值0.75 是正常情况,值为1.0时会跳跃,为0时在原地跳,负值将往后跳,设定此参数值将会同时改变Actual Stride Length值。
Actual Stride Width:以Max的单位设置步伐大小。
Actual Stride Height:设置脚步向上或向下,可创建上下楼或上下坡的脚步。
Time to Next Footstep: 每只脚运动一个循环的帧数。
Speed: 显示Biped在每帧中运动的单位数,它随其它参数的改变而改变,但不可直接作更改。
Biped基础练习
一.建立Biped的基本行走
1. 在场景中建立一个Biped(create>system>Biped),并建立一个尽可能大的plane(create>geomtry>plane)作为地面。如biped01.max文件。
2. 选中Biped的任何一个部分,进入motion面板,在General展卷栏中打开Footstep模式;在Foot Creation展卷栏中选择Walk行走。再按边上的create multiple footsteps按钮,会弹出create multiple footsteps:walk对话框。
3. 在create multiple footsteps:walk对话框中,设置number of steps为10,按OK,这样Biped就会产生编号为0—9的十个足迹。注意时间滑块自动设置到了153帧。
4. 在foot steps operation展卷栏中按create keys for inactive footsteps按钮,这时候播放动画观看效果。成品文件为biped02.max。
二.建立Biped的跑和跳
1.继续上面的练习,或打开biped02.max文件,在foot creation展卷栏中选择run跑步。再按边上的create multiple footsteps按钮,会弹出create multiple footsteps:run对话框。
2.在create multiple footsteps:run对话框中,设置number of steps为4,选择start after last step(缺省时就为此项)按OK。
3.在foot steps operation展卷栏中按create keys for inactive footsteps按钮,这时候播放动画观看效果,我们可以看到Biped在走完10步后会小跑四步。
4.在foot creation展卷栏中选择jump跑步。再按边上的create multiple footsteps按钮,会弹出create multiple footsteps:jump对话框。
5.在create multiple footsteps:jump对话框中,设置number of steps为1,选择start after last step(缺省时就为此项)按OK。
6.在foot steps operation展卷栏中按create keys for inactive footsteps按钮,这时候播放动画观看效果。成品文件为biped03.max。
三.足迹的调整
1. CS中的每一个足迹都是可以自由调整的,继续上面的练习,比如要让角色走上一段阶梯,我们在左视图中,在General面板上打开Footstep Mode,然后对其足迹做个别调整。
2. 从第五个足迹起,按照图例用工具栏上的移动工具将它们分别向上移动。使足迹的分布犹如角色走上了一段阶梯后又走下。
3. 播放动画,成品文件为biped04.max。
四.沿路径行走
1. 前面我们用系统自定的方式生成了足迹,现在我们要用手动的方式自己来设置一串足迹,并且使足迹沿一定的路径排列,也就是能让角色走到一半时能够转弯。
2. Reset场景,重新建立一个Biped,在顶视图中,缩小视图。
3. 选择Biped的任何一块,进入motion面板,打开Footstep Mode,使时间滑块保留在第0帧,按下Foot Creation展卷栏内的Create Footstep(at current frame)按钮。
4. 在顶视图中,任意地在场景中画15个足迹,如图所示。
5. 在Footstep Operation展卷栏中,按下Create Keys From Inactive Footsteps按钮,激活足迹。播放动画后,角色已经可以行走了。
6. 保持Footstep Mode打开,选择从第六个到最后一个(第十五个)足迹,在Footstep Operation展卷栏中,加大Bend的值,比如设置5,我们可以看到从第六个足迹开始,角色转弯行走。
7. 播放动画,成品文件为biped05.max。
做完上述的基础联系之后,我们综合运用一下各种知识来做一段比较复杂的行走动画。我们的目的是要看到一个角色走着走着突然踩到香蕉皮向后一个倒栽的动作,虽然在CS的足迹库文件中有类似的这一样一个bip文件,但是学习如何制作这一动画的过程,对我们的水平进阶,是相当有用的。
打开cs3_tut03_slipstart.max文件,这是一段已经做好的行走动画(如图所示),我们可以试着播放一下,我们希望能够在第5个足迹时,角色踩到香蕉皮突然向后滑倒(虽然场景中没有香蕉皮,但你可以自己做一个)。
我们先观察一下动画,选择Biped的任意一个部分,进入motion面板,在第75帧时选择角色的左脚(Bip01 L Foot),这时左脚的脚跟正好踏在第5个足迹上(如图所示)。我们可以发现脚后跟处有一个小红点,这是脚的重心(pivot point),在时间滑块上显示着脚的一个个关键帧,第75帧设置了一个planted key,这说明在第75帧时,我们将角色的脚后跟锁定在了地面上,这时我们就可以通过控制Biped的质心或其它部分来操控整个动画。这是一种很常用的制作技法,我们将会在数个例子中多次看到这种方法。
我们继续向前播放动画观察脚的重心移动情况。如图所示的是第78、84、93帧时重心所处的位置。也就是说,如果按照正常播放动画的话,脚的动画姿势将是那样的,而我们现在希望角色向后滑倒,那么我们必须要改变它的动画姿势。
在第75帧时,在IK Key Info展卷栏中,按Set Sliding Key按钮,这样Biped的这一脚就会从足迹上“滑”过去,为了实现向后滑,我们到第78帧,旋转一下脚使脚趾向上翘起,并移动脚跟的位置到足迹图形的前端,如图所示。再在IK Key Info展卷栏中,按一下Set Sliding Key按钮设置关键帧。
保持脚仍然被选择,到第84帧,再设置一个Set Sliding Key,然后选择Select Pivot并将脚的坐标轴(重心)从脚趾移动到脚跟位置,完了后关闭Select Pivot,再把脚旋转一下到合适的位置,如图所示。最后是再设置一次Set Sliding Key。
这时我们播放动画后,脚在滑倒一瞬间的姿势我们就基本调整完毕了。接下来我们要为角色在腾空向后摔的过程中为角色做一个自由动画,模拟角色在空中(挣扎)的动作并结合Track View中的足迹设置来一起学习足迹动画模式和自由动画模式。
选择Biped的质心,在Motion面板上进入Footstep模式,在视图中选择足迹5(就是滑倒时的那个足迹),利用右键快捷键进入Track View,我们看到在Track View中,足迹的显示和一般的关键帧不同,刚才设置了Sliding Key的足迹将以桔黄色显示,如图所示。
由于角色在空中的动作属于自由动画模式,而我们现在全都是足迹模式,因此我们先要在Track View中插入一段可以使用自由编辑模式的时间段,然后再在这个时间段中编辑动作。
双击足迹6并把它向右移到和足迹7对齐的位置,如图所示。
在轨迹上单击鼠标右键,在Bip01 Footstep Mode对话框内打开Edit Free Form (no physics),这时一个黄色的框出现在足迹5后刚才拉出的空档内,如图所示:
我们在这个黄色的框内点击一下,它变成了实心的,这就说明我们已经插入了一段可供自由编辑动画的时间段,如图所示。
可是能供自由编辑动画的时间太短了,因此还需要调整一下,我们打开Time Configuration按钮,把动画长度从123帧调整到158帧。之后再回到刚才的Bip01 Footstep Mode对话框,在Track View中框选足迹6和足迹7,然后把它们一起向右拖动,让它们的起始帧停在第140帧,如图所示:
接下来便是编辑自由动画,关闭Bip01 Footstep Mode对话框和Track View、关闭Motion面板上的Footstep足迹模式,打开Animation按钮。我们前面说过,我们在为脚(或手)设置了planted key(或sliding key)后,就可以将它们锁定,然后只要动画Biped的质心就可以控制整个动画,我们现在就遵循这个原则做。先在Track Selection展卷栏中选择Body Vertical Track,在第78帧时,在Key Info展卷栏上按一下Set Key按钮,再在Key Info展卷栏上把Dynamic Blend设置为0。(说明:Dynamic Blend的缺省值为1,这时角色身体的垂直运动将根据腿部运动而运动,设置为0时角色身体的运动将根据样条插值而运动。在这个例子中,角色的身体已经完全腾空,不再依赖于腿的运动,因此我们把它设置为0。此外注意只有当Body Vertical Track被选择时它才有效。)再到第84帧,这时左脚有一个planted key,我们便把质心向前移动一些,再旋转一些,角色就做出了滑倒前的准备动作,如图所示:
再到第86帧,继续旋转Biped的质心直到其整个身体处在一个水平的位置,我们再结合其它视图使角色的手脚伸展开,注意脚趾这个时候应该都是向上的。总之调整到如图所示:
再加入一些次动作:在第88帧时,把手和脚都向上移动些,旋转一些,这个可以根据你自己的想象做,没有什么标准;在第97帧时,我们将整个Biped向下移动,使其下落到接近到几乎碰到地面的地方。
接下来我们要做一个角色落到地上后又略微弹起的动画。我们先把时间滑块拨到第102帧,仍然选择Biped的质心,保持Animaion按钮打开,选择Body Vertical Track,把Dynamic Blend设置为0,然后再把整个Biped向上并向前移动作为弹起,再到第115帧,再把整个Biped向下并向前移动作为再次落到地上,模拟出一个弹性的过程。
别忘了次动作,在这个过程中需要加不少的次动作。在质心向上弹起的同时,手臂也需要做向上弹的动画,在质下落的同时,同样手臂也需要向下落,当然你可以错开节奏;还要在第95帧到110帧时旋转一下脊椎,使肩部着地;还有头部的动画,在第95帧时头部为避免直接着地,必然要本能的向前收,因此要略微旋转一下,到了第105帧时有要转回来。下图是第95帧时的左视图。
还要设置一下动力学属性,在第95帧时选择Biped的质心,在Key Info展卷栏中把Tension和Continuity 都设置为0,这样动作就更突然。下图为动力学设置后的示意图。我们还可以打开成品文件myslip.max来比较。
这样动作部分的设置就基本完成了,接下来我们要来学习一下将足迹动画转换为纯自由形式动画,仍然使用这个文件或打开cs_tut03_convert.max.文件,打开Animation按钮,选择Biped的质心,在Motion面板的General展卷栏中,按Convert按钮,直接按OK,我们看到足迹在场景中消失了,但是动画还保留着。我们播放动画,一切正常,但是最后两帧时由于足迹6和足迹7都是站立着的动作,因此角色会迅速不自然的站起,我们可以用粘贴关键帧的方法把第115帧复制给后面的两帧,方法在这里就不再赘述了。
最后成品文件可以调出slip2.bip文件欣赏。
Biped参数篇07:动画流程模式
CS中还有一种模式,那就是Motion Flow(动画流程模式),在这种模式下,我们可以自由编辑动画,感觉就象在非编系统中一样,剪辑、合成片段,随意的组合、拼接。在以前的CS版本中它似乎不是非常的重要,但是在CS3中,通过和群体动画模块的结合,它已经变成了一个我们必须学习的部分。下面我们就开始进入它的面板。
1)motion flow展卷栏
load file:调出于动画流程编辑有关的文件,有clip(片段,后缀为*.mfe)、transition(过渡)script(脚本语言)三种文件可调。
Append file:为当前片段后加上一个后缀为mfe的片段。
Save file:将当前片段储存为*.mfe文件。
Show Graph:打开motion flow(工作流程)图表。
Shared motion flow:打开相应对话框,建造一个共享的动画流程。
2)Motion Flow Script展卷栏是利用脚本语言来控制动画,我们这里不专门介绍了。
2)Motion Flow Graph(运动流程图表):主要功能是将动画片段放入其中,再在当中施加过渡效果等,还可以加入脚本语言等来操控。以下我们从左到右介绍各工具按钮:
Create Clip:按下这个按钮后,在图表当中空白出点击会出现一个图标,不过此时是空的,我们在这个新出现的图标上按右键,用其中的Clip tool调出我们要使用的*.bip文件。
Create Multiple Clips:一次选择多个*.bip文件作为片段。
Create Transition:创建一个过渡,方法是按下这个按钮后,在一个图标上点击并拖曳到另一个图标上。如果要编辑过渡的话要在Transition Editor中进行。
Move Clip:移动图表中的图标位置,不过对动画没有任何影响。
Select Clip/Transition:选择片段图标或过渡。
Delete Clip/Transition:删除片段图标或过渡。
Clip Mode:进入片段编辑模式,编辑当前选择的*.bip文件。
Show Script Dependencies:显示选择片段的脚本语言。
Select Random Start Clips:打开一个窗口让你选择几个片段(*.bip文件),随机的,这几个动作中的某一个会最先发生。此外还有一个片段最先发生的机率百分比。
Show Random Percentage:显示这个随机的片段最先发生的机率百分比。
Optimize Selected Transitions:优化被选择的过渡。
Show Optimal Transition Costs:显示最理想的过渡值,值越小效果效果就越好。
Synthesize Motion Flow Graph:在每一个片段间自动生成一个过渡。
Check All Transitions:检查所有的过渡是否有错误。
Auto Clip Names:自动为片段命名。
3)Transition Editor(过渡编辑器):两个片段代表了两个动画,要将它们无缝地连接在一起,在播放时不产生破绽,就需要在其中做一个过渡(Transition)。
Probability:为过渡设置一个随机值,形成随机动画效果。
Length:过渡将持续几帧。
Angle:起始片段到目标片段的角度。
Ease In:越接近关键帧插值(动画)越慢。
Ease Out:越接近关键帧插值(动画)越快。
Previous Transition:到上一个过渡。
Next Transition:到下一个过渡。
Optimiaze Transition:打开Transition Optimization对话框。
Go to Start Frame:到达过渡的第一帧。
Start Frame:设置起始片段和目标片段的开始帧。
Rolling:过渡时Biped会相应运动。
Fixed:过渡时Biped不会运动。
Ghost组可以控制同时显示起始状态、过渡中和目标状态的动作,如图所示:
Start Frame:从哪一帧开始显示。
Frame:你希望看到第几帧时的效果。
Create Transition:创建一个新的过渡。
Delete Transition:删除当前过渡。
Previous Transition:移动到前一个过渡。
Next Transition:移动到下一个过渡。
OK:完成设置退出对话框。
4)Transition Optimization(优化过渡对话框)
Search Entire Clip:在整个片段中寻找一个合适的过渡起始帧。
Preferred Transition Length:确定优化后的过渡片段的总帧数。
Search Near Exisitng Transition:在现存的过渡的附创建一个优化的过渡。
Before:在现存的过渡前多少帧开始寻找。
After:在现存的过渡后多少帧开始寻找。
5)Shared Motion Flow(创建共享动画流程对话框):把一个编辑好的运动流程(*.mfe文件)赋予多个Biped物体,这样就不用为每一个Biped设置动画了。
Share Motion Flows List>New/Delete:显示共享的动画流程。两按钮为新建和删除。
Load.mfe:调出mfe文件。
Bipeds Sharing this Motion Flow List:显示动画流程中所用到的Biped,也就是要将运动流程赋予这些Biped。
Add:添加一个Biped。
Remove:删除一个Biped。
Put Multiple Bipeds in Motion Flow:把Biped设置为运动流程模式,这样才能计算动画。
Take Multiple Bipeds out of Motion Flow:把Biped从运动流程模式中取走。
Set Shared Moflow Leg Scale:正确缩放被选择的Biped的腿的大小。
Reset Wrong Scales: Just Legs:正确缩放不正确的Biped的腿的大小。
Reset Wrong Scales: Entire Figure:正确缩放整个不正确的Biped的大小。
Motion Flow(运动流程模式)还有一些比较次要的对话框和设置,由于比较直观,大家一看就懂,我们在次也就不再多做介绍了。我们可以参见实例部分(特别是Crowd模块部分的最后一个实例),可以有进一步的认识和体会。
Biped四足动物动画
前面我们所讲的例子都是以人为对象所做的设置,即都是针对两足角色来的。那么,Character Studio能否能做四足动物或是八脚爬虫甚至是千手观音的动画能,答案是肯定的,我们这就要来学习做一个四足动物的动画。
打开cs3_tut09_quad1.max文件,这里有一个Biped骨架,是为max原版动画演示中的那个甲虫用的,我们暂不去管这些,先做我们的。我们的目的就是要让这个骨架变为四足动物(当然可能不说大家也会猜到,两只手要变脚了),然后用自由编辑动画的方法为它做一段跳跃的动画。
打开animation按钮,在第0帧,在left视图选择Biped的质心旋转约80度,如图所示。在left视图中框选所有的大腿部分,沿Z轴旋转约120度,再按一下键盘上的Page Down按钮,选择了小腿部分,然后旋转至几乎水平的位置。
再是手臂,我们先在顶视图中选择Biped的左右锁骨,沿Y轴旋转20度左右。再按一下键盘上的Page Down按钮,选择了两条上臂,结合各个视图旋转,直到如图所示结果。
再一直按键盘上的Page Down,直到选择了双手为止,旋转一下让手掌平行着地,也就是踩在地上,同样后脚也是。作为进一步调整我们还可以让它的头抬起来一些,脊椎也能做一些旋转操作。总之将其调整至如图所示位置。成品文件为cs3_tut09_quad2.max。
下面我们要为角色设计一个平台,即如图建立一个box物体放在角色下面。也可以打开cs3_tut09_quad_and_box.ma文件,我们要把角色的手脚锁定在上面。保持animation按钮为打开,先选择Biped的右脚(Bip01 R Foot),在IK Key Info展卷栏上,按下Set Key按钮,再按下在IK Key Info展卷栏的最下面的Select Object Space Object按钮,在场景中点取box物体,再在IK Key Info展卷栏中按下Set Sliding Key,完成一只脚的设置,然后对另三只脚也做同样的操作。
这样我们就把角色的四只脚锁定在了地面上,这时我们可以在Track Selection展卷栏中打开Body Vertical track,然后用移动工具上下移动Biped的质心,可以得到角色很自然的运动感觉,锁定手脚后利用质心驱动动画是一个常用的方法(如图所示)。
在角色跳起来之前,我们还得为角色做一个预备姿势。说到这里,我们先要插一段预备运动的概念。预备运动是建立在主要运动之前的运动,在动画的模拟真实性方面有着重要的作用,也就是说,预备动作的作用是告诉观众一个动作快要发生了,给观众一定的心理准备。比如说出手打人,你的手必须先要向后缩,才能向前打,这向后缩就是预备动作,在这个例子里也就是先要让角色在跳起之钱有一个下蹲的预备动作。这一制作的理念是专业动画师所必须具备的。
如图所示便是角色跳跃前的预备运动姿势,打开animation按钮,把时间滑块拨到第10帧,在Track Selection展卷栏中,打开Body Rotation,在左视图中旋转并左右略微移动角色的质心,直到如图效果,其中需要将头部旋转一下使他“向前看”,如果肘部过于下面的话可以将质心上移一些。
继续动画,将时间滑块移动到第20帧,在在Track Selection展卷栏中,打开Body Vertical,在左视图中向下移动质心,再选择角色的脊椎(从Bip01 Spine到Bip01 Spine03),旋转直到如图所示位置。
接下来我们要对其在起跳时的手脚动作做一下动画。把时间滑块移动到第23帧,选择角色的右脚(Bip01 R Foot),设置一个sliding key,再选择它的坐标轴(pivot),设置一个planted key,这样它的坐标轴就被锁定了。关闭Select Pivot,用旋转工具使之脚跟抬起,如图所示,但是播放动画的话我们发现这个转动过程看上不似乎有些小问题,原因就在于我们没有设置它的脚踝张力(Ankle Tension)。
保持aniamation按钮打开,回到第0帧,在IK Key Info展卷栏中,将Ankle Tension设置为1并设置一个Planted Key。现在运动的问题解决了。但是我们还必须解决这一段脚和下面最后一段脚趾部分的衔接问题,两者至少不能因为旋转而重合到一起。到第27帧,在IK Key Info展卷栏中设置一个planted key,按一下Select Pivot并选择脚的轴,这时系统自动为其设置了一个planted key,我们不必再手动设置。关闭Select Pivot,把时间滑块拨到第30帧,这时再旋转脚,问题得到了彻底的解决。如图所示。
下面是手的动画,我们把时间滑块拨到第23帧,选择角色的右手(Bip01 R Hand)并设置一个planted key,旋转它的时候,手指部分也会相应地抬起来,解决的办法只要选择手指部分将它转回来。我们重新再选择右手,把时间滑快拨动到第27帧,设置一个sliding key,用Select Pivot选择它的坐标轴,系统自动为其设置了一个planted key,我们不必再手动设置。关闭Select Pivot,把时间滑块拨到第30帧,这时再旋转手,一切正常。
另外一只手和一只脚也要做相同的操作,虽然做起来是足以让人火冒三丈,但是为了那高昂的动画制作报酬,我们还是要咬紧牙做下去。做完另两个后,把时间滑块移动到第30帧,在左视图中我们把角色的质心向左上方移动,我们发现角色已经能跳了起来!
下面是做在空中的动画,打开animation按钮,把时间滑块移动到第40帧,先分别选择四个脚(手),然后在IK Key Info展卷栏中各设置一个Free Key,这可以将IK Blend设置为0(有关概念见相关章节)。在左视图中把Biped的质心向右上方移动,角色腾空而起。之后对照下图,将角色的形状调节到如此状态。主要需要用移动工具将四肢拉直,脚的地方需要旋转一下;把脊椎旋转得直一些;以及保持头部“面朝前”。
在角色跳跃到最高点时,我们必须再为其设置一下动作,把时间滑快移动到第56帧,在Track Selection展卷栏中打开Body Vertical,把整个角色移动到在最高点时的位置(如图所示),再调整其动作。图显示了角色的在最高点应该调整成的动作,我们需要弯曲其脊椎,并使其头部略略朝下,再从上臂开始旋转其每一段手臂和手,从大腿开始旋转每一段腿和脚,直到如效果图所示。
下面是将要落地时的姿势。我们把时间滑块移动到第72帧,在左视图中选择角色脊椎的上面三段使整个躯干呈朝下的趋势,再沿Z轴旋转Bip01 Spine 2使整个脊椎保持相对直线。选择双手,用移动工具向地面方向拉动,让它们向地上伸展,由于CS的完美的反向动力学系统,我们不必从上到下一段段做下来。结果如图所示。
接下来便是落地动作。同样也要锁定手脚,靠质心控制动画,打开animation按钮,把时间滑快移动到第85帧,移动质心直到角色的双手着地。这时脚有一个非常重要的次动作,就是向后踢,我们选择脚的最后一段,用移动工具向上拉,使腿的状态如图所示,注意我们要把两条腿的位置设置得有些不同,以达到更为生动和真实的效果。
再具体地调整手的落地形状,把时间滑快移动到93帧,旋转角色的手让手掌与地面平行(当然也要接触到地面了)。为两只手各设置一个sliding key,这样就锁住了它们的坐标轴。再使用Select Pivot去选择角色腰那一块的坐标轴,然后为它设置一个sliding key。再移动角色的质心使其肘部接近地面,再把一只手的位置向前移一些,这样动画中就可以出现两只手不同时着地的动作(如图所示)。
继续在第93帧,我们再来调整脚的动作,先选择两段大腿部分,把它们旋转到如图位置,按两下键盘上的Page Down按钮,选择角色的双脚,同样旋转到如图所示位置,接着再按一下Page Down按钮选择角色的脚趾,旋转直到与地面平行(如图所示)。注意把两只脚的位置略微前后错开一些,可以产生不同时着地的动画效果。
到第94帧,我们做最后的调整,先选择一只手,设置一个planted key将其锁定,再选择腰部的坐标轴,再选择另一个手,设置一个planted key,再选择再选择腰部的坐标轴;选择一只脚设置一个planted key,再选择其脚趾的的坐标轴,再选择另一只脚,设置一个planted key,再选择其脚趾的的坐标轴。最后旋转脊椎使其如图所示。
最后我们来调整一下时间,因为刚才的动画设置动作显得慢了些,我们选中整个Biped,这样整段动画的关键帧都会显示出来,我们先框选从72帧到最后的所有关键帧,然后向左拉,直到原来的72帧到60帧左右。再次框选从第40帧以后的所有关键帧,向左拉,直到原来的第40帧到33帧左右。当然可以根据具体情况做一些不同的调整。成品文件如cs3_tut10_quad_finished.max.,如果您好不容易做完这整个练习的话,您一定会破口大骂,但是,这,就是角色动画。
做完了这个漫长的动画后,我们再来接着一开始的话题,讲如何设置拥有更多肢体的角色,我们将用一个实例制作一个拥有四只手的人,我们将用到max的快照(snap shot)复制功能创建Biped的另两只手,不过新建的手不受原来整个Biped反向动力学系统的控制,要做动画需要另外控制,这不能不说是美中的一点不足。
新建一个Biped,在front视图选择它的整条手臂并沿Y轴旋转开,如图所示。在确定位置后我们用工具栏上的snap shot工具按钮,会弹出相应的对话框,保留缺省设置按一下OK。表面上没有任何变化,不过我们这时用旋转工具将原来的手旋转一下位置把它移开,马上会发现效果。
我们选择整条新建的手(是两条),用移动工具向下移动,直到我们所想要的位置(如图所示)。不过这样的手是不连在Biped身体上的,我们用link工具将它们连在Biped的脊椎的某个位置上,但总的来说这样的手是“假手”,不受character Studio的控制,只能用其它max的技术来为其制作动画或设置骨架。
Behavior行为篇
1.Avoid Behavior(避免行为):避免物体与物体、代理物体与代理物体、物体与代理物体之间的相互碰撞(在空间中重合)。
None:选择一个物体避免碰撞。
Multiple Selection:选择数个物体,使之互不碰撞。
Look Ahead:在当前帧前多少帧时就开始计算何时将要发生碰撞。缺省值为30帧。
Hard Radius:从物体的轴心(pivot point)到边缘的距离,在这段距离内不会产生相交现象。注意一般都要把轴心先对准物体的中心位置。
Display Hard Radius:在场景中显示Hard Radius的范围。
Detour Angle:代理物体为避免碰撞产生的转向的最大角度。缺省为360度。
Brake Pressure:形象化地讲,决定物体的“刹车”性能好不好。
Strength:排斥力的强度。
Radius:代理物体产生排斥范围的半径。
Fall off:排斥力强度沿半径衰减,1代表线性衰减,值越高衰减得越快,缺省值为3。
Display Repel Radius:显示排斥半径。
Strength:如果场景中有物体被赋予了向量场(vector field),加大此值可以加大场的影响力。
Falloff:向量场中力量强度的衰减,值越高衰减得越快。
最后是Display During Solve组,控制在计算时场景中的显示问题。
2.Orientation Behavior(方向行为):控制代理物体(在沿路径运动时)的旋转。Relative:缺省时为关闭,即不旋转,打开后就可结合下面的Min/Max Heading进行设置。注意行为的方向和代理物体的朝向一致。
Heading组>Min Heading/Max Heading:物体在水平面上的旋转角度见图,这两个参数控制最大旋转角度和最小旋转角度。例如要想让物体在0到90度之间旋转,就把最小值设为0、最大值设为90。
Max Heading Velocity:每帧代理物体的最大角度加速度。
Head Response::物体沿路径运动时代理物体随之转向的反应速度,1为最大值,反应最快。 Pitch组>relative:打开物体的在沿路径运动时的前后摇晃功能。
Min/Max Pitch:最小/最大前后摇晃度数。
Max Ptich Velocity:每帧前后摇晃的最大角度加速度。
Pitch Response:物体沿路径运动时代理物体随之前后摇晃的反应速度,1为最大值,反应最快。
Banking组>Max Bank:代理物体左右摇晃的幅度,缺省为30度。
Max Bank Velocity:每帧左右摇晃的最大角度加速度。
Bank per Turn:在当前帧转几度。
3.Path Follow Behavior(路径追随行为)
None按钮:在场景中点取一条路径(可以是nurbs线或spline)
Radius:路径的辐射半径。
Turning组>awareness:决定代理物体自动适配曲线进行运动的自然流畅程度,最大值为1时适配得最好。
Deviation:控制awareness值可以自由随机变化的程度。
Starting Point>Beginning of the path:代理物体一开始出现在路径的起始点上。(路径的起始点可以用make first功能来指定,属于max的基本知识,请参阅有关资料。)
End of the path:代理物体一开始出现在路径的最后一个节点上。
Nearest Point:开始点在离代理物体最近的那个节点上。
Direction>forwards:代理物体沿路径的起始点到终止点运动。
Backwards:代理物体沿路径的终止点到起始点运动。
Action at end of the path>loop:在一段动画完后重复在路径上运动,循环播放。
Reverse:在一段动画完后回放,即沿路径倒着开。
Continue:沿结束时的方向继续向前开。
Seed:设置一个能使awareness随机变化的值。
下面两个颜色块显示在计算时,路径向量的颜色和目标物体的颜色。
两个Display选项决定是否在计算时显示向量路径和目标物体。
Target Scale:设置目标物体图标大小。缺省值为5.0。
4.Repel Behavior(排斥行为):两个物体在接近到一定程度时会相互躲避对方。
None:选择一个物体作为排斥目标。
Multiple Selection:选择多个物体,使它们能够互相排斥。
Closest Source Only:每一个代理物体只被离它最近的一个目标物体排斥。
Average of Sources:所有的代理物体根据多个目标的综合效果从一个点上被排斥。
Method>Angle:根据代理物体和目标物体(目标物体也可以是一个代理物体)的角度计算。
Force:直接在两个物体之间产生不变的力。是缺省方式。
Raius>Use Radii:打开后,代理物体只有在空间半径内接近到一定距离才会发生排斥作用。
Inner/Outer Radius:内外两个半径,其中用falloff衰减来控制强度。
Display Radii:显示半径范围。
下面的颜色块是控制在计算时在场景中显示力强度。
5.Seek Behavior(寻找行为):使物体朝目标接近。
None:选择一个物体作为接近目标。
Multiple Selection:选择多个物体,使它们能够互相靠拢。
Seek Target> Closest Source Only:每一个代理物体只和它最近的一个目标物体接近。
Average of Sources:所有的代理物体根据多个目标的综合效果向一个点靠拢。
Method>Angle:根据代理物体和目标物体(目标物体也可以是一个代理物体)的角度计算。
Force:直接在两个物体之间产生不变的力。是缺省方式。 Raius>Use Radii:打开后,代理物体只有在空间半径内接近到一定距离才会发生靠拢效果
Inner/Outer Radius:内外两个半径,其中用falloff衰减来控制强度。
Display Radii:显示半径范围。
下面的颜色块是控制在计算时在场景中显示力强度。
6.Scripted Behavior(脚本语言行为):用Maxscript来控制行为。
Behavior Type:有Force(力)、Constraint(限制)、Orientatin(方向)三种行为方式可选择。
Script Context Name:脚本的名字。
Edit Maxscript:打开窗口编辑Maxscript。
7.Space Warp Behavior(空间扭曲行为):为代理物体设置如风力场、重力场等。
None:用此按钮点取场景中的空间扭曲物体。
下面的颜色块是用来显示空间扭曲力向量图标的颜色的。
8.Speed Vary Behavior(速度变化行为)
Time组>period:使用新速度前用多少帧进行过渡。
Deviation:控制period值可以自由随机变化的程度
Speed组,这里面的参数我们可以用一个公式来描述:新速度=(代理物体的Average Speed*Center)*(1 + RN*Center Deviation),其中RN是一个在-1和1之间随机取的值。
Acceleration:代理物体的加速度,值为0时速度会产生瞬间的突变。
Deviation:控制Acceleration值可以自由随机变化的程度。
Seed:控制整个速度的随机程度。
9.Surface Arrive Behavior(表面到达行为):使物体到达目标物体的法线表面。
None:选择一个物体作为到达目标。
Multiple Selection:选择多个物体作为到达目标,我们可以设置代理物体随机地被吸引在任意一个目标表面上。
Arrival组>disable after arriving:当物体完成任务到达目标表面时自动关闭这一行为。
Rate:值为1时为使用最大加速度计算,缺省值为0.5。
Deviation:控制Rate值可以自由随机变化的程度。 Speed:达到表面的速度,还要根据目标表面是否动画来决定。
Deviation控制Speed值可以自由随机变化的程度。
Distance:在多少距离的范围内,会产生接近表面行为。
Deviation:控制Distance值可以自由随机变化的程度。
Location组>offset:代理物体离物体法线表面相隔多少距离,缺省为0。
Facing:打开时代理物体只会接触到三角面上。
Random:随便取一点作为接触点。
Closest:取目标物体上离代理物体最近的点作为接触点。
Every frame:计算时每一帧都计算一下目标物体上离代理物体最近的点作为接触点。极其耗时。 Display offset:如果代理物体和目标物体表面设置了相隔距离,用此显示出来。
Approach组>Height:设置离接触点有一定距离的一个点,让代理物体先到这个位置。
Deviation:控制Height值可以自由随机变化的程度。
Descent Start:代理物体到height设置的点后,再决定开始接近接触点的距离。
Deviation:控制Descent Start值可以自由随机变化的程度。
Off this normal:设置一个向量表示接近的朝向。
X/Y/Z/:设置这个向量在空间中的坐标。
Seed:控制整个Deviation的随机程度。
下面的颜色块是设置目标物体在计算时的显示颜色。
Target Scale:目标物体在计算时的图标尺寸。
10.Surface Follow Behavior(跟随表面行为):让物体沿目标表面运动。
None:选择一个物体作为目标表面物体。
Multiple Selection:选择多个物体作为目标表面物体,我们可以设置代理物体随机地被吸引在任意一个目标表面上。
Projection Vector组>Use Projection:保证物体在任何情况下根据向量指定的方向运动。
X/Y/Z:让向量使用世界坐标。
Position on Surface组>Offset:物体在沿目标表面运动时和目标表面隔开多少距离。
Display offset:在视图中显示隔开的距离。 下面的颜色块是设置目标物体在计算时的显示颜色。
Target Scale:目标物体在计算时的图标尺寸。
11.Wall Repel Behavior(墙壁排斥行为):和普通排斥行为不同的是,墙壁排斥行为的阻隔对象是平面物体(Grid),就象在一个封闭的房间内,角色不会走到墙壁外面去。
Grid from which to repel:点取平面物体作为阻隔对象。
Method>Angle:根据代理物体和目标物体(目标物体也可以是一个代理物体)的角度计算。
Force:直接在两个物体之间产生不变的力。是缺省方式。
Positive Axis:只会在坐标轴的正方向产生阻隔。
Negative Axis:只会在坐标轴的负方向产生阻隔。
Both Axis:在坐标轴的正负方向都会产生阻隔。
Distance组>Use Distance:打开后,物体只有在空间内接近到一定距离才会发生排斥效果。
Inner/Outer Distance:内外两个区域距离,其中用falloff衰减来控制强度。
Display Distance:显示距离范围。
Grid Spacing:用于描述内外区域的网格大小。
End Force at grid edges:打开时排斥力只从网格平面发出,关闭时那个平面就变成了一个向四周无限延伸的平面,力从一个无限巨大的平面中产生。
下面的颜色块表示在计算时是否显示力以及显示的颜色。
12.Wall Seek Behavior(寻找墙壁行为):和墙壁排斥行为相反,物体向一个平面靠近。
Grid to seek:指定物体向哪个平面靠近。
Method>Angle:根据代理物体和目标物体(目标物体也可以是一个代理物体)的角度计算。
Force:直接在两个物体之间产生不变的力。是缺省方式。
Positive Axis:只会在坐标轴的正方向产生吸引。
Negative Axis:只会在坐标轴的负方向产生吸引。
Both Axis:在坐标轴的正负方向都会产生吸引。
Distance组>Use Distance:打开后,物体只有在空间内接近到一定距离才会发生吸引效果。
Inner/Outer Distance:内外两个区域距离,其中用falloff衰减来控制强度。
Display Distance:显示距离范围。
Grid Spacing:用于描述内外区域的网格大小。
End Force at grid edges:打开时吸引力只从网格平面发出,关闭时那个平面就变成了一个向四周无限延伸的平面,力从一个无限巨大的平面中产生。
下面的颜色块表示在计算时是否显示力以及显示的颜色。
13.Wander Behavior(散步行为):控制无序的走动效果。
Time组>Period:在转向一个新的方向前用多少帧过度。
Deviation:控制Period值可以自由随机变化的程度。
Turning组>Angle:设置角色能转动的幅度,取值范围为0.5—1,取1时角色会到处乱转。
Turn Period:角色做转动动作时的速度。
Deviation:控制Turn Period值可以自由随机变化的程度。
Seed:控制整个散步行为的随机动画。
下面的颜色块表示在计算时是否显示力以及显示的颜色。
Crowd参数篇
Crowd参数篇
现在我们来看看crowd模块中的另一个主要部分——crowd修改器,具体作用一言难尽,我们还是通过参数和实例部分的学习来了解。
Crowd是一个帮助物体,它有数条展卷栏,第一条叫Setup展卷栏,其中用数个按钮,每个按钮都代表了一个具体的修改器,关于这些修改器的具体使用我们在参数部分