xsi群组动画解析及实例应用

xsi群组动画解析及实例应用

ID:12497025

大小:385.50 KB

页数:14页

时间:2018-07-17

xsi群组动画解析及实例应用_第1页
xsi群组动画解析及实例应用_第2页
xsi群组动画解析及实例应用_第3页
xsi群组动画解析及实例应用_第4页
xsi群组动画解析及实例应用_第5页
资源描述:

《xsi群组动画解析及实例应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、XSI群组动画伴随着影视制作软硬件技术的不断发展,群组动画作为一个新兴的技术领域,越来越多的被人们所关注,这种技术可以模拟众多角色的运动,大场面的表现越来越真实,而使拍摄成本下降很多。早在70年代,好莱坞的导演们就开始试图表现这些大场面,那时的技术还不是很完善,对于群组动画主要使用的是抠像,合成,拷贝的方法,对于镜头和导演意图的表现都有很大的局限性。如《宾虚》等影片。在1992年,《蝙蝠侠回归》首先使用了三维的群组动画,影片《阿甘正传》中的反越战大规模示威也是如此。而如今,当我们看到《指环王》、《星战》、《Irobot》、《亚历山大》、《最后的武士》等影片时,我们发现群组动画已经成为大场面表现

2、的标志之一,而且使用也越来越灵活,越来越复杂,场面也越来越壮观,对于剧情的推动起到了更好的作用。 (韩国影片《太极旗飘扬》中群组动画的使用  见图1,图2)         纵观群组动画的发展,主要可以分为两大类1. 非智能类(基于图像或动作序列的)非智能类的群组动画,制作难度较低,当以合成为主时,其主要是对单一或多个素材的拷贝来实现的;如果是以三维软件为主时,其主要是以粒子序列的形势表现的,主要有SpriteParticle(序列粒子),InstanceParticle(实物粒子)两大类,这类群组制作的优点就是难度较低,对于不太复杂的场景、行为可以很好的完成,如简单飞鸟,人物行走等。但是由于

3、其行为的是基于序列的,这也就决定了行为的单一性,如果遇到比如说碰撞物体、寻找行为或复杂路径等情况,这种制作方式就会显得力不从心。        (影片《最后的武士》对战争场面使用了这类的群组制作 见图3) 2. 智能类(基于节点控制,可选择行为的)或说是AI类这一类的制作是基于节点控制、选择的,也就是说在某种情况下,选择某种行为。这种方式类似于人的基本活动,所以也就被现在很多的影片采用。它可以实现角色在复杂地面的行走,而不会产生滑步,而且可以使角色具备动力学的特性,可以开发战斗,寻找,混合等多种复杂行为。由于这种制作方式是通过节点激活行为的方式来实现的,也就为事件制作的深度和广度提供了可

4、能。但是这类制作有一定的难度,不但要有一定的编程技巧,还要能很好的规划角色的行为流程。现在国际使用的这类商业制作软件主要有以下几种:Massive、Behavior和Aitool,接下来我们以Behavior来做一些实例分析   (影片《IROBOT》使用Massive制作了复杂的群组动画   见图4) Behavior是AVID公司出品的一个专门用于群组动画制作的软件,我们首先来了解一下这个软件的工作流程       (工作流程图 见图5)       这个软件要与SOFTIMAGE

5、XSI配合使用,首先在要在XSI中进行模型,动画及准备设定,之后通过DotXSI文件输入到BEHAVI

6、OR中进行群组动画制作,完成后再通过DotXSI倒入XSI或直接使用MentalRay渲染。而在BEHAVIOR内部的制作流程可参考下图        (BEHAVIOR内部工作流程图  见图6)  在BEHAVIOR内部包含主代码设计、常数文件设计、节点设计、文件输出几大部分       (BEHAVIOR界面   见图7)                                             (动作捕捉现场 见图8、见图9)而对于原始的动作数据我们一般会采用MotionCapture的方式,这样可以节省大量的时间和人员我们先来看一下BEHAVIOR的基本例子1.打开BEH

7、AVIOR。2.按F11或点击XsiViewer3.用ImportXsiActor倒入在XSI内设置好的角色4.用鼠标右键点击角色,你会看到角色预设置好的动画目录,这时随便点那个动画项目,角色就会运行该项目定义的行为 (见图10) 5.接着我们在Piccolo内创建一个简单的行为代码,代码的名字叫Startup.pcuseconstants"drive_constants";//调用常数参数functionmain()//主程序{ engine.RunScript("rtk",nil);//调用内核脚本  globalvarworld=engine.GetCurrentWorld();//声明

8、全局变量,确定内核脚本影响当前模型场景  vargold=Actor("Gold0");//将模型引入一个变量中,以便进行控制  varsa;//声明sa变量varsa=CreateSkillActivity(gold,"talk",50);//用函数CreateSkillActivity为角色加入动画条目“talk”并使该行为每次开始延时50毫秒  sa.SetFlags(drvSKILLACT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。