[Unity2D/3D]实用的血条制作(第一期)

2023-11-03

[Unity2D/3D]实用的血条制作(第一期)

在多数的游戏制作中,都会涉及到血条的制作,不论是在2D游戏中还是3D游戏中都非常常见,如何制作一款简易的血条呢?这里我给结合自己自学过程中用到的血条制作方法给大家分享一下我是如何制作血条的(* ^ _ ^ *)

效果演示
1.2D/3D游戏中效果
在这里插入图片描述
2.在3D游戏中的效果在这里插入图片描述

一、血条设计部分

我所用的血条制作的方法是利用Slider(滑块)来制作血条,这种方法较简便,且涉及到的代码量也非常的少,适合小白使用

1.首先我们要在Hierarchy面板下单击右键,选择UI中的slider来创建一个滑块,可以在左边的Scene窗口里面对其拖动,将其摆放至合适的位置上。(在scene窗口里面按住右键可以移动窗口位置,鼠标滚轮可以实现缩放,可以切换至2D角度,这样比较好调,如果切换2D角度后还是找不到合适的角度调slider的位置,可以在Hierarchy面板下双击要调节的UI对象)
在这里插入图片描述
2.接着打开slider,对其进行适当的调整在这里插入图片描述
Background是背景图,是一个image控件,可以在其组件中设置颜色
Fill也是一个image控件,用其显示要填充的颜色
Handle是圆形的滑块

(1)由于制作血条是不需要圆形的滑块的,所以我们把它去掉,然后调整一下Slider下子物体的顺序,把不需要的东西Delete掉,最终结果如下图
在这里插入图片描述
(2)点击Background,在其image组建下可以设置需要填充的颜色
在这里插入图片描述
同理,点击Fill可以设置需要填充的颜色
在这里插入图片描述
(3)单击Slider,在Slider组件中的找到Slider控件,调节其下的Value值可以实现血条的增加和减少
在这里插入图片描述
在这里有的同学可能发现了绿色的填充条它超出了红色的背景,这是因为他们两个的可显示部分的大小不一样
在这里插入图片描述
(3)所以我们第三步是调整其大小使它一致,分别单击Fill和Background,在Rect Transform组建下对其进行调整
在这里插入图片描述
单击红色圈圈部分在这里插入图片描述
按住Alt键选择红色圈圈部分即可实现
在这里插入图片描述
如此一来,简易的血条就制作好了,可以看一下效果
在这里插入图片描述
可以在Scene窗口对其进行进一步调整,比如位置和大小,这个血条会显示在所有实物的前面,不会在游戏中显示出来,也不能够出现在3D游戏场景中,只存在于画布上,如果想要其出现在3D场景中,只需要在Canvas下找到Canvas组件,并把Render Mode设置为World Space即可,这样血条就会出现在3D场景中
在这里插入图片描述
再选择Slider,调整其Scale大小,即可在场景中使用
在这里插入图片描述
其效果如下
在这里插入图片描述
当然了,游戏中的血条一直是对准玩家的,所以呢我们还需要添加一个脚本,使其一直正对着Main Camera,我会在文章后面的脚本部分给大家详细讲解

有的同学可能会觉得血条比较丑,或者想制作自己风格的血条,下面可以给同学拓展一下

我们单击Background或者Fill,会发现其下面有一个Image组件,其中Source image是可以替换的,没替换就是用的系统默认的,大家可能在替换的时候会发现,自己导入的素材不能够替换,这里我建议大家可以用另一个组件Raw iamge ,他与image几乎没有什么不同,但是他可以接收几乎所有的图片格式,如jpg,gif,png

注意:一定要在移除原有的image组件后才能添加Raw image,两者只能存在一个,同时存在会给出不能添加的提示
在这里插入图片描述
下面是我替换的Background背景,添加的图片格式是jpg
在这里插入图片描述
同理,Fill也可以添加图片,我随便找了两张图片,效果如下
在这里插入图片描述
有的同学的血条有边框,Fill填充可能会把边框挡住,这个时候可以单击Fill后点击红色箭头的方框,在Scene中进行适当调整,其效果也一样
在这里插入图片描述
也可以单独创建一个Raw image图层,调整其图层顺序,将其调整到Fill的下面,然其覆盖住Fill,再调整其大小,使其边框掩盖住Slider的边框
在这里插入图片描述
二、用代码对血条进行控制
1.首先我们在Assets下单击右键创建一个脚本,我将其命名为HPController,然后进入脚本编写
在这里插入图片描述
脚本编写如下,记得引用头文件,控制Slider(血条)变化的显示中最重要的就是Value值,为了方便,本文中是通过按键来实现血量的增减

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;  //Slider的调用需要引用UI源文件

