整理max群组动画.docx

上传人:b****2 文档编号:3422309 上传时间:2023-05-05 格式:DOCX 页数:59 大小:2.78MB
下载 相关 举报
整理max群组动画.docx_第1页
第1页 / 共59页
整理max群组动画.docx_第2页
第2页 / 共59页
整理max群组动画.docx_第3页
第3页 / 共59页
整理max群组动画.docx_第4页
第4页 / 共59页
整理max群组动画.docx_第5页
第5页 / 共59页
整理max群组动画.docx_第6页
第6页 / 共59页
整理max群组动画.docx_第7页
第7页 / 共59页
整理max群组动画.docx_第8页
第8页 / 共59页
整理max群组动画.docx_第9页
第9页 / 共59页
整理max群组动画.docx_第10页
第10页 / 共59页
整理max群组动画.docx_第11页
第11页 / 共59页
整理max群组动画.docx_第12页
第12页 / 共59页
整理max群组动画.docx_第13页
第13页 / 共59页
整理max群组动画.docx_第14页
第14页 / 共59页
整理max群组动画.docx_第15页
第15页 / 共59页
整理max群组动画.docx_第16页
第16页 / 共59页
整理max群组动画.docx_第17页
第17页 / 共59页
整理max群组动画.docx_第18页
第18页 / 共59页
整理max群组动画.docx_第19页
第19页 / 共59页
整理max群组动画.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

整理max群组动画.docx

《整理max群组动画.docx》由会员分享,可在线阅读,更多相关《整理max群组动画.docx(59页珍藏版)》请在冰点文库上搜索。

整理max群组动画.docx

整理max群组动画

 

本章我们将学习使用CharacterStudio的Crowd系统来制作群组动画。

群组动画是CharacterStudio的新功能,它可以控制多个两足动物的行为,例如,制作奔跑的人群,每个人的奔跑方向和速度不同。

制作群组动画的方法是:

先将Behaviors(行为)应用到一个“代表物”上,这个代表物就是整个人群的控制物体。

然后再将这个控制物体的动作应用于人群的其他两足动物上。

在本章中,我们将会学习建立并制作群组动画;将行为(Behaviors)应用到代表物上;将群组动画应用到两足动物上。

1行为的建立

在CharacterStudio中,行为是控制代表物的动态命令,CharacterStudio提供了多种行为供用户使用。

1.1建立一个代表物

(1)在Create命令面板中,单击

按钮进入辅助物体建立面板。

(2)在ObjectType卷展栏中单击Delegate按钮。

(3)在Top视图中建立一个Delegate代表物,如图1所示。

图1建立一个代表物

在默认状态下,代表物在Top视图中的顶部是它的上方。

1.2建立一个群众物体

下面建立一个群众物体,它可以控制代表物。

(1)在ObjectType卷展栏中单击Crowd按钮。

(2)在视图中建立一个Crowd群众物体,如图2所示。

图2建立一个群众物体

Crowd物体的大小、位置和方向都不重要,但一定要使它位于代表物附近,因为我们在制作群组动画时要经常选择它。

1.3加入一个行为

下面我们要加入一个行为,并将它应用于代表物上。

在行为中,最简单的就是Wander漫游行为,它可以产生随机的移动效果。

(1)单击

按钮打开Modify命令面板,显示出Crowd系统的一系列卷展栏。

(2)在Setup卷展栏中单击New按钮,如图3所示。

图3Setup卷展栏

(3)在弹出的SelectBehaviorType对话框中,选择WanderBehavior(漫游行为)选项,单击OK按钮,如图4所示。

图4SelectBehaviorType对话框

此时在Setup卷展栏底部的列表中显示出行为的默认名称—Wander,一个新的WanderBehavior卷展栏出现在Setup卷展栏下面,如图5所示。

图5WanderBehavior卷展栏

当在一个场景中具有多个行为时,此卷展栏显示当前列表中的行为类型和参数。

(4)要改变Wander行为的名称,可单击列表中的名称,键入一个新的名称即可,如图:

MyWanderBehavior。

提示:

当一个场景中出现多个相同类型的行为时,可使用不同的名称来区分它们。

1.4分派行为

下面我们将要学习怎样将行为应用于代表物上。

(1)在Setup卷展栏中,单击

按钮,打开BehaviorAssignmentsandTeam对话框,如图6所示。

图6BehaviorAssignmentsandTeam对话框

