Unity快速如何设置单个对象的Canvas,例如怪物和人物头上的血条,跟随移动

首先,如何设置单个对象的Canvas:在Unity的某个Scene下,右键得到下图,

在创建成功的Canvas 的Inspector面板对其属性进行修改:

选择后出现下图的情况,这是啥意思呢,就相当于本来Render Mode的默认选项Screen Space - Overlay,是将我的Canvas面板是无论怎样都显示在最前方,不管在里面创建了什么,image、text,在Main Camera下,Game视角下都是会将整个Canvas渲染在屏幕前方让我们看到的。但是现在,我们修改Render ModeWorld Space,意味着这个Canvas将像其他物体一样或者说像一个Plane,平面,展示在我们面前,我们可以修改它的大小、位置。

上图中感叹号不用管,只是告诉你可以选一个摄像机对着它照,让它像默认的那样展示在屏幕前。

ok,调整大小试试看,我创建一个Cube作为实例,给大家看看前后对比:

我们再看看默认情况下的Canvas:

修改渲染模式后:

改动看看:

侧面对比:

ok,那我们调整一下位置,给这个物体加个类似血条的东西。首先把Canvas拖动到Cube下,作为Cube子物体,然后在里面新建一个slider滑动条作为血量条,再创建一个text作为血量【我是2021版本的Unity所以是TMP,(都一样啦)】如下图所示。发现几个问题,1.滑动条的那个滑动点太大,平常我们没有一个是小圆球控制血条的多少吧? 2.字体太大,Canvas太小。

我直接全部位置调开给家人们看细节:

Ok啊家人们,现在非常清晰:Slider里面,Background就是我们血条,小圆球就是告诉你现在进度到哪儿了。不会的去看一下Slider简单的教程,我随便搜了个简单的链接可以看:

https://blog.csdn.net/weixin_39520967/article/details/107270057

Ok,作为血条,小圆球都不要,直接设置Background;ok我们直接删除;看重点:

要让血条左右移动,直接设置Image Type改成:Filled,这个啥意思呢?字面意思填充,第二,改方向,改成水平方向,这样滑动条才能左右变动。第三,是起始位置,也就是从右往左还是从左往右。第四,Fill Amount,填充程度0-1。0就是没有了,1就是现在这样填充满了。代码去控制这个Fill Amount就行了,现在血量/总血量 直接得到一个0到1的比例,赋值给Amount。

那么为啥我说这个条变成了死样子,是因为左边这个滑动条原本默认的大小如图:

点击右边那个按钮就是设置一个最合适自然的大小,也就相当于默认的大小,对比一下是不是我们拉伸了很多,所以最好我们在右边的Image导入一个血条的图片,就是红色一长条,要不然这个拉伸的不太好看。我随便百度了一个,先把资源图片拖动到Unity的assets文件夹下,我方resources下了。然后修改图片的格式,改成Sprite(2D and UI),点击Apply,如图:

接下来:

ok,然后我们动一下那个Fill Amount试试:

欧了,接下来调整Text,顺便讲讲TMP吧,去我主页,下一篇,走你!

如果帮助到你,请点个赞吧!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值