public class HPCtroller : MonoBehaviour
{
    public Slider HP;  //实例化一个Slider

    private void Start()
    {
        HP.value = 1;  //Value的值介于0-1之间,且为浮点数
    }

    void Update()
    {
        if(Input.GetKeyDown(KeyCode.A))  //如果按下A键,血量就会减少
        {
            HP.value = HP.value - 0.1f;  
        }
        else if(Input.GetKeyDown(KeyCode.D))  //按下D键,血量就会增加
        {
            HP.value = HP.value + 0.1f;
        }
    }
}

Ctrl+S保存代码,在Unity中把脚本挂在Slider上(挂在其它物体上也行),将Slider拖拽给代码中的Slider,这时,代码中的Slider就是你拖拽进来的Slider了
在这里插入图片描述
单击Play运行,用AD键可以控制血量的大小
在这里插入图片描述
接下来我会更新一个实用的血条教程,这里不详细讲了,主要讲讲如何在3D游戏里面实现血条一直面朝玩家,有需要的同学可以点击我的主页,在里面可以找到
在这里插入图片描述
只需要一个很简单的脚本代码即可

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LookAtCamera : MonoBehaviour
{
    public GameObject Player; 
    void Update()
    {
        transform.LookAt(Player.transform.position);
    }
}

将这个脚本挂在Slider上,将Main Camera拖拽给脚本中的Player即可实现这个功能

接下来我还会更新如何实现给敌人挂在血条和血条为零后敌人摧毁,以及敌人的自动寻路功能,其中部分功能已经更新在我的博客里面了,大家可以点开我的主页进行查看【我的博客文章】
在这里插入图片描述
日后还会更新更多的教程,点个关注不迷路,如果觉得有帮助的话,就点个赞支持一下吧,有问题的可以评论,我都会回复

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

