如何用Unity GUI制作HUD

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Unity GUI制作HUD相关的知识,希望对你有一定的参考价值。

1.

若知其所以然,自然知其然。

HUD是指平视显示器,就是套在脸上,和你的眼睛固定在一起,HUD的意思就是界面咯,一般我们说HUD特指把3D空间中的界面的某些信息(比如血条,伤害之类)的贴在界面上,对应3D空间投影到屏幕空间的位置。

 

很简单很简单的一件事,就是投影而已。

虽然我一直认为自己学的是野路子,相当的空中楼阁。不幸发现,比我路子更野,比我基础更差的同学实在是多到令人发指的程度。

 

没办法,我们用UGUI来实现一下这个投影过程。

 

首先准备一下我们的3D空间

 

弄几个盒子让他们转起来。

技术分享技术分享

如果连这个都不知道怎么弄得同学我劝你还是关了这页吧,如果真的不会,还是愿意继续往下看,就看看下面三张图。

技术分享技术分享

技术分享

 

然后,弄个UGUI的简单界面

 

弄三个Image,区别开来

技术分享

技术分享

然后Canvas 要放在ScreenSpace,因为我们要映射到屏幕空间,这样只需要一次映射就搞定了。

技术分享

我喜欢让他按屏幕高度缩放,这个不影响定位,看你需求。

 

让Image按照Cube的位置显示

 

就是这么简单,一次映射,问题解决

技术分享

技术分享

技术分享

 

 

排序的问题

 

还有最后一个问题,HUD是GUI,GUI是按GUI的规矩排序的,但是3D物体是按深度排序的。

需要把HUD的排序规则也要做个映射,

技术分享

我们给Canvas加一个SortHud的脚本就解决了

技术分享

按照深度的规矩重新排下序就好了

 

付SVN地址

http://code.taobao.org/svn/fightbeta/trunk/uGUISample/

以上是关于如何用Unity GUI制作HUD的主要内容,如果未能解决你的问题,请参考以下文章

如何用unity制作创建圆柱体模块

如何用unity2d制作2drpg游戏场景

如何用Unity制作创建圆柱体模块

如何用Sprite Kit制作《太空入侵者》

如何用PS制作Unity3D场景资源

如何用C#制作一个带有输入框,按钮,输出框的Unity插件