如何用Unity GUI制作HUD 首先准备一下我们的3D空间 然后,弄个UGUI的简单界面 让Image按照Cube的位置显示 排序的问题

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

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

 

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

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

 

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

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

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

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

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

然后,弄个UGUI的简单界面

弄三个Image,区别开来

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

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

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

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

让Image按照Cube的位置显示

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

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

 

排序的问题

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

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

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

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

如何用Unity GUI制作HUD
首先准备一下我们的3D空间

然后,弄个UGUI的简单界面

让Image按照Cube的位置显示

排序的问题

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

 

付SVN地址

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