飞盘射击案例
1.飞盘射击游戏演示
试玩《飞盘射击》游戏成品Demo。
2.飞盘射击要点分析
1.UI 展示
游戏开始UI:游戏名称,游戏玩法,开始按钮。
游戏进行UI:显示时间倒计时,显示当前分数。
游戏结束UI:分数,返回按钮。
2.主角控制
持枪的一个手臂,枪口的朝向一直是朝向鼠标在屏幕上的位置。
按住鼠标左键发射干掉目标。
3.AI 控制
飞盘在空中随机位置生成。
当枪的射线碰撞到飞盘后,飞盘破碎掉落,分数加1 分。
4.音效特效
游戏背景音乐,射击声。
3.飞盘射击项目准备
1.新建项目
使用Unity 创建一个新项目,并且建好必备的资源存储文件夹。
2.UnityPackage 包
Unity 资源的一种打包专用格式,类似于电脑上的RAR 压缩包,ZIP 压缩包。
在网上搜索下载的Unity 的插件,模型,特效等资源大多数都是这个格式。
3.导入项目资源
两种导入方法:
1)鼠标选中UnityPackage 资源包,直接拖拽到项目的Project 面板;
2)在Project 面板Assets 文件夹中点击鼠标右键–>Import Package–>Custom Package… 浏览选择对应的资源导入。
将《飞盘射击》必备的素材资源导入项目中。
4.项目场景基本设置
1)背景模型导入,调整灯光;
2)手臂模型导入,调整位置;
飞盘射击案例之角色控制
1.鼠标控制手臂朝向
1.使用射线控制手臂朝向
主摄像机发射射线,与场景中的物体碰撞,获取一个碰撞点,然后手臂“朝向”这个点。
Transform.LookAt(Vector3):朝向(面向)世界中的一个点。
2.场景背景模型添加碰撞器组件
添加Mesh Collider 组件,使用简模进行碰撞检测。
简模模型的作用:降低物理运算资源消耗,提高游戏性能;
Vertices(verts):顶点个数,Mesh 网格是由顶点组成面,面组成体。
顶点个数越少,计算量越小。
3.控制手臂的旋转轴
手臂应该是以肩关节为轴进行旋转。
和Unity 初级课程上部《疯狂教室》案例中旋转门的处理方式一样,新建父物体,通过父物体控制子物体。
4.Debug 绘制测试线
枪口到碰撞点直接绘制一根测试线。
Debug.DrawLine(Vector3, Vector3, Color):绘制线
和Debug.DrawRay()用法一样。
Transform.FindChild(string):在当前物体的子物体中查找游戏物体。
2.枪口添加激光特效
1.枪口位置添加LineRenderer 组件
在枪口这个空游戏物体上添加LineRenderer 组件,设置相关属性。
LineRenderer.SetPosition(int,Vector3):设置线的位置。
int:位置的索引值;
Vector3:该位置所在的坐标值;
2.从其他项目中导出资源包
选中Project 面板中相应的资源,然后鼠标右键–>Export Package…