目录

实验一... 4

(1)设计如下UI界面,其中包含了canvas、Panel、Text、Button、Image、RawImage等UI元素... 4

(2)实现点击Play按钮转换场景,点击Exit退出游戏的功能... 5

(3)主界面添加音量滑动杆、静音等功能;... 7

实验二... 13

(1)在3d MAX中制作一扇门,实现“开门”“关门”动画,并将动画导出。... 13

(2)在unity设计场景... 14

实验三... 16

(1)首先我在u+上看完了蔡老师的相关课程,感触很深... 16

(2)于是开始找素材和教程,这里我学习的是b站蔡先森_rm-rf的课,很巧,这位b站的老师也姓蔡。... 16

(3)在unity设计“人物”的动画:静止、走路... 16

(4)实现相机跟随... 18

(5)设置奔跑... 22

(6)设置重力... 22

(7)设置刚体,防止模型掉下去... 23

(8)设计跳跃... 25

(9)设置游戏菜单... 27

(10)了解射线,实现射击... 31

(11)实现射速控制... 35

(12)设计射击子弹数量,打空一个弹夹... 35

(12)增加子弹显示界面ui 36

(13)实现子弹的装填... 38

(15)人物行走奔跑脚步声... 39

可以看到已经成功播放了。... 40

(16)添加枪口火焰,声音,光效... 40

(17)添加弹孔和火花特效... 46

(19)增加拿出枪械、静止、查看武器动画... 50

(20)增加行走、奔跑动画... 54

(21)P21增加换子弹的两种动画... 57

(22)P22增加开火、瞄准逻辑... 60

(23)P23增加瞄准开火动画... 62

(24)P24实现射击抛出弹壳效果... 64

(25)实现半自动和全自动模式... 66

实验四... 70

(1)添加音乐配置... 70

(2)添加键位提示... 71

(3)修复bug,优化整体逻辑... 72

(5)编译手机端apk. 102

(6)心血来潮适配安卓版apk—添加摇杆... 111

(7)无意间看到unity做ar的例子,突发奇想—适配ar!... 118

(8)移动端小结... 125

实验1:  仿真系统的UI界面设计

  1. 实验目的:

(1)熟悉Unity中UI界面的设计与编写

(2)熟悉UI界面中场景转换,UI与场景内容相互关联的方式。

  1. 实验内容:

(1)自行设计一个UI界面;

(2)UI界面中包括canvas、Image、RawImage、Button等多种UI元素;

(3)实现点击Play按钮转换场景,点击Exit退出游戏的功能;

(4)实现主界面添加音量滑动杆、静音等功能;

(5)为UI界面单独设置一个场景,并设置编号为0。

实验一

(1)设计如下UI界面,其中包含了canvas、Panel、Text、Button、Image、RawImage等UI元素

(2)实现点击Play按钮转换场景,点击Exit退出游戏的功能

创建脚本:Login.cs

在脚本中添加:using
UnityEngine.SceneManagement;

脚本内容:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.SceneManagement;

public class Login : MonoBehaviour

{

public void Enter()

{

SceneManager.LoadScene(1);

}

public void ReturnUi()

{

SceneManager.LoadScene(0);

}

public void ExitGame()

{

Application.Quit();

}

}

脚本中编号为1的场景在之后的实验中会逐渐完善。这次受到蔡老师上课的启发,决心做一款属于自己的fps射击游戏。

将脚本中的方法挂载到Button上

然后将enter()方法添加进去,如图所示

同理,将exit()方法添加到第二个Button中

接下来运行程序,点击“进入我的世界”,可得到:

(3)主界面添加音量滑动杆、静音等功能;

在脚本管理器中添加Audio Source,将下载好的音乐文件放入AudioClip中(其中Unity支持AIFF WAV MP3 OGG等)

如下图所示:

如图在Toggle中添加脚本管理器

并找到mute

在Slider中添加volume

添加脚本:MusicControl.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class MusicControl : MonoBehaviour

{

// Start is called before the first frame update

void Start()

{

}

// Update is called once per frame

void Update()

{

MusicPlayControl();

}

void MusicPlayControl()

{

if (Input.GetKeyDown(KeyCode.O))

{

GetComponent<AudioSource>().Pause();

}

else if (Input.GetKeyDown(KeyCode.P))

{

GetComponent<AudioSource>().UnPause();

}

}

}

该脚本的意思是当按下P键时音乐暂停播放,按下空格键时音乐继续播放

注意:将这两个选项选中

并将下面选项去掉(Toggle中)

最终的UI设计界面:

