unity 3d 原创制作射击游戏(一)

2023-11-10

目录

实验一... 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设计界面:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity 3d 原创制作射击游戏(一) 的相关文章

  • VLC for unity 插件如何使用

    VLC for unity 插件如何使用 先去下载一个VLC播放器 安装完成后 然后导入插件链接https download csdn net my 这个插件我的另一个上传资源里有 或者到商店去下载 这个插件链接下载完是一个txt文档 里面
  • 如何启用 CSF 防火墙 Web UI

    ConfigServer 安全和防火墙 CSS 是适用于 Linux 系统的基于 iptables 的防火墙 在我们之前的教程中阅读了CSF在Linux系统上的安装教程 CSF 还提供内置 Web UI 用于从 Web 界面管理防火墙 在本
  • UI自动化测试的正确姿势 —— Airtest设备连接&API详解第一篇

    一 背景 Airtest作为一款优秀的自动化测试工具 有着强大的API功能 处理日常自动化测试过程中需要的各类操作 今天就给大家逐一介绍关于设备连接和常用API部分 结合自动化测试中的各类需求 看看如何通过使用Airtest来快速实现 二
  • 【UI自动化测试】Jenkins配置

    前一段时间帮助团队搭建了UI自动化环境 这里将Jenkins环境的一些配置分享给大家 背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测
  • Unity万向节死锁解决方案(2023/12/4)

    1 万向节死锁无法解决 这是因为它的特性就是如此 就像玻璃杯就是玻璃 这不可否认 别钻牛角尖昂 2 大多数情况下欧拉角足够用 例如 CF 摄像机不可能绕z轴旋转 x轴旋转也不会超过九十度 因为那样人物的腰子会被扭断 塔防游戏 保卫萝卜 吃鸡
  • mixamo根动画导入UE5问题:滑铲

    最近想做一个跑酷游戏 从mixamo下载滑铲动作后 出了很多动画的问题 花了两周时间 终于是把所有的问题基本上都解决了 常见问题 1 动画序列 人物不移动 2 动画序列 人物移动朝向错误 3 蒙太奇 人物移动后会被拉回 4 蒙太奇 动画移动
  • 基于Selenium和python的UI自动化测试方案

    一 概述 对于比较复杂的系统 每次有小的迭代测试同学不可能会把所有的流程验证一遍 如果开发无意改动影响了某些流程而测试又没测试到 就可能会出现生产问题 因此很有必要通过自动化的测试去确保系统的稳定性 自动化测试可以选择接口自动化测试和UI自
  • WPF-UI HandyControl 控件简单实战

    文章目录 前言 UserControl简单使用 新建项目 直接新建项目 初始化UserControl Geometry 矢量图形 额外Icon导入
  • UI 易用性测试 以及自动化实现!

    GUI 是指图形用户界面 UI 是指用户界面 对于纯软件系统 这两者没有本质的区别 GUI易用性测试与 UI 易用性测试内容一致 但是如果测试的对象是一个产品 这两者则存在区别 对于产品 UI 则不仅仅包括 GUI 还包括产品硬件部分的测试
  • 【转载】【Unity】WebSocket通信

    1 前言 Unity客户端常用的与服务器通信的方式有socket http webSocket 本文主要实现一个简单的WebSocket通信案例 包含客户端 服务器 实现了两端的通信以及客户端向服务器发送关闭连接请求的功能 实现上没有使用U
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • element ui backTop源码解析-逐行逐析

    backTop 回到顶部 组件简介 基础概念 返回页面顶部的操作按钮 代码
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • element ui弹窗在别的弹窗下方,优先级不高的问题

    在 弹窗 的标签中加入append to body即可解决该问题
  • Mac版 Photoshop 2021---PS2021

    Adobe Photoshop 2021是一款强大的图像处理软件 它可以帮助用户进行各种图像编辑 修饰和合成工作 这款软件拥有先进的图像处理技术 支持多种图像格式 可以轻松实现各种复杂的图像处理任务 它还提供了丰富的滤镜和工具 使用户可以自
  • HarmonyOS鸿蒙开发指南:容器组建 stepper开发指导

    目录 创建Stepper组件 设置index属性 设置样式 添加事件 场景示例 创建Stepper组件 在pages index目录下的hml文件中创建一个Stepper组件 div class container div
  • U3D游戏开发中摇杆的制作(UGUI版)

    在PC端模拟摇杆 实现玩家通过控制摇杆让玩家移动 以下是完整代码 using System Collections using System Collections Generic using UnityEngine using Unity
  • 游戏开发常见操作梳理之NPC药品商店系统(NGUI版)

    后续会出UGUI Json的版本 敬请期待 游戏开发中经常会出现药品商店 实际操作与武器商店类似 甚至根据实际情况可以简化设置 废话不多说 直接上代码 药品商店的源码 using System Collections using Syste
  • 游戏开发常用实践操作之按动任意键触发

    接下来一些笔记会对于一些大大小小的实践操作进行记录 希望对你有所帮助 在游戏中 我们经常会遇到一些按动任意键触发的操作 接下来展示核心代码 以下是对于Unity中的操作 使用的UI是NGUI 对于核心操作没有影响 你可以自己置换 void
  • 游戏开发常见操作系列之敌人系统的开发一(U3D)

    在开发游戏的过程中 我们常常会出现一些敌人攻击我们玩家 并且实现掉血以及死亡的现象 敌人还会源源不断地生成 这是怎么制作的呢 接下来为大家提供方法 其中使用了NGUI 后续会更新其它方法 敬请期待 使用HUDText实现扣血时显示文本 直接

