반응형

http://blog.heyworks.com/choosing-gui-framework-for-your-unity3d-project-ezgui-vs-ngui-part-i/


Pixel perfect

Scale of controls is adjusted automatically once on a scene start. Note: it has issues losing render camera reference when instancing UI as a prefab

Scale of controls is adjusted automatically every time resolution changes. Also has ability to apply half-pixel-offset

WYSIWYG

Generates ordinary gameobject with geometry, so everything is visualized by Unity itself

Uses several ways of visualization: “geometry” and “gizmos”, since all UI elements are a part of a single mesh

Access from code

Methods from a specific controller-script are linked with control events.

There can be some issues with instancing objects and losing references. Another way –using delegates can be more convenient in some cases

Similar as EZGUI, but here you have helper components, such as UIButtonMessage, which send specified message to a gameobject (or to itself, if target is null), on selected type of interaction. Also you can access to last used control through static variables such as UICamera.lastHit or UICheckbox.current

Ease of controls creation

Empty GameObject is created and attached with necessary components

Provides handy wizards for creating all kind of controls.

Workflow speed

Smooth, but slow. Searching scripts which aren’t included in common menus, adjusting tons of settings, fixing broken atlases and lost camera references (most likely I’m not the only one who experienced these issues)

Supersonic! Just a little slowdown when creating atlases for sprites in the beginning, and then pure enjoyment of future process!

Drag and Drop

Both frameworks have this feature. Just a little note: any object in NGUI with a collider can be draggable

Atlases creation

Atlas has to be recreated every time you want to add/change an image in it. EZGUI can scan all objects, even in a project folder, find all  using the same material and then regenerate the atlas. This process takes lots of time and you should be very accurate not to break something

Atlas can be managed in two ways: either using fast and handy Atlas Maker to add, delete or modify images in atlas or managing sprites in atlas already created via Atlas prefab inspector

Panels switching

Making menus with switching panels has never been easier due

EZGUI’s powerful abilities

Panels can be switched easily as well, but some additional scripting is required. Panels can be switched through animations and helper components, but I haven’t found any direct way to enable one and disable another panel

Additional stuff

Since EZGUI is based on Sprite Manager, classes (e.g. Sprite etc.) can be quite useful in 2D games for environment creation, backgrounds etc.

Sprites can be used, however with some restrictions like any control must have a parent like panel or UIRoot.

And here is a comparison by controls implemented in the frameworks.

Control

Label

Sprite

Sliced sprite

Tiled sprite

Filled sprite

Simple button

Image button

Toggle button

Radio button

Checkbox

Progress bar

Slider

Input

DropDown list

Scrollable lists

반응형

+ Recent posts