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

[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即可实现这个功能

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

  • 43
    点赞
  • 140
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Unity2D/3D开发流程主要包括以下几个步骤: 1. 确定游戏类型和玩法:在开始开发前,需要确定游戏类型和玩法,包括游戏的主题、场景、角色、关卡、道具等,以及游戏的操作方式、规则、目标等。 2. 设计游戏关卡和场景:在确定游戏类型和玩法后,需要设计游戏的关卡和场景,包括地图、道具、障碍、敌人等。在设计时需要考虑游戏的难度、节奏、流畅度和趣味性等因素。 3. 创建游戏对象和元素:在设计游戏关卡和场景后,需要创建游戏对象和元素,包括角色、道具、敌人、场景元素等。可以使用Unity的编辑器来创建和编辑游戏对象和元素,也可以使用第三方工具来创建和导入。 4. 添加组件和脚本:在创建游戏对象和元素后,需要添加相应的组件和脚本来控制其行为和动作。可以使用Unity的组件和脚本来实现常见的游戏行为,也可以使用C#脚本来编写自定义的游戏逻辑。 5. 调试和测试:在添加组件和脚本后,需要进行调试和测试,以确保游戏的功能和表现符合设计要求。可以使用Unity的调试工具来检查游戏对象和脚本的状态和行为,也可以使用第三方工具来进行测试和调试。 6. 优化和打包发布:在完成测试和调试后,需要对游戏进行优化和打包发布。可以使用Unity的优化工具来优化游戏性能和资源占用,也可以使用Unity的打包工具来打包和发布游戏到不同的平台和设备。 以上是Unity2D/3D开发流程的主要步骤,每个步骤都需要认真考虑和实践,以确保游戏的质量和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值