unity 3d 原创制作射击游戏(一)相关推荐

  1. unity 3d原创制作射击游戏(全完整版+安卓apk编译)

    目录 文章目录 目录 实验一 (1)设计如下UI界面,其中包含了canvas.Panel.Text.Button.Image.RawImage等UI元素 (2)实现点击Play按钮转换场景,点击Exi ...

  2. java第一人称射击_[转] Unity实践 --- 第一人称射击游戏_

    一. 环境 地图资源,包含了全地图以及灯光.天空盒子. 扩展部分. 不可穿透的部分需要在bake时设置为static. 二. 设置 1. 相机 1> 主相机 挂载控制视角的c#组件. tag为m ...

  3. 【Unity】第三人称射击游戏开发过程之瞄准状态设计(TPS.S.P1)

    [Unity]第三人称射击游戏开发过程之瞄准状态设计(TPS.S.P1) 设计整体的结构与模式 瞄准状态的设计 瞄准相机 瞄准状态 瞄准时的鼠标移动速度限制 瞄准点的处理 角色在瞄准状态下的旋转 瞄准 ...

  4. 【Unity】第三人称射击游戏开发过程之开火设计(TPS.S.P2)

    [Unity]第三人称射击游戏开发过程之开火设计(TPS.S.P2) 枪械的开火 开火流程 开火前的准备 实体子弹的准备 开火逻辑 这一章我们来设计基础的枪械功能. 枪械的开火 我现在选择的武器是41 ...

  5. Unity 3D数学\图形学基础-游戏开发(向量)

    Unity 3D数学\图形学基础-游戏开发(向量) 向量运算的几何意义 标量与向量的计算 向量的模长 标准化向量 normalize 0向量 向量与向量的加减法 两点间距离公式(向量间距离) 点积,点 ...

  6. Unity 3D + Vuforia制作AR人物互动

    原文地址:http://blog.csdn.net/ekhsofxe_ibb/article/details/18655905 话说之前说过了咱与本地漫展商合作推出AR app,虽然他们之前也已经做过 ...

  7. flash mx拖拽实例_在Flash MX中制作射击游戏

    flash mx拖拽实例 Have you ever fancied venting your frustration virtually on targets of your choice, bui ...

  8. Unity 3d 粒子系统制作

    使用Unity 3d 制作粒子光环和海洋 效果图 共有三个粒子系统对象和对应的脚本,图中有两个光环和粒子海洋,期中红色圈是内环,外环的颜色是不断变化的且成顺时针方向转动,海洋在两个光环靠后的位置进行运 ...

  9. android unity hook,[原创]Unity3d安卓游戏DLL动态调式与HOOK基础

    [原创]Unity3d安卓游戏DLL动态调式与HOOK基础 2016-4-4 02:40 8207 [原创]Unity3d安卓游戏DLL动态调式与HOOK基础 2016-4-4 02:40 8207 ...

最新文章

  1. android 测试工具,Android开源项目第四篇:开发及测试工具篇
  2. 如何生成符合高斯分布的数据集
  3. 数据埋点太难!知乎的做法有何可借鉴之处?
  4. 双层json报文样例_json报文解析
  5. excel设置默认值_职场办公必备的7个Excel应用技巧解读,易学易懂,收藏备用!...
  6. hdu5651 xiaoxin juju needs help(逆元)
  7. 设计模式--迭代器模式(C++实现)
  8. python程序员年薪20万_据说做好这几道考题的python程序员年薪超20万
  9. 1月16日学习内容整理:存储库MongoDB之pymongo模块
  10. 2021-09-14 if__name__ == ‘__main__‘的用法
  11. 采用Eclipse中间Maven构建Web项目错误(一)
  12. mysql清理碎片_清除MySQL表空间碎片详细方法
  13. 小兮码 linux版本,【图片】单字利器:二笔顶功——小兮码【输入法吧】_百度贴吧...
  14. vue3 + router-view + keepalive parentComponent.ctx.deactivate is not a function
  15. Androi实现三个页面跳转
  16. 《怪物猎人》交互设计如何调动玩家大脑
  17. ppt演讲计时器_速来!提前面试PPT演讲干货!
  18. 百度入股星美 BAT搅动影院市场
  19. 几何-九种二次曲面类型
  20. 华大单片机SW 复用

热门文章

  1. busybox的init
  2. 深入了解MSB和LSB
  3. 修改Vue项目网页标题和ico
  4. MNIST数据集的gist特征提取(含全部实例代码下载地址)
  5. 关于证明PAC可学习
  6. 马尔可夫过程(Markov Process)和马尔可夫链
  7. 在C#中使用MSMQ的方法
  8. gunicorn flask的请求流程
  9. 英文最基本的五个时态
  10. 【论文笔记】SIFA——基于GAN的双向跨模态无监督域适应框架