Author Topic: (!!!) Improving NGUI: Voice your opinion  (Read 160588 times)

ikuniojp

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 29
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #15 on: November 13, 2013, 09:45:44 PM »
To get a preview of a sprite in the atlas maker, just click on its name.
Sometimes, It's hard to click on one by one to find an image.
It's even harder if you have hundreds of files created by a teams of people.

breakmachine

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 3
  • Posts: 71
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #16 on: November 14, 2013, 04:08:36 AM »
1. Less memory allocation.

2. Depth tools.
Maybe something like the panel tool but for widgets?

3. More delegates/events.
Would be easier to extend if you want to apply actions after certain events such as when grid has been re-positioned, a label has been populated by UILocalize or when UIDraggablePanel has started dragging.

4. Combining the above with the new callback system.

ArenMook

  • Administrator
  • Hero Member
  • *****
  • Thank You
  • -Given: 337
  • -Receive: 1171
  • Posts: 22,128
  • Toronto, Canada
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #17 on: November 14, 2013, 04:32:38 AM »
Undo in atlas... how about a preview instead? You click the "add" button and it shows you the "before" and "after" atlas textures. You can then hit Apply, and changes get applied, or Cancel to ... well, cancel. :)

Depth/panel tool: Nicki actually made one a while back, it's in the useful stuff sticky. I can certainly make something similar, but I'd prefer to have a better way to go about it so that using that tool is not necessary. Still thinking on the matter...

More delegates/events: you just reminded me to finish something I totally forgot about. I love this thread. Thanks guys, keep 'em coming!

BGL

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 9
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #18 on: November 14, 2013, 04:34:37 AM »
First of all, thanks for your work and your support.
Here my wishlist:
New "WOW!" features
  • Data binding (like NData for NGUI or Daikon Forge)
  • Hierarchical masks using sprites, not only textures (flash style)
  • Layout utilities in the editor, be as much as possible WYSIWYG (snap grid, alignment and distribution for selected objects, ...)
  • Photoshop exporter/importer for layout (flash style)
  • Rich text/HTML tags support
  • Color gradients
  • Vectorial shapes drawing; don't want to use a 1 pixel white sprite to create a rectangle
Improvements
  • Rotated atlas sprites support
  • Text alignment independent of widget pivot point
  • Nested Panel to be able to be relative one each other, even at run time if a parent depth changes
  • View manager for logical separated UI, even for run time created one; for example to allow notification dialogs prefabs dynamically stacked without depth conflicts
  • Way to customize different UI states (enabled,disabled,hover) much more than what UIImageButton do; for example to allow having a locked state that let create a grey version of a button which play a "can't use me" sound when pressed
  • Components to create easily a Tab like UI
Code Improvements
  • Code ready to be specialized/extended: use callbacks, virtual method, protected methods as needed
  • Callbacks on errors before fall back option, for example for missing sprite, so I can choose how to solve or log the issue
  • Remove internal scripts exposure in ComponentMenu, like [AddComponentMenu("NGUI/Internal/Draw Call")]
  • Remove all #if UNITY_EDITOR to allow move the code in a DLL...I know is a huge task, but helps a lot
« Last Edit: November 14, 2013, 04:44:40 AM by BGL »

hitorijanai

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 9
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #19 on: November 14, 2013, 05:16:20 AM »
Wow cool! Please make source code structure more extensible by providing more virtual methods. I hope this way we can preserve our own hacks or customization when upgrading NGUI to newer version.

tra

  • Guest
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #20 on: November 14, 2013, 09:26:07 AM »
How about indie Unity 4.3 where batching on new sprites do not work?
Currently with NGUI atlassing we can build atlases even in indie version of Unity.
Will there be two branches with native atlasing for pro users and custom atlasing for indie?
or indie will stay with old ngui...

regards, tra

Malzbier

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 93
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #21 on: November 14, 2013, 11:28:08 AM »
For me at the moment the bigges issues are the anchor / stretch system (Extended my own versions) and the Depth ordering is making me going crazy.
If i have to set the offset of the UIAnchor to -50 after changing the font to make it re-appear ... that total wrong.

