Unity3D引擎与虚拟现实(VR)项目开发(微课版) 课件 第12章 第一人称射击游戏_第1页
Unity3D引擎与虚拟现实(VR)项目开发(微课版) 课件 第12章 第一人称射击游戏_第2页
Unity3D引擎与虚拟现实(VR)项目开发(微课版) 课件 第12章 第一人称射击游戏_第3页
Unity3D引擎与虚拟现实(VR)项目开发(微课版) 课件 第12章 第一人称射击游戏_第4页
Unity3D引擎与虚拟现实(VR)项目开发(微课版) 课件 第12章 第一人称射击游戏_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

第1页第十二章第一人称射击游戏

第2页12.第一人称射击游戏12.1如何创建第一人称角色1.创建一个EmptyObject(层级面板上右键选择CreateEmpty)2.添加一个CharacterController组件3.添加一个AudioSource组件4.把MainCamera作为主角的子组件(眼睛).

第3页12.第一人称射击游戏12.2实现漫游效果1.创建RoleController脚本,脚本里的重点代码都有注释。1)角色的移动heroControl.Move(moveDirection*speed*Time.deltaTime);2)判断是否在地面上

if(heroControl.isGrounded)2.将RoleController脚本绑定到主角模型上。3.配置RoleController脚本的公有变量如右图所示。

第4页12.第一人称射击游戏12.3实现射击效果(1)武器设置。在摄像机下先创建一个空物体,取名叫做gun,然后将武器拖到gun下面,通过旋转和位移操作,使得武器能够显示在合理的位置处。将摄像机的Near的值设为0.01,给武器添加一个AudioSource组件。

第5页12.第一人称射击游戏12.3实现射击效果(2)设置准心。创建一个Image,选中Canvas(UI->Image),将准星图片赋给Image控件,准星图片要位于屏幕的正中央。。

图12-4主菜单界面第6页12.第一人称射击游戏12.3实现射击效果(3)射击特效的设置。

1)将下图的箭头所指的模型拖到枪口的位置

图12-4主菜单界面第7页12.第一人称射击游戏12.3实现射击效果(3)射击特效的设置。

2)点击右边的Play来调试火花效果是否在枪口位置处

图12-4主菜单界面第8页12.第一人称射击游戏12.3实现射击效果(4)编写脚本实现射击效果。

重点代码解析:

1)射击效果通过射线实现

RaycastHithit;

//射线Physics.Raycast(TranCamera.position,TranCamera.transform.forward,outhit,1000,LayTarget);这里Raycast方法的四个参数从左到右分别表示发射位置、发射方向、射中目标、最远距离以及射击图层

2)射击特效的实现

muzzleFlash.Play();//射击特效是粒子,通过调用Play方法实现播放效果。

3)播放音效

Audio.PlayOneShot(FireAudio,1F);

图12-4主菜单界面第9页12.第一人称射击游戏12.3实现射击效果(5)将脚本绑定到武器上,并绑定参数,如下图所示:

图12-4主菜单界面第10页12.第一人称射击游戏12.3实现射击效果(5)将脚本绑定到武器上,并绑定参数,如下图所示:

图12-4主菜单界面第11页12.第一人称射击游戏12.3实现射击效果(6)绑定BulletEffect变量的模型的位置如下面截图所示:

图12-4主菜单界面第12页12.第一人称射击游戏12.4实现UI界面(1)分别创建三个文本,其中生命值放置在左下方,子弹总数以及当前子弹数放置在右下方

图12-4主菜单界面第13页12.第一人称射击游戏12.4实现UI界面(2)添加血条屏幕,当主角被伤害到一定程度时出现血条屏幕,初始时血条屏幕是隐藏的

图12-4主菜单界面第14页12.第一人称射击游戏12.4实现UI界面(3)添加主角死亡UI界面,初始时死亡界面是隐藏的。

图12-4主菜单界面第15页12.第一人称射击游戏12.5主角生命力的设置(4)编写脚本HeroLifeValue.cs主要方法说明:Invoke("ColorRestore",0.1f);//0.1秒后调用第一个参数指带的方法Blood.gameObject.SetActive(false);可以显示和隐藏UI元素。

图12-4主菜单界面第16页12.第一人称射击游戏12.6添加多个武器

图12-4主菜单界面第17页12.第一人称射击游戏12.6添加多个武器在gun的属性面板中添加Animator组件,如下图所示:将Weapons.cs添加到gun空物体上。完善AssaultRifle.cs文件。

第18页12.第一人称射击游戏12.7武器的拾取将红色箭头指示的武器拖到场景中。

图12-4主菜单界面第19页12.第一人称射击游戏12.7武器的拾取分别给prop里的子组件AssaultRifle添加PropsWeapon.cs。

第20页12.第一人称射击游戏12.8NPC死亡后变成道具在每个NPC属性面板中添加一个DeathLegacy.cs。在原先的LifeValue.cs文件中添加一个脚本:GetComponent<DeathLegacy>().Death();

第21页12.第一人称射击游戏12.8添加一个油桶场景中添加一个油桶,然后给油桶添加一个碰撞体,接着添加一个。Explosives.cs脚本。位置如下图所示:

第22页12.第一人称射击游戏12.8添加一个油桶接着添加一个Explosives.cs脚本。ExplodeEffect所对应的模型位置是:

第23页12.第一人称射击游戏12.8添加一个油桶接着在AssaultRifle脚本添加如下代码:

//可以打爆汽油桶if(hit.collider.gameObject.tag=="Explosives")

{h

温馨提示

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

评论

0/150

提交评论