此对话框可以将代表物组成一个小组,将行为和控制参数应用到代表物和小组上。

我们将在后面的章节中将会学习到更多的高级功能。

(2)在BehaviorAssignmentandTeams对话框的AssignmentDesign区域中,选择Delegate01和Wander选项,当选择了代表物和行为时,NewAssignment箭头按钮为激活状态。

这个按钮位于AssignmentDesign和BehaviorAssignments区域的中间。

(3)单击NewAssignment按钮。

此时工作信息被加入到BehaviorAssignments区域中。

在默认状态下,Weight的最高值为1.0,如图7所示。

图7NewAssignment按钮外框为红色

(4)单击OK按钮关闭对话框。

1.5行为运算

下面进行行为的运算。

只有通过单击Solve按钮进行行为运算,才能将行为应用于当前场景中。

(1)在Solve卷展栏中单击Solve按钮,进行行为的运算。

此时代表物在视窗中四处漫游。

提示:

可以在Motion命令面板中单击Trajectories按钮来查看代表物的轨迹,代表物的运动轨迹如图8所示。

图8代表物的运动轨迹

(2)单击

按钮播放代表物的漫游动画。

上面我们已经学习了Crowd系统的基本使用方法,现在就可以制作真正的群组动画了,在群众物体中将包含有很多代表物。

2使用多代表物和行为

本节我们将学习在CharacterStudio中制作多个代表物和人群的技巧,同时我们还会对几个新的行为进行研究。

本节的内容是建立在上一节的基础上,如果还没有完成上一节行为的建立,请先完成上一节的步骤。

2.1制作场景

下面我们来制作本节练习所使用的场景。

(1)打开或重新启动3DSMAX,然后加入一个代表物和人群物体,同上一节的操作一样。

(2)在视图的中心位置制作一个小立方体,然后再制作一个球体。

此时这两个物体为相同的圆心,如图9所示。

提示:

可以打开配套光盘CD2\Movies\CS\教学\cstudio\tutorials\tutorial_8目录中的cs_tut08_lesson2.max文件。

图9小立方体和球体

2.2复制代表物

下面我们要使用ScatterObjects工具来复制几个代表物,然后将它们放置在球体表面的周围,并使它们对准立方体。

(1)选择群众物体Crowd01,并打开Modify命令面板。

(2)在Setup卷展栏中单击

按钮,打开ScatterObject对话框,如图10所示。

图10ScatterObjects对话框

(3)在ScatterObjects对话框的Clone标签页中,单击ObjecttoClone下的None按钮。

在弹出的Select对话框中选择Delegate01选项,然后单击Select按钮关闭对话框,如图11所示。

图11选择Delegate01选项

(4)设置HowMany为9(设置复制数量)。

(5)单击GenerateClones按钮。

这样就建立了代表物的九个复制品(总共10个代表物)。

现在还不能看到复制出来的代表物,因为它们和第一个代表物是重合的。

(6)打开ScatterObjects对话框的Position标签页,在PlacementrelativetoObject区域选择第二排的On选项,如图12所示。

图12Position标签页

(7)在PlacementrelativetoObject区域单击None按钮,在弹出的Select对话框中选择Sphere01选项,然后单击Select按钮关闭对话框。

(8)单击GenerateLocation按钮。

此时代表物分散在球体表面,如图13所示。

图13代表物分散在球体表面

2.3定位代表物

代表物的克隆物都被定位在大球表面的任意位置,它们都指向同一个方向。

下面我们将它们重新定位,使它们都指向立方体。

(1)在ScatterObjects对话框的Rotation标签页中,选择LookAtTarget区域中的Selected选项。

这时None按钮处于激活状态,如图14所示。

图14Rotation标签页

(2)单击None按钮,在弹出的Select对话框中选择Box01选项,然后单击Select按钮关闭对话框。

(3)单击GenerateOrientations按钮。

此时代表物都指向立方体,如图15所示。

图15代表物都指向立方体

(4)单击OK按钮,关闭ScatterObjects对话框。

2.4加入行为

下面我们给群众物体加入行为。

(1)选择球体,按Delete键将它从场景中删除。

(2)将文件存储为cs_tut08_lesson4a.max。

下面我们将使用SeekBehavior行为和RepelBehavior行为,使代表物中的一半朝立方体的运动,而另一半背离立方体的运动。

(3)选择群众物体Crowd01,在Setup卷展栏中单击New按钮,选择SeekBehavior选项单击OK按钮,加入一个行为,如图16所示。