DarthMH

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 5
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #22 on: November 14, 2013, 11:51:46 AM »
Improvements to UILocalize as:
  • Native support to CSV file
  • Letting you select an item from the translation file using a dropdown, in UILocalize component.
In my view, the UILocalize, has been sidelined in the latest updates.
---------------------
  • Allow create grandient color (first and last color) components.
  • More rich text content in labels

ArenMook

  • Administrator
  • Hero Member
  • *****
  • Thank You
  • -Given: 337
  • -Receive: 1171
  • Posts: 22,128
  • Toronto, Canada
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #23 on: November 14, 2013, 01:11:32 PM »
Pro version of NGUI already allows you to create gradients on labels, and I've considered doing that for sprites as well. Perhaps I should? Preview of localization data in inspector a good idea. Most people don't even think about the localization system. I haven't given it much thought in a while.

jeldrez

  • Sr. Member
  • ****
  • Thank You
  • -Given: 8
  • -Receive: 4
  • Posts: 352
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #24 on: November 14, 2013, 01:34:32 PM »
Improvements to UILocalize as:
  • Native support to CSV file
  • Letting you select an item from the translation file using a dropdown, in UILocalize component.
In my view, the UILocalize, has been sidelined in the latest updates.
---------------------
  • Allow create grandient color (first and last color) components.
  • More rich text content in labels

This ones above are really cool and useful. I also support the idea of Data Binding.

Currently I have some concerns about:
- How it works ActiveAnimation, it's missing a blend mode to play more than one animation from the same Animation object. I used to use it a lot, until I figure it out this and then I started using
- UIDrawCall, I don't know why, but sometimes when I create some UIPanels the images inside never dissapear from the editor. [I posted this in another topic]


These is what I have for now. Thanks Aren for listen to us.

ArenMook

  • Administrator
  • Hero Member
  • *****
  • Thank You
  • -Given: 337
  • -Receive: 1171
  • Posts: 22,128
  • Toronto, Canada
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #25 on: November 14, 2013, 01:55:45 PM »
Data binding has already been prototyped, and the Pro version has some testing code in it that has the framework for it. I'm still not entirely sure I understand what's the best use case for it. I use it to be able to set both properties and values of a remote script by name -- which, while cool, seems like a strange way of going about it, since I can just do a GetComponent and set the value directly. I can think of a couple semi-useful use cases, but I'd like to hear what you guys would use it for?

DarthMH

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 5
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #26 on: November 14, 2013, 02:43:03 PM »
Pro version of NGUI already allows you to create gradients on labels, and I've considered doing that for sprites as well. Perhaps I should? Preview of localization data in inspector a good idea. Most people don't even think about the localization system. I haven't given it much thought in a while.
I like NGUI Localization, easy to use and very well integrated. One more point that makes me not using it is the lack of support to a CSV (so I could keep two or more languages ​​in a single file) and GoogleDocs (but GDocs support is not required, but it is only a facility.)
But I want to continue using it, I think an update with more interactions, it would be very good.

armitage1982

  • Newbie
  • *
  • Thank You
  • -Given: 7
  • -Receive: 1
  • Posts: 15
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #27 on: November 14, 2013, 03:41:38 PM »
Text Selection
Normally it's the first thing I'm looking at to see how robust and evolved a GUI is. Would probably allow us to write a few applications/editors rather than just games.

