在Unity的社区里发现一个不错的UI插件----UIToolkit.
https://github.com/acron0/UIToolkit/downloads
下载资源包后,导入到Unity3D中即可。可以看下如下的一些东西:
上面三个是显示的DEMO,最后一个就是这个插件的核心代码了。
使用步骤:
1.创建一个新的层。这边我命名为“UILayer"
2.创建一个空物体(empty GameObject),并放在(0,0,0)的位置。这边命名为"UILayer"
3.把UI.cs这个脚本拉到上面创建的物体,在设置面板中设置UILayer的属性为1中创建的那个新的层的名字。
4.在main camera中的Culling Mask中移除1中创建的层的名字”UILayer",这样这个层就不会被渲染两次。
5.创建一个新的空的GameObject,这边命名为UIToolkit
把它做为2创建的物体的子物体,
将它的Layer设置为1中创建的层,这边为“UILayer”。
将UIToolkit.cs拖给它。
6.设置属性面板中的texturePackerConfigName,暂时我们可以用它自带的kitchenSinkSheet。
7.在Start函数里创建UI,不要在Awake中创建UI,因为这时有可能UI的东西还没初始化完。
8.创建一个CS脚本,命名为UIManager.在其中的Start添加如下代码:
var scores = UIContinuousButton.create( "scoresUp.png", "scoresDown.png", 0, 0 );
scores.positionFromTopLeft( .24f, .02f );
scores.centerize(); // centerize the button so we can scale it from the center
scores.highlightedTouchOffsets = new UIEdgeOffsets( 30 );
9.在场景中创建一个空的gameObject,用来挂载我们初始化UI的脚本。
点击play按钮:
成功的添加一个按钮。
再发一个DEMO的图,感觉他做的资源有点丑。。。
还有一个更牛B的,GUIX
http://www.ennanzus-interactive.com/developer/GUIX/
公告说因为Unity3D要自己搞一个UI编辑器了,所以他们把这个开源了。
这次去开发者大会,了解了下大家比较常用的有两个:
EZGUI,NGUI。这两个是收费的。不过在国内,你懂的。。。
可以看一个简单的教程:
http://game.ceeger.com/Unity/Doc/ezgui/Simple_introduction.html