教学课件 11项目十一:动画系统-游戏动画制作_第1页
教学课件 11项目十一:动画系统-游戏动画制作_第2页
教学课件 11项目十一:动画系统-游戏动画制作_第3页
教学课件 11项目十一:动画系统-游戏动画制作_第4页
教学课件 11项目十一:动画系统-游戏动画制作_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模块三:制作游戏界面与动画特效项目十一:动画系统—游戏动画制作UnityGameEngineUNITY模块三制作游戏界面与动画特效UGUI系统

——《迷宫寻宝》游戏界面设计动画系统——游戏动画制作地形引擎——游戏场景制作声光技术——声光特效项目十项目十一项目十二项目十三粒子系统——粒子特效项目十四寻路技术——导航寻路动画项目十五背包系统——物品拾取动画项目十六任务概述利用动画系统可以节约创作时间和资源,精美的动画设计可以增强游戏的趣味性,提高用户体验,这些都需要设计师既具备一定的技术能力,又要有艺术创意,同时,更有责任确保游戏内容的健康和有益,这是身为设计师社会责任的体现。本项目我们将接触Unity动画系统中的Animation剪辑动画、Timeline动画、Animator动画以及BlendTree动画。行业PPT模板/hangye/学习目标011.能够正确应用Animation与Timeline制作动画2.能够正确应用Animator制作动画教学目标重难点重点:TimeLine与Animator动画难点:BlendTree动画项目实现02任务1:Animation剪辑动画1.利用导入的模型catus2.fbx与Cube布置场景。制作步骤提示2.为Cube添加一个Animation组件。3.选择Window菜单下的Animation,打开Animation窗口。项目实现02任务1:Animation剪辑动画4.利用Position属性制作cubemove动画,实现Cube左右往复移动的动画效果。制作步骤提示5.利用Rotation属性制作cuberotate动画,实现Cube旋转的往复动画效果。项目实现02任务1:Animation剪辑动画6.用同样的方法制作cactus模型的移动动画,移动距离与Cube相同。制作步骤提示7.为Cube和cactus模型添加刚创建的动画剪辑片段。项目实现02任务1:Animation剪辑动画8.为Cube添加change脚本,控制Cube在3秒后播放旋转动画。制作步骤提示publicclasschange:MonoBehaviour{Animationani;//声明Animation组件

voidStart(){ani=GetComponent<Animation>();//获取到游戏物体的Animation组件

if(ani.isPlaying)//判断动画是否播放

{ani.CrossFade("cuberotate",3f);//3秒后淡入到名称为cuberotate的动画

}}}项目实现02任务2:TimeLine过场动画1.将给出的scene.unitypackage场景资源包和Jammo-Character.unitypackage角色资源包导入到Unity中。2.利用Animation制作门两侧风车旋转的动画。制作步骤提示3.单击Animation窗口下面的Curves按钮,将Rotation.y的动画曲线选中,单击右键,选择BothTangents下的Linear,即将当前的运动曲线改为线性,两个关键帧都进行同样的设置,此时,风车的运动效果为匀速运动。项目实现02任务2:TimeLine过场动画4.将leftrotate.anim动画剪辑添加到风车的Animation组件处。制作步骤提示5.选中leftrotate.anim动画剪辑,将WrapMode属性设置为Loop,此时,风车会一直旋转下去。6.同理制作右侧风车的旋转动画。项目实现02任务2:TimeLine过场动画7.将人物模型Jammo_Player放到场景中门外的位置。制作步骤提示8.创建一个空物体,将其轴心调整至门的左侧。9.将门拖拽到空物体上,使门的轴心位于左侧。项目实现02任务2:TimeLine过场动画10.打开Window菜单下的Timeline窗口,为空物体创建一个timeline文件。11.将空物体拖动到Timeliness窗口左侧空白处,在弹出的菜单中选择AddAnimationTrack命令。制作步骤提示12.单击录制按钮,在Transform组件中添加位置和旋转关键帧。13.第120帧让门向后移动一段距离,第300帧让门呈现打开的效果,结束录制,门逐渐打开的动画制作完成。项目实现02任务2:TimeLine过场动画14.将人物拖拽到Timeline窗口,添加一个人物运动轨道。将角色预置动作a_Idle拖动到人物运动轨道上,调整其时间长度至300帧,再次将a_Running拖动到人物运动轨道上,放置在预备动作后面,调整其时间长度至480帧。制作步骤提示15.再次将人物模型添加到时间线,增加一个运动轨道,点击录制按钮,在第300帧为Position添加关键帧,在第480帧处再次为Position添加关键帧,调整其Z位置,使其移动到场景中,结束录制,项目实现02任务2:TimeLine过场动画16.用同样的方式,可以利用关键帧制作角色跑进来后转身的动作,或者在角色跑步动作后面添加其它的动作,如VictoryIdle、FirstPump等,这部分可以根据自己的喜好自行添加,至此,角色进入场景的过场动画制作完成。制作步骤提示项目实现02任务3:Animator动作转换动画1.导入Jammo-Character.unitypackage角色资源,并将角色模型放置到场景中。2.创建一个角色动画控制器JammoAnimator,创建一个空动画状态单元。制作步骤提示3.选择创建的空动画状态单元,将其命名为idle,并为其添加Motion状态a_Idle。4.用同样的方法依次为其添加三个动画状态单元,分别为walk、standing、run。项目实现02任务3:Animator动作转换动画5.在idle动画状态单元上单击鼠标右键,选择MakeTransition,并在另一个动画状态单元walk上单击,即可完成从idle到walk两个动画状态的连接。6.同理将全部动画状态机搭建完成。制作步骤提示7.向动画控制器添加参数,一个为Float类型参数Time,另一个为Bool类型的参数State。项目实现02任务3:Animator动作转换动画8.为idle到walk设置过渡条件,即Time的值大于0.1时,让其过渡到walk状态,同时,取消HasExitTime选项。制作步骤提示9.同理,设置walk到standing的动作过渡参数为大于0.5,保留HasExitTime选项。项目实现02任务3:Animator动作转换动画10.设置standing到walk的动作过渡参数为小于0.5,保留HasExitTime选项。制作步骤提示11.设置walk到idle的动作过渡参数为小于0.1,取消HasExitTime选项。项目实现02任务3:Animator动作转换动画12.设置idle到run的动作过渡参数为State值为true,直接过渡。制作步骤提示13.设置run到idle的动作过渡参数为State值为false,直接过渡。项目实现02任务3:Animator动作转换动画14.为角色添加脚本stateChange。15.将动画控制器JammoAnimator添加到角色Animator组件的Controller处。16.运行动画,当按键盘上的W键时执行走路到摔倒的动作,按R键执行跑步的动作,动画制作完成。制作步骤提示publicclassstateChange:MonoBehaviour{Animatoranim;//声明Animator组件

voidStart(){anim=GetComponent<Animator>();//获取Animator组件

}voidUpdate(){floatv=Input.GetAxis("Vertical");//获取垂直轴方向的参数

anim.SetFloat("Time",v);//传递控制参数

if(Input.GetKeyDown(KeyCode.R))//判断是否按下了R键

anim.SetBool("State",true);//传递控制参数

if(Input.GetKeyUp(KeyCode.R))anim.SetBool("State",false);}}项目实现02任务4:BlendTree混合树动画1.导入unitychan-Character.unitypackage角色资源,并将其放置在场景中。2.为角色创建一个动画控制器chanAnimatorController,创建一个动画混合树。制作步骤提示3.双击打开该混合树,在Parameters选项处为其添加两个Float类型的参数speedx和speedy。项目实现02任务4:BlendTree混合树动画4.单击选择混合树,设置混合树的类型为2DFreeformDirectional,同时设置Parameters参数分别为speedx和speedy。制作步骤提示5.为混合树添加动作并设置参数。项目实现02任务4:BlendTree混合树动画6.为角色添加脚本blendtree。7.运行游戏,按W键会执行向前走后向前跑的动作,按A键会执行向左走后向左跑的动作,按D键会执行向右走后向右跑的动作,按S会执行失败的动作。制作步骤提示publicclassblendtree:MonoBehaviour{privateAnimatorani;publicfloatxDampTime=0.5f;//定义间隔时间

publicfloatyDampTime=0.5f;voidStart(){ani=GetComponent<Animator>();}voidUpdate(){floath=Input.GetAxis("Horizontal");//获取水平轴方向的参数

floatv=Input.GetAxis("Vertical");//获取垂直轴方向的参数

ani.SetFloat("speedx",h,xDampTime,Time.deltaTime);//经过多长时间到达指定的值

ani.SetFl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论