Also
Severely thing about publishing a comparison table on your website as soon as the new Unity UI is out, whether or not it's useful to keep both, how exactly they can mix together if it's the case.
That figure is currently happening to 2D Toolkit / Unity 2D tools and (while I'm angry because I could have bough it now for 1/4 of the original price) I don't exactly know if mixing both of them is performances & features wise nor *so* interesting.
« Last Edit: November 14, 2013, 03:48:58 PM by armitage1982 »

haueryou26

  • Guest
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #28 on: November 14, 2013, 07:10:34 PM »
Hey Guys,

First of all I love the product and I have been crossing my fingers for a updated tools for Packing textures within Unity.  Specifically having the ability to pack them into the individual channels of a single texture, aka R,G,B.  Is there any plan to support this kind of functionality?  I know you already have a shader that does this for text you author in an external program.  Unfortunately I cant find a solution to this for UI images.  I have tried to do this process by hand but messed up the code portion of the operation and when i associated the shader it was a hideous mess.  Can someone tell me if there is a reason NOT to author content this way?  I'm working on a mobile game and memory is my big issue right now and figured if I could drop my UI Atlas from 2x2048s to 2x1024s that alone would be a HUGE WIN!  If you don't have plans to do this I suggest stop reading from this point on because its me just explaining how i could see it working in unity.

Tool suggest workflow.  So I think the way your Atlas tool works right now is perfect you would only need to add an additional field that would allow me to tag what atlases i would want to pack into a single texture and which channel each would be associated with.  For example: I have texture 1. o with my Fonts, Texture 2. with UI element, and Texture 3. with more UI elements.  All of these were created using the already existing Atlas creation tool in NGUI.  All fonts and UI are grey scale or Black and white so they can easily be packed into a single channel and you wouldn't lose any information.  You then only need to have an Atlas, Packer that you can drag each into a slot that represents the R,G,B and the choice of the A channel.  Once these textures are associated and processed you then hit a button and a single texture is created with updated text file with the corresponding placement of all the UI,Text elements so the shader will know each association.

That is it!!! Not to make this sound like trivial work because I'm sure it is not. You would have 4 times the texture space in a single texture.  The only limited factor is that you would need to create a few more shaders that allow you to change font and UI color.  This would be a few more draw calls but the amount of memory you would save would be huge.  Any thoughts on this?  It is possible you can already do this and I just happened have missed this update.

I hope I was able to clear up an questions and concerns on this.
-Stephen Hauer

joeleaver

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 5
    • View Profile
Re: (!!!) Improving NGUI: Voice your opinion
« Reply #29 on: November 14, 2013, 07:36:11 PM »
I'd like to put in my vote about improved UIInput text selection. It could use a better, non-character-based caret, shift+arrows to select, mouse drag to select, cross-platform clipboard support, ctrl-arrows to move by words, etc. A big part of my work right now is building an in-game level editor.

Data binding would be awesome, but I'm not sure how much use it would have on the primitive widgets themselves. As you say, databinding to a label isn't that interesting. But having a lookup list or combo box or tree that is databound to an array or a dictionary is awesome, but I wonder if it's within the scope of what NGUI is trying to provide. It seems like NGUI is more focused on being a foundation for building UI widgets out of primitives more than it tries to be an entire GUI out of the box, which is totally fine.

There are a few more-complex widgets that I use frequently: dialog, modal window, messagebox, navbar/menu, tab group, tree, combobox, scrolling list box, tooltip, file browser window, all of which I've implemented to some degree with NGUI primitives. (A real tree widget is a massive undertaking.) What's fun about that is that if I ever get one complete enough, I could sell it on the asset store. It'd be awesome if there was some sort of published standard or best practices to follow when developing a re-usable complex widget. I'm not sure how that'd work, exactly. Kind of like how there's a massive add-on community around jquery, and you can find jquery-based widgets for almost anything. I'd like to see (and develop!) NGUI-based reusuable widgets. Anything the code base could do (and I have no idea what that might be) to make that easier to develop or share, that'd be awesome. Maybe a "theme" specification: a standardized set of named sprites for window decoration and UI-element pieces? Or maybe not. I love the current flexibility, too.

About the only thing I've ever really gotten hung up on was trying to make a draggable window with a variable-size scrolling list stay constrained within the screen. The size of the invisible scrolling list changed the size of the bounds of the window, and made for some odd results. The easy workaround was to unparent the scrolling list from the draggable window, and use a follow script to update the position of the scolling list when the window position changed. Not a huge deal, but not intuitive, either.

Anyway, I love NGUI! I'm a huge fan.