Search Unity

Daikon Forge GUI Library

Discussion in 'Assets and Asset Store' started by TakuanDaikon, Aug 6, 2013.

  1. deewahyu1809

    deewahyu1809

    Joined:
    Mar 27, 2013
    Posts:
    1
    Very interesting compare to the others GUI package. Purchased :). One minor problem is that the official website did not provide searching facility. So, I have difficulty to find some solutions for related issue to my project.
     
    Last edited: Nov 6, 2013
  2. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    For some reason, I can't seem to find a search plugin that actually works. I spent two hours today trying to get it working, but there's some bizarre interaction going on between the various modules I have installed on the website that breaks search.

    I will get this solved, as soon as I am able. Feel free to ask any questions you like on the support forums in the meantime.
     
  3. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,085
    @TakuanDaikon - thanks for that Glyph Designer update!

    About how far off is v1.0.10?
     
  4. BoomWav

    BoomWav

    Joined:
    Mar 30, 2012
    Posts:
    7
    Someone mentioned your Asset in Google+ and I couldn't resist. Your samples are definitely great sellers. Looking forward to using it in my game.
     
  5. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    That will change according to workload and issue priority, but the latest estimate of completion date can always be found on the Roadmap.
     
  6. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    A few people have reported some issues with mouse input not working, due to a line of testing code that got missed before submitting the package. There are very few people reporting this issue, but we felt that it was best to mention it here to hopefully avoid some frustration.

    If you are trying out the samples and nothing appears to be responding to mouse input, it is likely that you have the "Raycasts Hit Triggers" setting turned off:



    If this is the case, there is a discussion of the issue and fix available on our support forums.
     
  7. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    I know that there are definitely more important things so this is just a simple FYI on the new update.
    Most of the examples work fine on IOS with the exception of "Sprite-texture" which is giving errors.

    Event binding failed - Failed to create event handler: System.InvalidOperationException: Dynamic code generation is not supported on the target platform, the dfTweenFloat.Play method must exactly match the event signature for dfWebSprite.TextureChanged
    at dfEventBinding.Bind () [0x001c5] in /Assets/Daikon Forge/DataBinding/Scripts/dfEventBinding.cs:131
     
  8. _MGB_

    _MGB_

    Joined:
    Apr 24, 2010
    Posts:
    74
    At last! a Unity GUI that just works and I don't have to wrestle with, that delivers what others promise :)
     
  9. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    Right. As mentioned earlier in the thread, there is a workaround available for this issue and a full fix will be part of the v1.0.10 update.

    The fix was unfortunately implemented while Unity was already reviewing the v1.0.9 update so couldn't be included at the time.
     
  10. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Thanks, I'll keep an eye on that thread. :)
     
  11. xCyborg

    xCyborg

    Joined:
    Oct 4, 2010
    Posts:
    633
    Is there a way to make the dfSlider respond only to clicks on the thumb itself rather than the whole track? and by the way I think the MouseDown event handler is not working, MouseUp works good on the other side. thank you.
     
  12. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Not a problem, I mistakenly thought that the fix was in this update, I'll use the fix for now.

    Cheers.
     
  13. kenshin

    kenshin

    Joined:
    Apr 21, 2010
    Posts:
    940
    Thanks a lot for your check and news.
    I have one info and 2 questions for you:

    1) Today I have worked on it and I have realized my tooltip version until you have realized your.
    The problem that I have solved is realize a centralized script that shows tooltip on hovered control (that have tooltip text defined in dfControl.Tooltip)
    To display a tooltip I need to know:
    - mouse position into "Daikon's screen space" (pixel perfect or not)
    - if the mouse is hover a control and what it is (so we can check if it has a tooltip text).

    I think could be useful to have a method like CameraScreenToViewportPoint and a method to check if we are hover a control.
    What do you think about it?
    Is there another better solution?

    If you want send me a PM and I'll send you my current code, if you like it you can add to your library. :)


    2) Working with your GUI I need to solve the "pass-through GUI" problem to avoid to pick 3D object under the GUI.
    Is there a way to know when mouse is hover the GUI content so that I can skip raycast on 3D object in the scene? (The scene is on other camera).
    Is there a solution for this problem?

    Thanks
    Kenshin
     
  14. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    1) I've got a sample script you can download that includes a function GetControlUnderMouse() that will return a reference to the control under the mouse, which can then be tested for the dfControl.Tooltip property. For testing, attach the script to the UI Root object in your scene. The script will print out debug messages when you click the mouse button, but the GetControlUnderMouse() function can obviously be used to in other scenarios as well.

    2) There is a thread on the support forums with a workaround presented, and a task assigned to provide a built-in method for determining whether the mouse is over a control.
     
  15. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    Not currently. At this time, the dfSlider control ignores the thumb altogether, and only checks the mouse position relative to the slider's client area to determine the desired value. Is it common to want to limit the mouse to the thumb? The UI libraries that I'm used to and which I used as behavioral models for DF-GUI do not do that.

    As for the MouseDown event not working, it may be related to a known issue which affects nested controls that is currently being worked on. If so, a fix will be released for that soon.
     
  16. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    Regarding the WordWrap issue, I believe that this is resolved in the v1.0.10 codebase:




    Even with two very large word-wrapped labels (one of which is over 14K in length) there is not a constant performance impact.
     
  17. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    584
    Nice! Also, it's a little difficult to scroll through the text field in the editor (in the bottom right of your screenshot) when there's a large amount of text. Does the Unity inspector support scroll bars to navigate through the text? Otherwise, I just use the arrow keys (which is fine) with the cursor or drag with the mouse up and down in there, but that's kind of fiddly.

    You're really cranking out those fixes!
     
  18. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    I don't know of any easy way to add scroll bars to that, which would just reduce the editable area anyways.

    I ought to just add a custom edit dialog that can be opened like the one on the Expression Binding component (except with better scrolling):

     
    Last edited: Nov 7, 2013
  19. xCyborg

    xCyborg

    Joined:
    Oct 4, 2010
    Posts:
    633
    I think giving an option for thumb-only interaction is important especially if the thumb is big and intended as a gameplay controller, concerning the MouseDown event; the dfSlider is child only to UI Root, other dfControls like Buttons work as expected only dfSliders pose a problem for MouseDown.
     
  20. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    Took another look at dfSlider.OnMouseDown and it was obvious why this is happening. It's been fixed in the main codebase. Thanks for reporting it.
     
  21. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    As mentioned earlier in the thread, performance is something we are continuously striving to improve. Here's a snapshot of profiling 42 simultaneous continually-running tweens of a variety of types:



    The optimizations continue, of course. I just wanted to share this, since I thought that would be of particular interest to you.
     
  22. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
  23. sandboxgod

    sandboxgod

    Joined:
    Sep 27, 2013
    Posts:
    366
    I just purchased this product the other day. Seems quite awesome so far. Will post if I run into any issues. Right now I'm just trying to learn the product and going through the tutorials I've found on the main site. Thank you
     
  24. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Does Daikon have a plugin type of architecture for animation engines ? For example, if we wanted to use HOTween instead of the built-in tweening engine.
     
  25. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    I don't believe that there's anything preventing the use of other tween products like HOTween. I managed to put together the following demo in about five minutes, most of which involved downloading HOTween and installing it and finding out how to call it. Absolutely nothing special was done to make DF-GUI and HOTween work together:

    [video=youtube_share;uCM6YvIu00Q]http://youtu.be/uCM6YvIu00Q
     
  26. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    2,432
    I bought this on the last sale, and haven't gotten a chance to use it (beyond demos) yet. Looking forward to making use of it this month!
     
  27. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    584
    Yes!!! That is very much of interest to me... thank you for optimizing them! Can't wait to play around with buttery smooth menus.

    If you can optimize the 3D GameObject attaching script in the same way, I'll... I'll... I don't know what I'll do!
     
  28. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Hi, I'm using easysave2 to load .txt files from a folder which are items in game. I'd like to populate a listbox with the loaded files so the player can select one to use.

    Could you help please?
     
  29. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    I added a pop-up text editor window to the dfLabel and dfRichTextLabel classes:



    In the future it will have an expandable area at the top that lists the markup/tags that can be used and maybe some other helpful stuff, but for now this will make editing the text much easier, I think.
     
  30. xCyborg

    xCyborg

    Joined:
    Oct 4, 2010
    Posts:
    633
    Code (csharp):
    1.     protected internal override void OnMouseDown( dfMouseEventArgs args )
    2.     {
    3.         [U][I]base.OnMouseDown( args );[/I][/U]
    4.         if( !args.Buttons.IsSet( dfMouseButtons.Left ) )
    5.         {
    6.             base.OnMouse[B]Down[/B]( args );
    7.             return;
    8.         }
    9.  
    10.         this.Focus();
    11.  
    12.         this.Value = getValueFromMouseEvent( args );
    13.  
    14.         args.Use();
    15.         Signal( "OnMouseDown", args );
    16.  
    17.     }
    I changed OnMouseMove to OnMouseDown but it seems that the condition: !args.Buttons.IsSet( dfMouseButtons.Left ) is not met soI had to move the line outside of the clause on detriment of the slider not distinguishing between mouse buttons.
    Any way, I'm looking forward to a full solution in the 1.0.10 release. I only wish if I knew how to ignore slider track clicks, it would be cool to be able to adjust the collider independently from the texture of the dfControl.
     
  31. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    584
    That would be great, as I end up searching through your youtube tutorial to find out the syntax for the markup/tags when I forget. Great job, that will make large text editing much easier.
     
  32. xCyborg

    xCyborg

    Joined:
    Oct 4, 2010
    Posts:
    633
    Unfortunately, there is one more serious issue not onlywith sliders but also with ScrollPanel: On touch screen if you tap on an empty space then drag over the Slider or ScrollPanel or I don't know what else, it gets activated! Now, I don't know how you call this but for me it's a bug, the those controls need to ignore all taps who in their initial phase were not over the control. Button is not included in this bug, please fix it and consider making the Slider more customizable, thank you.
     
  33. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    The issue of touching an empty space and dragging over controls has been resolved and the fix will be included in the v1.0.10 update.
     
  34. xCyborg

    xCyborg

    Joined:
    Oct 4, 2010
    Posts:
    633
    Wow, thank you very much for the fast response! still just exposing the kind of colliders you use in the inspector, thumb-only slider, a knob and 4.3 native 2D integration:rolleyes:
     
  35. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    All of those things are planned for upcoming updates, as well as other enhancements such as better support for auto-scaling and proportional resizing:

     
    Last edited: Nov 10, 2013
  36. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Not sure if you missed my question a few posts above? :)
     
  37. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    I did, apparently. I'm not sure how that happened. I apologize.

    I'm stepping out for a few hours, but when I return I'll try to put together an example for you.
     
  38. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260

    No problem, thanks. :)
     
  39. Ioan

    Ioan

    Joined:
    Jun 25, 2013
    Posts:
    2
    Hello, bought this a few days ago, loving it so far.
    But it seems that the "hover state" of buttons does not work for me, even in the provided examples, the button only changes on focus, after click.
    Any ideas?
     
  40. dreamlarp

    dreamlarp

    Joined:
    Apr 22, 2011
    Posts:
    854
    I just bought this. There are not a lot of textures to use. Has anyone released a larger collection that works for this kit?
     
  41. PhobicGunner

    PhobicGunner

    Joined:
    Jun 28, 2011
    Posts:
    1,813
    Pretty much any skin on the asset store will work. You'd have to assemble the atlas yourself, but that wouldn't be too hard (IIRC you can just select all of the textures you want to use and then create the atlas).
    I believe there's a skin on the asset store that featured a DFGUI demo, but I can't seem to find a link to it...
     
  42. Silly_Rollo

    Silly_Rollo

    Joined:
    Dec 21, 2012
    Posts:
    501
    This may be a dumb question, but what kind of syntax is used for expression binding? It's nothing I'm familiar with so I don't know how to write out my own expressions.
     
  43. PhobicGunner

    PhobicGunner

    Joined:
    Jun 28, 2011
    Posts:
    1,813
    It's Javascript (not Unityscript, mind you)
     
  44. xCyborg

    xCyborg

    Joined:
    Oct 4, 2010
    Posts:
    633
    I concur both the "hello" part and the "but" part, but you can circumvent this manually by implementing the MouseEnter event:
    mybutton.MouseEnter+=ChangeTexture;
    maybe the HoverSprite field isn't set properly but that should help until it gets fixed.
     
  45. ozoner

    ozoner

    Joined:
    Jun 8, 2009
    Posts:
    85
    First off I love your GUI tool, was up and running in an hour, even called up a couple of my buddies and made sure they were aware of its existence, great job, super great job.

    Now for my issue; I have three game objects on the screen, they are spheres and spaced apart horizontally. As you know when I change resolution they spread out for higher res, and move closer in lower res.

    Now comes my challenge, I have three menu buttons covering them with your GUI system. When on 1024x768 they cover the game objects, when I change the resolution, they cover the game objects, but when I run the scenes from the editor the buttons no longer cover the game objects.

    The game objects need to be covered by the buttons because when playing the game the code attached to the game objects is used to interact with a special cursor that when using Leap Motion fire off a scene and the button covers the game object for the obvious purpose.

    I can parent a plain to the game object, add a texture for a button to the plain and it works fine but I want to use your GUI as I also want the user if they so desire to use the mouse. Again I could use ray casting with the mouse, give each of the three game objects a tag and that would solve the issue.

    I don't want to use the above work around, I want to use your GUI frame work place three button on the screen and resize according to the resolution when running . So basically what I see is not quit what I get when I run the scene, but is when changing resolutions with out running the scene in the editor.

    Hopefully I have described my challenge well enough for you to help, if not I can send you my lab scene where I have been testing and possibly you have a solution.
     
  46. Ioan

    Ioan

    Joined:
    Jun 25, 2013
    Posts:
    2
    Thanks, will try.

     
  47. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Any update on the example please?
     
  48. Tee_Pee

    Tee_Pee

    Joined:
    Aug 18, 2013
    Posts:
    54
    Just bought this today, hoping for the best, will provide feedback. :)
     
  49. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    I guess I'm not really clear on what role easysave2 plays. I don't have that product, so I tried to find some sample code for loading multiple items so that I could at least write up some pseudo-code, but wasn't able to find much that I thought applied.

    In general, it is extremely easy to load data into a Listbox. As long as you can convert the data into a string array, you can assign it directly. For instance, in the following video, I just loaded the contents of a single text file as a single string, broke that string up into an array by splitting on the newline character, and assigned it to the listbox Items property :



    If you could give more detail about what you need I'm sure I could come up with something better and more directly applicable.
     
  50. TakuanDaikon

    TakuanDaikon

    Joined:
    Jun 6, 2010
    Posts:
    268
    If I understand you correctly, there are a few ways I can see of making this happen.

    One way would be to use a script that allows the buttons to always follow the spheres, kind of like labels that hover over players in RPG games. There are some examples of that here. That might be overkill but I thought I would mention it.

    If you just want the buttons to resize according to the resolution you can either disable the Pixel Perfect option which scales the entire user interface, or when v1.0.10 is released (currently pending approval on the Asset Store and should be available shortly) you can use proportional anchors to keep them in the same relative place on the screen. Although the video below doesn't exactly fit the situation, you can see that the game pieces stay in the correct relative spots even when the resolution changes: