有关NGUI的介绍我这里就不多说了,由于unity3d自带的界面绘制工具GUI效率低下,所以NGUI被广泛使用,它的原理也很简单,就是把UI绘制到一张plane上,然后摄像机用平行投影垂直摄像,这样就和处理一般的3d物体一样了。
好了,我这里重点介绍的是怎么在我们的3d世界中加入NGUI的界面,我这里用的是NGUI 2.6.4,有版本不同的童鞋请自行体会,哈哈。
一般的NGUI教程一上来都会说把Main Camera删掉,然后怎么怎么做,我一开始的时候看到这句话头就大了,我的场景都是在Main Camera下做的,不可能删了啊,由于对unity多开Camera不了解,就各种尝试,我甚至曾经以为把Main Camera作为NGUI的Camera,然后NGUI的plane只要在场景的前面就好了,倒也能达到效果,但界面不知道为什么会随着角色移动而颤抖。最后无意中的尝试发现,原来不用那么麻烦,就是让Main Camera和NGUI的Camera并存也没问题,两者投影的场景都会绘制在屏幕上,而且互不影响,我的心都碎了,这是做了多么二的各种尝试啊。所以如果对这不了解的童鞋看到这些,相信你就不用再走弯路了。
吐槽了很多,现在言归正传,放着我们的Main Camera不管,我们新建一个UI,NGUI->Open the UI Wizard,然后弹出的UI Tool,我们保持设置不变,点Create Your UI,下面是重点,一个游戏UI,我们希望它们分布在屏幕的四边,当然中央有需求也可以,NGUI给我们提供了一个很好的界面布局方法,那就是Anchor(锚点),默认是Center(居中)的,我们的需求是界面的上下左右都有UI,那好办,多创建几个锚点,还有,我的所有UI都应该是绘制在一个面板上的,这样可以统一放大缩小位移等,按照这个需求,把刚建的Camera下的那个锚点连同其下的面板删掉,留着Camera,新建一个面板(NGUI->Create a panel),然后在该面板下创建多个锚点,然后每个锚点下创建你需要的UI。我的是这样的。