[Unity2D/3D]实用的血条制作(第一期) 的相关文章

  • unity实现鼠标右键控制视角

    主要实现的功能是相机跟随主角 鼠标右击移动后 相机的视角会旋转 思路 在主角里创建空的子物体 把相机绑在空物体上 通过旋转空物体来实现视角的旋转 要把相机调整到适当位置 代码如下 public float rotateSpeed 100 设
  • visual studio 一直显示正在准备解决方案

    首先重启电脑 无法解决的情况下执行以下步骤 Kill Visual Studio Open Visual Studio without loading a solution Disable AnkhSvn as Source Control
  • Unity旋转以及万向锁问题

    我之前研读了一些关于unity旋转相关的博客 一直想抽个时间写个总结 但是由于实习太忙一直没有写 趁着今天请了假晚上有时间把这段时间一些学习心得写出来 Unity inspector面板中的Rotation 在unity中 想必大家最先接触
  • Unity在UI界面上显示3D模型/物体,控制模型旋转

    https blog csdn net ChinarCSDN article details 81058773
  • 基于java的俄罗斯方块游戏系统设计与实现

    基于java的俄罗斯方块游戏系统设计与实现 I 引言 A 研究背景和动机 基于Java的俄罗斯方块游戏系统设计与实现的研究背景和动机 俄罗斯方块是一种经典的益智游戏 游戏规则简单 但难度较大 需要玩家有良好的计算能力和手眼协调能力 近年来
  • 基于java的飞机大战游戏系统设计与实现

    基于java的飞机大战游戏系统设计与实现 I 引言 A 研究背景和动机 背景 随着现代游戏产业的不断发展 传统的飞行射击游戏已经无法满足玩家对新颖 刺激的需求 因此 设计一个基于Java的飞机大战游戏系统成为了游戏开发人员们的共同目标 动机
  • 「Bomkus 博士的试炼」排行榜规则更新

    亲爱的玩家们 为了回应我们从社区收到的宝贵反馈 我们希望与大家分享我们为防止在 Bomkus 博士的试炼 排行榜中作弊而采取的措施的最新进展 并就这一主题提供更多说明 除了在活动开始前采取的反作弊措施外 我们还根据观察到的和报告的行为在整个
  • 秋招内推码汇总:2024届 游戏公司

    给24届秋招的同学整理了一批秋招内推码 有需要的同学请自取 PS 内推码来自 内推鸭小程序 完美世界 内推码 NTAHVOH 巨人网络 内推码 NTAX3AU 诗悦网络 内推码 NTANdQx 网龙 内推码 EVBMJ3 西山居 内推码 N
  • 基于Python手把手教你实现flappy bird游戏

    目录 前言 开始前的准备工作 进入正题 结束语 前言 想必玩过游戏的都知道 Flappy Bird是一款简单却富有挑战性的经典的小鸟飞行游戏 让许多玩家为之痴迷 而作为开发者 那肯定要通过技术手段来再做一遍这款经典游戏 那么本文就来通过万能
  • unity3d image组件不显示

    需要将UI组件放到画布下面
  • 华为OD机试真题-游戏分组-2023年OD统一考试(C卷)

    题目描述 部门准备举办一场王者荣耀表演赛 有10名游戏爱好者参与 分为两队 每队5人 每位参与者都有一个评分 代表着他的游戏水平 为了表演赛尽可能精彩 我们需要把10名参赛者分为实力尽量相近的两队 一队的实力可以表示为这一队5名队员的评分总
  • 【转载】【Unity】WebSocket通信

    1 前言 Unity客户端常用的与服务器通信的方式有socket http webSocket 本文主要实现一个简单的WebSocket通信案例 包含客户端 服务器 实现了两端的通信以及客户端向服务器发送关闭连接请求的功能 实现上没有使用U
  • Metasequoia4 for Mac/win:带您进入三维模型游戏建模的新世界!

    在当今游戏行业中 三维模型的重要性无可置疑 而在这个充满创造力和无限可能的领域中 Metasequoia4 简称M4 无疑是您的最佳选择 作为一款专业的三维模型游戏建模软件 M4凭借其强大的功能和简便易用的界面 成为了无数游戏开发者和设计师
  • 计算机提示vcruntime140.dll丢失的解决方法,多种修复教程分享

    vcruntime140 dll是一个非常重要的动态链接库文件 它包含了许多运行时的函数和类 然而 有时候我们可能会遇到vcruntime140 dll无法继续执行代码的问题 这会给我们带来很大的困扰 那么 这个问题是什么原因导致的呢 又应
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • 如何有效获取APP新增用户

    在提升APP用户获取效果方面 有几个关键策略可以考虑 市场定位与目标用户明确 在推广过程中 确保清晰地了解你的目标用户是谁 以便有针对性地开展推广活动 对用户的需求和偏好有深入了解 可以更好地制定吸引用户的策略 引人入胜的营销策略 设计有吸
  • 游戏开发常见操作梳理之NPC药品商店系统(NGUI版)

    后续会出UGUI Json的版本 敬请期待 游戏开发中经常会出现药品商店 实际操作与武器商店类似 甚至根据实际情况可以简化设置 废话不多说 直接上代码 药品商店的源码 using System Collections using Syste
  • 游戏开发之常见操作梳理——武器装备商店系统(NGUI版)

    游戏开发中经常出现武器商店 接下来为你们带来武器装备商店系统的具体解决办法 后续出UGUI Json版本 敬请期待 武器道具的具体逻辑 using System Collections using System Collections Ge
  • 游戏开发常用实践操作之按动任意键触发

    接下来一些笔记会对于一些大大小小的实践操作进行记录 希望对你有所帮助 在游戏中 我们经常会遇到一些按动任意键触发的操作 接下来展示核心代码 以下是对于Unity中的操作 使用的UI是NGUI 对于核心操作没有影响 你可以自己置换 void
  • 计算机Java项目|java游戏账号交易系统

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板

