首先,如何设置单个对象的Canvas:在Unity的某个Scene下,右键得到下图,
在创建成功的Canvas 的Inspector面板对其属性进行修改:
选择后出现下图的情况,这是啥意思呢,就相当于本来Render Mode的默认选项Screen Space - Overlay,是将我的Canvas面板是无论怎样都显示在最前方,不管在里面创建了什么,image、text,在Main Camera下,Game视角下都是会将整个Canvas渲染在屏幕前方让我们看到的。但是现在,我们修改Render Mode成World 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吧,去我主页,下一篇,走你!
如果帮助到你,请点个赞吧!