(4)在SeekBehavior卷展栏中,单击None按钮,在弹出的Select对话框中选择Box01选项,然后单击Select按钮关闭对话框。

此时立方体的名字显示在按钮上,如图17所示。

(5)在Setup卷展栏中,单击

按钮,打开BehaviorAssignmentsandTeams对话框。

系统每一次只能给一个代表物分配SeekBehavior行为,我们不用这样麻烦,Crowd系统可使代表物群组为一个小组,然后再给整个小组分配这个行为。

(6)在BehaviorAssignmentsandTeams对话框的Teams区域中,单击NewTeam按钮打开SelectDelegates对话框,如图18所示。

图16加入一个SeekBehavior行为

17立方体的名字显示在按钮上

18SelectDelegates对话框

这样就给小组加入了一个默认的名称Team0。

这时可以给它重新命名。

(7)将小组重新命名为SeekTeam,如图19所示。

19将小组重新命名为SeekTeam

下一步将要指定一个代表物成为SeekTeam小组中的一员。

(8)单击AddMembers按钮。

在SelectDelegates对话框中,单击Delegate01选项,然后按住Shift键的同时单击Delegate05选项来选择前五个代表物。

单击OK按钮退出。

此时代表物的名称显示在SeekTeam名单上。

(9)在AssignmentDesign区域的Team列表中,选择SeekTeam选项,在Behaviors列表中,选择Seek选项,如图20所示。

20选择SeekTeam和Seek选项

(10)单击NewAssignment按钮来分配工作。

下面我们将建立另一个RepelBehavior行为。

(11)在BehaviorAssignmentsandTeams对话框的AssignmentDesign区域中,单击NewBehavior按钮,在弹出的对话框中选择RepelBehavior选项。

此时RepelBehavior行为被加入到了Behaviors列表中。

注意:

BehaviorAssignmentsandTeams对话框保持打开状态。

(12)在Setup卷展栏中,从列表中选择Repel选项。

此时RepelBehavior卷展栏代替了SeekBehavior卷展栏。

(13)在RepelBehavior卷展栏中,单击None按钮,在弹出的Select对话框中选择Box01选项,然后单击Select按钮关闭对话框。

此时立方体的名字显示在按钮上。

(14)在Radius区域中,关闭Use选项,如图21所示。

这样使Repel行为发生在任意远的地方。

21关闭Use选项

下面建立一个新的小组。

(15)在Setup卷展栏中,单击

按钮,打开BehaviorAssignmentsandTeams对话框。

(16)在BehaviorAssignmentsandTeams对话框的Teams区域中,单击NewTeam按钮打开SelectDelegates对话框,单击OK按钮。

这样就给小组加入了一个默认的名称Team0。

将该名称重新命名为RepelTeam。

(17)单击AddMembers按钮。

在SelectDelegates对话框中,单击Delegate06选项,然后按住Shift键的同时单击Delegate10选项来选择后五个代表物。

单击OK按钮退出。

(18)在AssignmentDesign区域的Team列表中,选择RepelTeam选项,在Behaviors列表中,选择Repel选项。

(19)单击NewAssignment按钮分配工作,此时对话框如图22所示。

22对话框中分配了两个行为

(20)在Solve卷展栏中单击Solve按钮,进行行为的运算。

2.5使代表物在三维空间内移动

此时代表物的一半朝立方体的方向运动,而另一半朝背离立方体的方向运动。

但它们都在各自的X和Y轴中运动。

下面我们将使它们在三维空间中进行运动。

(1)在Setup卷展栏中,单击

按钮。

此时弹出EditMultipleDelegates对话框,如图23所示。

可以使用这个对话框来给几个代表物同时改变运动状态。

23EditMultipleDelegates对话框

(2)在EditMultipleDelegates对话框的DelegatestoEdit区域中,单击Add按钮。

(3)在弹出的Select对话框中,单击All按钮选择全部代表物,然后再单击Select按钮,如图24所示。

24选择全部代表物

这样就将场景中的所有的代表物都加入到DelegatestoEdit列表中了。

注意:

在EditMultipleDelegates对话框中不能对小组进行操作。

(4)在General区域中,关闭ConstraintoXY选项。

(5)打开ConstraintoXY旁边的SET复选框,如图25所示。

这样可以确保在退出对话框时,改变的设置可以发生作用。

25General区域

(6)单击ApplyEdit按钮。

这样就关闭了对话框,将设置应用到所有指定的所有代表物上。