随机推荐

  • C语言必背代码大全

    对于刚学计算机编程的同学来说 每一个编程知识都觉得很重要 下面小编为大家整理了c语言必背代码 希望大家喜欢 1 输出9 9口诀 共9行9列 i控制行 j控制列 include stdio h main int i j result for
  • 2014传智播客C++第三期基础班+就业班至9月份 完整版

    课程简介 第一阶段C语言10天 此阶段兼顾基础班升级学员与直接报就业班学员 突出面试辅导为主 1 常量与变量 数据类型 数据类型转换 数据输入与输出 面试辅导 2 C语言运算符 C语言操作符 C语言表达式 表达式优先级 面试辅导 3 C语言
  • 图的深度优先遍历DFS (邻接矩阵实现) c语言

    图的遍历是指从图中的某一顶点出发 按照一定的策略访问图中的每一个顶点 每个顶点有且只能被访问一次 深度优先遍历也叫深度优先搜索 Depth First Search 它的遍历规则 先选择一个初始顶点 再规定一个方向 例如往右边一直遍历 于是
  • canvas基本用法

    首先创建canvas元素
  • 在Windows下编译扩展OpenCV 3.4.2 + opencv_contrib

    请参考 https www cnblogs com jliangqiu2016 p 5597501 html 这里主要说一下注意点 1 编译过程中会提示缺少以下文件 vgg generated 48 i vgg generated 64 i
  • 欧拉角的详解

    转自 https blog csdn net schrodinger1900 article details 52734568 关于旋转永远是做游戏的难点和混乱点 我们知道表示一个旋转有多种方式 简单的欧拉角 复杂点的四元数 再复杂点的矩阵
  • PS 2023 24.7 Beta Ai 如何解决橙色错误弹窗问题?

    距离Adobe软件公司首次将图像编辑及数字绘画软件Photoshop推出到大众面前已经过去35年 最近该公司又再次书写了属于Photoshop的历史新篇章 Adobe 发布的 Photoshop Beta 新增 创意填充 Generativ
  • Linux操作系统shell指令详解

    shell指令基本概念 命令行提示符 ubuntu 用户名 分隔符 ubuntu 主机名 家目录 当前所在的路径 普通用户权限 root 切换用户 su 用户名 gt 切换到指定用户 su gt 默认切换到超级用户 sudo 加在指令前 g
  • 【Hyperledger Fabric 开发学习1】 环境搭建

    1 概览 准备工作 1 系统环境准备 Ubuntu 20 02 LTC 2 apt 更换镜像源 3 辅助工具安装 4 安装go 5 安装容器docker和docker compose Hyperledger Fabric安装 方法1 以bo
  • Unity常见平台汇总

    UNITY EDITOR Unity编辑器 UNITY EDITOR WIN Windows 操作系统 UNITY EDITOR OSX macos操作系统 UNITY STANDALONE OSX 专门为macos 包括Universal
  • std::atomic和std::mutex区别

    std atomic介绍 模板类std atomic是C 11提供的原子操作类型 头文件 include
  • (附源码)node.js蒲公英旅游系统 毕业设计15565

    nodejs 蒲公英旅游系统 摘 要 随着社会的发展 社会的各行各业都在利用信息化时代的优势 计算机的优势和普及使得各种信息系统的开发成为必需 蒲公英旅游系统设计 主要的模块包括查看后台首页 轮播图 轮播图管理 公告管理 公告 资源管理 旅
  • 华为鸿蒙电脑操作系统测试版,华为鸿蒙OS测试

    软件介绍 华为鸿蒙OS测试平台是一款华为测试手机新系统的测试平台 这里可以让申请的用户最新体验华为的最新鸿蒙系统 让数百万用户去发现华为系统的不足 然后华为官方进行优化 我相信很多人都愿意做这个小白鼠 快来关注吧 华为鸿蒙OS测试软件简介
  • 【满分】【华为OD机试真题2023 JAVA&JS】Excel单元格数值统计

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 Excel单元格数值统计 知识点递归循环数组 时间限制 2s 空间限制 256MB 限定语言 不限 题目描述 Excel工作表中对选定区域的数值进行统计的功能非常实用 仿照Exc
  • 使用Simulink进行stm32开发2

    使用Simulink进行stm32开发2 小车直流电机控制 1 配置工程文件 simulink 模块搭建 stm32驱动模块 配置数据字典 配置电机控制函数 模块封装 加入输入并生成代码 基于对模型开发的学习 在这里用simulink搭建小
  • MyBatis 使用数组作为参数

  • OpenGL教程(五)

    前言 正如之前章节所提到的 着色器就是运行在GPU上的小程序 简单来说 着色器就是仅仅是一个将输入数据经过一定转换然后输出的过程 着色器之间是非常独立的 彼此之间除了输入输出之外没有其他交流 这篇文章将会详细介绍着色器以及编写着色器的语言G
  • 上下div之间有间距的问题

    我写了4个div 上下分布 均存在间距 代码以及效果如下 div1 height 100px background color blue position relative div2 height 100px background colo
  • HTTP请求方式中8种请求方法(简单介绍)

    HTTP请求方式中8种请求方法 简单介绍 简单介绍 HTTP是超文本传输协议 其定义了客户端与服务器端之间文本传输的规范 HTTP默认使用80端口 这个端口指的是服务端的端口 而客户端使用的端口是动态分配的 当我们没有指定端口访问时 浏览器
  • [Unity2D/3D]实用的血条制作(第一期)

    Unity2D 3D 实用的血条制作 第一期 在多数的游戏制作中 都会涉及到血条的制作 不论是在2D游戏中还是3D游戏中都非常常见 如何制作一款简易的血条呢 这里我给结合自己自学过程中用到的血条制作方法给大家分享一下我是如何制作血条的 效果