随机推荐

  • seo积分排名系统源码_SEO快速排名系统操作手法以及细节

    SEO快速排名是目前我国SEO行业最热门的话题之一 总之 所有的快速行都可以用两个词来解释 那就是点击 任何行业 包括SEO 都可以使用的原因也是一样的 例如 目前我国有大量的快速排序系统 这种快速排序系统由于百度的雷声算法而受到不同程度的
  • 使用阿里云服务器安装宝塔面板搭建网站教程(图文全流程)

    阿里云服务器安装宝塔面板教程 云服务器吧以阿里云Linux系统云服务器安装宝塔Linux面板为例 先配置云服务器安全组开放宝塔所需端口8888 888 80 443 20和21端口 然后执行安装宝塔面板命令脚本 最后登录宝塔后台安装LNMP
  • 6 款 超好用的 Python 时间库

    开源最前线 ID OpenSourceTop 链接 https opensource com article 18 4 python datetime libraries 写过Python程序的人都知道 Python日期和时间的处理非常繁琐
  • TIDB 详解

    TIDB是什么 TIDB 受谷歌Spanner和F1的论文启发的new sql数据库 这类数据库不仅具有NoSQL对海量数据的存储管理能力 还保持了传统数据库支持ACID和SQL等特性 同类数据库还包括巨杉数据库 TiDB的原理与实现 Ti
  • 嵌入式web服务器Boa的移植

    Boa是一种非常小巧的Web服务器 其可执行代码只有大约60KB左右 作为一种单任务Web服务器 Boa只能依次完成用户的请求 而不会fork出新的进程来处理并发连接请求 但Boa支持CGI 能够为CGI程序fork出一个进程来执行 Boa
  • 考研数据结构--第二章:线性表

    系列索引 2023考研王道数据结构知识梳理 文章目录 1 线性表 1 1 线性表定义 1 2 线性表的特点 1 3 线性表的基本操作 2 顺序表 2 1 顺序表的定义 2 2 顺序表的实现 2 2 1 顺序表的静态分配 2 2 1 1 局限
  • Div点击显示再次点击隐藏

    1 先上效果 这是默认显示的时候 这是再点击隐藏的时候 下方代码贴出 有需要的C V直接浏览器查看
  • 【Unity基础】Input.GetAxis()函数

    根据输入设备 参数分为两类 一 触屏类 1 Mouse X 鼠标沿屏幕X移动时触发 2 Mouse Y 鼠标沿屏幕Y移动时触发 3 Mouse ScrollWheel 鼠标滚轮滚动是触发 二 键盘类 1 Vertical 键盘按上或下键时触
  • windows系统下,如何使用win+R快速打开安装的应用

    windows系统下 如何使用win R快速打开安装的应用 随着工作学习时间的增加 我们的桌面就会出现越来越多的文件和应用快捷方式 使得桌面变得很杂乱 有时候需要打开某个应用的时候就可能需要花费时间来找 那我们如何快速打开我们需要的应用呢
  • Layout的放大和缩小效果例子(ScaleAnimation)

    个Layout从中心放大和缩小的例子 直接上代码 1 ScaleDialog java文件 Java代码 package cn com import android app Activity import android graphics
  • TypeError: ‘function‘ object is not subscriptable

    关于错误 TypeError function object is not subscriptable 错误原因 get dummies函数 写成了
  • https网络编程——如何建立利用根证书(凭证)签发建立中继证书(凭证)详解

    参考 如何建立利用根证书 凭证 签发建立中继证书 凭证 详解 地址 https qingmu blog csdn net article details 108221568 spm 1001 2014 3001 5502 目录 在建立中继之
  • oracle 写入 权限设置,改变用户组文件的读写和执行权限

    网上找来一篇关于linux权限修改方式文章 对于我脑子记性不好的人有非常大的帮助 1 更改档案拥有者 命令 chown cfhvR help version user group file 功能 更改文件或者文件夹的拥有者 参数格式 use
  • c++读写文件

    目录 1 写文件 2 读文件 3 二进制方式写文件 4 3 二进制方式读文件 文件类型分为两种 文本文件 文件以文本的ASCII码形式存储在计算机中 二进制文件 文件以文本的二进制形式存储在计算机中 用户一般不能直接读懂它们 操作文件的三大
  • 小型机 PC服务器 性能,pc服务器小型机

    pc服务器小型机 内容精选 换一换 业务测试完成后或不再需要克隆服务器 您可参考本章节删除克隆服务器 删除克隆服务器后 请到弹性云服务器Console界面检查 使用主机迁移服务迁移Windows系统的源端服务器时 要求目的端服务器的磁盘大小
  • 进程间通讯的7种方式

    1 常见的通信方式 管道pipe 管道是一种半双工的通信方式 数据只能单向流动 而且只能在具有亲缘关系的进程间使用 进程的亲缘关系通常是指父子进程关系 命名管道FIFO 有名管道也是半双工的通信方式 但是它允许无亲缘关系进程间的通信 消息队
  • [架构之路-213]- 架构 - 架构设计过程快速概览与在线画图工具

    目录 第一步 业务系统 1 收集目标系统的用户需求 2 定义用例图 第二步 领域建模 1 业务流程定义 2 业务功能分解 3 非功能性架构 支撑架构 第三步 高层架构设计 1 应用展现层 2 业务功能层 3 框架支撑层 第四部 详解架构设计
  • 如何查gmail发件人ip_如何在Gmail中阻止来自特定发件人的电子邮件

    如何查gmail发件人ip There are some email senders from which you never want to hear You can t stop them from sending you emails
  • 瞳孔特征值提取,blink frequency,fixation frequency,saccad extent, pupil diameter等

    进行的分析有 滤波分析 fft psd database py 下面展示一些 内联代码片 import pandas as pd import numpy as np def read file raw path data pd DataF
  • unity 3d 原创制作射击游戏(一)

    目录 实验一 4 1 设计如下UI界面 其中包含了canvas Panel Text Button Image RawImage等UI元素 4 2 实现点击Play按钮转换场景 点击Exit退出游戏的功能 5 3 主界面添加音量滑动杆 静音