(7)在Solve卷展栏中单击Solve按钮,再次进行行为的运算。

这一次,代表物将朝三个方向移动。

其中一半直接朝立方体移动,另一半朝远离立方体的方向移动。

(8)将文件存储为cs_tut08_lesson3a.max,以供下一节使用。

3使用Avoid行为和动画行为分配

在上一节我们已经注意到当代表物接近立方体时,它们会相互叠加。

本节我们将要学习使用Avoid行为来防止代表物的相互碰撞。

还将学习如图何控制行为的方向,并将其应用到Seek小组中。

3.1加入Avoid行为

(1)继续上一节的操作。

或从打开配套光盘CD2\Movies\CS\教学\cstudio\tutorials\tutorial_8目录中的cs_tut08_lesson3.max文件。

(2)选择群众物体Crowd01。

在Setup卷展栏中单击New按钮,在弹出的对话框中选择AvoidBehavior选项单击OK按钮。

就像Seek和Repel行为一样,Avoid行为有一个None按钮来指定一个需要避开的代表物。

但是,如果要想指定多个Avoid物体的话,可以使用MultipleSelection命令。

(3)在AvoidBehavior卷展栏中,单击

按钮,打开Select对话框。

(4)选择所有的物体(代表物和立方体),单击Select按钮。

(5)在Setup卷展栏中,单击

按钮,打开BehaviorAssignmentsandTeams对话框。

选择Avoid和SeekTeam选项,单击NewAssignment按钮分配工作。

此时我们便将Avoid行为应用到了Seek小组中,如图26所示。

26将Avoid行为应用到了Seek小组中

(6)在Solve卷展栏中单击Solve按钮,进行行为的运算。

代表物现在运动时相互排斥,同时也拉大了与目标立方体的距离,如图27所示。

27代表物运动时相互排斥

3.2使用显示选项

我们可以通过打开Avoid的各种显示选项来增进对Avoid行为的运作了解。

(1)在AvoidBehavior卷展栏中,打开DisplayHard和DisplayRepel选项。

此时线框显示在每个代表物的周围,如图28所示。

28时线框显示在每个代表物的周围

(2)关闭DisplayHard和DisplayRepel选项,避免画面显示过于复杂。

(3)在AvoidBehavior卷展栏的DisplayDuringSolve区域中,打开Potential、Repel和LookAhead选项,以显示运动关键帧、排斥关键帧和位置半径。

(4)在Solve卷展栏中单击Solve按钮,进行行为的运算。

在运算过程中,出现白色线框表示Potential选项正在进行运动计算,出现彩色线框表示Repel选项正在进行排斥计算,出现蓝色球体线框表示代表物所要到达的区域半径。

进行行为运算时的显示效果如图29所示。

29进行行为运算时的显示效果

3.3调节行为

因为LookAhead的参数默认为30,所以代表物之间在运动时有很大的回旋空间。

如果减少这个值,代表物之间则会缩小排斥距离。

(1)将LookAhead设置为3,如图30所示。

30将LookAhead设置为3

(2)在Solve卷展栏中单击Solve按钮,进行行为的运算。

这次,Seek小组中的代表物相互离得很近,甚至可以看到一些相互重叠现象,因为LookAhead的设置参数很小,所以在它们运动时不能给出足够的空间掉头,避免相撞。

Avoid行为与其他的行为设置一样,要根据具体的情况而定。

要很好地控制代表物之间的距离需要经过多次设置来进行试验。

3.4改变行为

下面我们要使停止代表物对立方体的行为,以使它们在到达立方体后迅速远离立方体。

制作时可以将现有的Repel行为赋予Seek小组,并使Repel行为在指定的帧中产生作用,同时取消Seek行为的作用。

提示:

首先应该播放动画,决定在哪一帧改变行为。

(1)前后移动时间滑块,寻找代表物离立方体最近的一帧。

提示:

我们选择第70帧,或接近第70帧的地方。

(2)将时间滑块移动到第0帧,单击Autokey动画按钮,准备制作动画。

(3)在Setup卷展栏中,单击

按钮,打开BehaviorAssignmentsandTeams对话框。

选择Repel和SeekTeam选项,单击NewAssignment按钮分配工作。

此时我们便将Repel行为应用到了Seek小组中。

(4)在BehaviorAssignment区域的列表中,单击SeekTeamRepel选项。

此时AssignmentDesign区域中的相应选项反白显示,BehaviorAssignment区域下面的控制按钮被激活了,如图31所示。

31BehaviorAssignment区域下面的控制按钮被激活

(5)在BehaviorAssignments区域的下方,关闭Active复选框。

此时SeekTeamRepel行为旁边的“X”符号在列表中消失了,这表示该行为处于无效状态。

这个设置是可动画的,因此我们就可以直接控制哪个行为在某一帧为激活状态。

(6)将时间滑块拖拽到第70帧。

(7)打开Active复选框,然后选择SeekTeamSeek选项,再关闭Active复选框。

(8)来回拖拽时间滑块到第70帧的两边,观察BehaviorAssignments列表。

我们看到,在Repel行为打开的同时,Seek行为被关闭了。

(9)关闭对话框,再关闭Autokey动画按钮。

(10)在Solve卷展栏中单击Solve按钮,进行行为的运算。

此时在第70帧,代表物停止追踪立方体(突然掉头,向相反方向运动)。

提示:

要改变突然掉头动作为缓慢掉头动作的话,可以改变Weight的值,这个设置可以控制代表物的转弯行为,范围是0-1.0。

4用CognitiveControllers控制器制作动画

在上一节中,我们学习了如图何通过调节Active复选框将一个小组从一个行为转换到另一个行为上,这是两部分工作。

在进行此项工作时,应先使用Solve按钮计算第一部分的工作,然后改变它的相应参数,最后再计算第二部分的工作(这个方法比较死板)。

若是更加复杂的工作,或代表物以不同的距离进行移动,则设置起来就更加麻烦了。

为了方便控制较为复杂的操作,可以将CognitiveControllers控制器赋予代表物和小组,而不使用行为。

这个CognitiveControllers控制器可以有多个状态框。

每一个状态框可以包含一个或多个行为,每一个行为又有不同的控制参数。

可以将它们设置为一个脚本,并给它们设置过渡动画。

最后由MAXScript脚本工具来自动计算代表物的动态。

在本节中,我们将使用CognitiveController控制器制作代表物到达立方体时,将小组的行为由Seek转变到Repel。

4.1建立行为

(1)打开cs_tut08_lesson4.max文件。

这个场景包含了10个代表物,它们分布在立方体周围。

(2)选择群众物体Crowd01,打开Modify命令面板。

(3)单击

按钮,打开EditMultipleDelegates对话框,单击Add按钮,选择所有的代表物,关闭ConstraintoXY复选框。

单击ApplyEdit按钮关闭对话框。

(4)单击Setup卷展栏的New按钮,加入一个Seek行为和Repel行为,将立方体设置为两个行为的目标。

(5)在列表中Repel行为,在Radius区域关闭Use复选框。

4.2使用CognitiveControllers控制器

我们不将这些行为赋予代表物,而是使用它们建立一个CognitiveControllers控制器来将行为赋予代表物。

(1)在Setup卷展栏中,单击

CognitiveController按钮。

(2)在弹出的CognitiveControllerEditor对话框中,单击工具栏中右边的New按钮。

这样就建立了一个名为CognitiveController的控制器,并激活了

工具,如图32所示。

32建立了一个名为CognitiveController的控制器

(3)在CognitiveControllerEditor对话框中分别在不同的位置单击两次。

这样就给控制器加入了两个状态框,如图33所示。

每一个状态框可以包含多个行为。

33给控制器加入两个状态框

(4)右击对话框退出状态框建立模式,然后右击红色状态框打开State对话框,在其中可以更改状态框的名称以及其他操作。

(5)在State对话框中,单击最上面的文本框,将名称改为Seek,如图34所示。

34State对话框

(6)单击Add按钮。

在SelectBehaviors对话框中,单击SeekBehavior选项,然后单击OK按钮,如图35所示。

35SelectBehaviors对话框

此时Seek行为在列表中呈反白显示,可以改变它的Weight权重值。

提示:

因此如果在状态框中有几个行为的话,提高Weight权重值会使该行为起主导作用。

(7)单击Seek对话框右上角的

按钮关闭对话框。

(8)用同样的方法将第二个状态框的名称改为Repel,并给它赋予Repel行为。

此时CognitiveControllerEditor对话框,如图36所示。

36设置后的CognitiveControllerEditor对话框

4.3建立一个过渡动画

我们需要在两个状态间加入一个过渡动画,并建立一个简短的脚本来设置CognitiveController控制器何时在这两个行为之间进行转换。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2