Search Unity

CurvedUI - VR ready solution to bend the canvas

Discussion in 'Assets and Asset Store' started by chisely, Feb 2, 2016.

  1. chisely

    chisely

    Joined:
    Jan 14, 2016
    Posts:
    6
    CurvedUI
    http://u3d.as/nmE
    Designed for the new Unity GUI, CurvedUI bends the Canvas in world space, allowing player to view and interact with it from any angle!

    VR headsets are about to hit the mass market. Enrich your VR project with UI that will fully immerse your players. Get that Minority Report feel with curved, interactive screens. CurvedUI includes a gaze raycaster that will allow you to select UI elements just by pointing your head towards them. Works with Google Cardboard, GearVR, Oculus Rift and other VR headsets.

    Not in mood for VR? Use CurvedUI to create sci-fi helmet hud's, interactive 3D maps, world space inventory systems and more!

    Features
    Easy set-up - takes less than 10 seconds!
    Cylindrical mapping to wrap your interface around the player.
    Ring mapping to instantly create circular shapes from ordinary assets.
    Works perfectly in world space.
    Fully interactive from any angle.
    Optimized to reduce poly count.
    Includes VR Gaze Racyaster - use UI elements with your gaze.
    Works on mobile.
    Works in Unity Personal Edition.













    Get it at
    http://u3d.as/nmE
     
    grimmgames, radimoto and punk like this.
  2. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    I have an issue where is I set the angle to 360 then some of the touch events stop working towards the edge of the canvas (far left and far right, where they join). Any idea how to fix this?
     
    Nanie likes this.
  3. Juruhn

    Juruhn

    Joined:
    Jun 25, 2013
    Posts:
    13
    Same issue here!
     
  4. Konst

    Konst

    Joined:
    Aug 26, 2013
    Posts:
    78
    @chisely
    Hey, thanks for the cool asset. Is it unity 5.5 updated? Thanks :)
     
    Last edited: Jan 12, 2017
  5. Jonahbaka14

    Jonahbaka14

    Joined:
    Jan 16, 2017
    Posts:
    4
    hi there,
    i'm having problems with customizing in Unity, please help!
     
  6. Jonahbaka14

    Jonahbaka14

    Joined:
    Jan 16, 2017
    Posts:
    4
    is there any documentation with the files? which?
     
  7. christougher

    christougher

    Joined:
    Mar 6, 2015
    Posts:
    558
    Hi, just updated project to 5.6.0f3 and get the following error.

    Assets/CurvedUI/Scripts/CurvedUIVertexEffect.cs(640,20): error CS0165: Use of unassigned local variable `ret'
     
  8. EricL

    EricL

    Joined:
    Aug 1, 2012
    Posts:
    15
    @christougher

    For the Unity 5.6 error, change line 607 from

    Code (CSharp):
    1.  UIVertex ret;
    to

    Code (CSharp):
    1. UIVertex ret = new UIVertex();
     
  9. yulilevtov

    yulilevtov

    Joined:
    Jan 11, 2016
    Posts:
    1
    Anyone else still having issues with this since upgrading to 5.6? I've made the change suggested by @EricL but the script still doesn't compile...
     
  10. chisely

    chisely

    Joined:
    Jan 14, 2016
    Posts:
    6
    CurvedUI creator here.

    That's the solution to 5.6 compile bug. Thanks for sharing it with forum users!

    Sometimes Unity can miss some files on import. Redownload the package and import it again. Afterwards change the aformentioned line, and the script will compile as always.


    The update that fixes this issue is on its way to the assetstore to spare you from having to modify scripts.
     
  11. xAvatarchikx

    xAvatarchikx

    Joined:
    Aug 17, 2012
    Posts:
    69
    Hi!I do not work alpha in if I use Rich Text
     
  12. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    Adding, testing and removing CurvedUI stops input from occuring on UI controls after. I noticed that in a stack trace for the TextMeshPro InputField not working as advertised I saw CurvedUI.process or similar as the fail point..and I did not have it in the scene at all. So I deleted the folder and now i can't work on the project because the input system got trashed and rebooting the editor does not work. How do I get my event system working again and controls accepting clicks and rollovers? Frustrating and cost me time I cannot afford. I am going to put it back in the project from the Asset Store downloads just to work again..hopefully... but this is bogus. Do not hog the users application innards like this.

    And to confirm. I had to add it back to the project to get my controls to accept inputs. I am using it in exactly no scenes in the entire project. So now I cannot get proper input from the TMP_InputField on ending edit.
     
  13. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,048
    Hi I could use some assistance in getting controller interaction working with Unity 2017.1.1p2 and VRTK 3.2.0 installed. Seems to be issues with controller initialization due to the way VRTK does SDKSetup support.

    Any help appreciated.

    Code (CSharp):
    1. Can't find SteamVR_ControllerManager on scene. It is required to use VIVE control method. Make sure all SteamVR prefabs are present.
    2. UnityEngine.Debug:LogError(Object)
    3. CurvedUIInputModule:SetupViveControllers() (at Assets/CurvedUI/Scripts/CurvedUIInputModule.cs:570)
    4. CurvedUIInputModule:OnEnable() (at Assets/CurvedUI/Scripts/CurvedUIInputModule.cs:157)
    5.  
    6.  
    7. NullReferenceException: Object reference not set to an instance of an object
    8. UnityEngine.EventSystems.BaseInputModule.OnDisable () (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/InputModules/BaseInputModule.cs:62)
    9.  
     
  14. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,048
    Hi I got some help from @bddckr on the VRTK Slack. I still have some questions about the best way to integrate pointers.
     
  15. Harokel

    Harokel

    Joined:
    Nov 2, 2012
    Posts:
    51
    Hi!

    My problem is that I modify text using code but it is not displayed in an android phone. Its work correctly in the editor and the game scene. I have tried to force CurvedUI object to redraw by using the following line (in curvedUI documentation):

    YourObject.GetComponent <CurvedUIVertexEffect> (). SetDirty ();

    But doesn´t work for me.
    Sorry for my bad english :-(

    Thanks!
     
  16. Slem

    Slem

    Joined:
    Jan 28, 2009
    Posts:
    191
    @ibyte Would you like to share how you got it to work?
     
  17. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    Yeah.. It is like they are bragging. Howzabout telling us how you resolved the problem you asked about or found the answer to. I still have the issue where if i remove his folder my UI will not work anymore. there was no reply about this and Unity pushed this Asset. I wonder how many other got borked..
     
  18. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,048
    Sorry, I haven't checked back in a while. If your using VRTK, I would expect your on their slack and you might have tried a search there.

    So I basically took the easy way out and decided to only support OpenVR in my app. Once you setup VRTK for only 1 SDK, CurvedUI no longer has those issues.

    If you really need to support multiple SDK's in your app then you need to follow the instructions to add support for a callback from the SDK Manager in each scripts OnEnable() to make sure the SDKManager has finished enabling all active SDK's.

    Hope this helps
     
  19. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,048
    Now I am stuck as I want to only use 1 pointer to do both Teleports and CurvedUI interactions, both using the trigger button.

    CurvedUI's Raycast is always on which I don't like and I would like to fully use VRTK's UI Pointer instead
     
  20. agarcialeon

    agarcialeon

    Joined:
    Sep 4, 2014
    Posts:
    8
    Is there any way to implement Windows Mixed Reality headsets with CurvedUI?

    I'm using the Lenovo Explorer controllers with CurvedUI.
     
  21. Held0fTheWelt

    Held0fTheWelt

    Joined:
    Sep 29, 2015
    Posts:
    173
    Where the hell is that "Enable Vive" Button ?
    It just doesn't exist in the CurvedUISettings component...
     
  22. djgriff

    djgriff

    Joined:
    May 29, 2014
    Posts:
    279
    Hello, i seem to have an issue where the collider component are not getting 'curved' with the button objects. I am using Google Cardboard . Anyone have a solution for this?

    Cheers

    Daniel
     
  23. massey_digital

    massey_digital

    Joined:
    Apr 28, 2013
    Posts:
    94
    I'm having an issue where I can't get the cursor to appear on the curved UI. The buttons still light up, but I can't see the cursor UI. I'm using Oculus with the OVR libraries.
     
  24. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Hia.

    I am still very new to this kit but I have been thrust into a situation where I need to support all VR devices in one project and I figured I'd just use CurvedUI as the one system to handle all since this way I only have to use RayCast collider and all that stuff. I see CurvedUI supports Oculus, GoogleVR and mouse inputs so this is great... only problem now is that if/when I do this:
    Code (csharp):
    1. curved_ui_settings = GetComponent<CurvedUISettings>();
    2. curved_ui_settings.ControlMethod = CurvedUIInputModule.CUIControlMethod.GOOGLEVR;
    3.  
    I get hundreds of errors about this:
    Code (csharp):
    1. CURVEDUI: Missing GoogleVR support code. Enable GoogleVR control method on CurvedUISettings component.
    I have the GoogleVR controller prefab in the scene so I thought I should be golden but, apparently, not... What am I missing?
    I am currently targeting Daydream, by the way.

    Thx
     
  25. MornFall

    MornFall

    Joined:
    Jan 11, 2013
    Posts:
    160
    Same issue here.. you figured it out ??
     
  26. FullMe7alJacke7

    FullMe7alJacke7

    Joined:
    Dec 17, 2013
    Posts:
    55
    Getting a null reference exception on this line. What am I doing wrong? Project was just fine when I quit working on it last month, opened it up to this error.

    NullReferenceException: Object reference not set to an instance of an object
    CurvedUI.CurvedUITMP.LateUpdate () (at Assets/_GUI & Input/CurvedUI/Scripts/Experimental/CurvedUITMP.cs:140)


    Code (CSharp):
    1. savedLocalScale = mySettings.transform.localScale;
     
  27. antrinh

    antrinh

    Joined:
    Jun 11, 2018
    Posts:
    12
    Hi @chisely , I have an issue.

    In my cardboard, the demo scene 05 VRMenuGaze isn't right, the gaze pointer doesn't accurate.
    upload_2019-1-31_10-2-11.png

    But another cardboard app the gaze is the same with 2 eye. What should I do now?
     

    Attached Files:

  28. antoniacerda

    antoniacerda

    Joined:
    Dec 10, 2018
    Posts:
    1
    Hi, Would it work for a 3d environment ?
     
  29. Team21Dev

    Team21Dev

    Joined:
    Apr 2, 2017
    Posts:
    6
    Wow a lot of issues, and no support. Thanks for the push Unity. Would like to know why this won't work between scene changes. Even if the canvas and event system aren't destroyed it bugs out. Also Gaze control wont properly select buttons on my canvas, I'd prefer to not have to build for touch to simply use this.
     
  30. Andy3D

    Andy3D

    Joined:
    Jan 31, 2015
    Posts:
    42
    Have just imported this into a fresh Unity 2019 project. I get this error:
    Assets\CurvedUI\Scripts\CurvedUIInputModule.cs(15,36): error CS0246: The type or namespace name 'GvrPointerInputModule' could not be found
    I am targeting Oculus Go.
    How do I go about getting this asset to work? Many thanks
     
  31. Held0fTheWelt

    Held0fTheWelt

    Joined:
    Sep 29, 2015
    Posts:
    173
    You have to import Packages with Package Manager, mostly OpenVR (Desktop) & Oculus(Desktop)
     
  32. wesp_s

    wesp_s

    Joined:
    Dec 1, 2017
    Posts:
    2
    I'm using CurvedUI (Unity 2019) just to bend some not interactable canvases, so I didn't add CurvedUIInputModule to the EventSystem.
    The problem is that when I select the object on which CurvedUISettings is attached, CurvedUIInputModule will automatically be added on my EventSystem gameobject.

    Another similar problem happened runtime. I don't have any CurvedUIInputModule attached to the EventSystem, but when I load the scene it will automatically be added to the EventSystem.

    Is there any solution to this? I'm missing some settings? (I just disabled the Interactable checkbox on all CurvedUISettings in the scenes)
     
    Last edited: Jun 17, 2019
  33. chisely

    chisely

    Joined:
    Jan 14, 2016
    Posts:
    6
    Hi everyone.
    I very rarely check these forums, so if you need help with anything please be sure to reach out to me at the support email: curvedui@chisely.com. This way you can be sure I got the message.

    I'll be happy to help!

    Cheers,
    Daniel
     
    Held0fTheWelt likes this.
  34. Zapan15

    Zapan15

    Joined:
    Apr 11, 2011
    Posts:
    186
    Hi, we want to scroll in a ScrollView with a CustomControllerRay. How can we do this, as we can only set CustomControllerButtonState to true/false. I think we need something like CustomControllerButtonStateHoldDown?
     
  35. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    79
    ibartha likes this.
  36. sera0506

    sera0506

    Joined:
    Apr 1, 2014
    Posts:
    7
    Hi!
    does this tool support Vector Graphics (SVG importer)?
     
  37. garrido86

    garrido86

    Joined:
    Dec 17, 2013
    Posts:
    233
    Is it possible to have Gaze and Touch Input at the same time?
     
  38. tomph

    tomph

    Joined:
    Nov 6, 2013
    Posts:
    33
    Are there any plans to support ActionBasedControllers in UNITY_XR?
     
  39. m4d

    m4d

    Joined:
    Jan 25, 2012
    Posts:
    27
    I came here to ask exactly that! :)
     
    ibartha, SI_007 and Mikejmc like this.
  40. Mikejmc

    Mikejmc

    Joined:
    Mar 2, 2015
    Posts:
    21
    Very keen for this too, we made the jump to the new input system so CurvedUI is essentially broken. :T
     
    ibartha, SI_007 and m4d like this.
  41. ibartha

    ibartha

    Joined:
    Oct 6, 2012
    Posts:
    7
    Same here...I was going to use a curved canvas but apparently the Curved UI engineers think that its fine to replace/disable components at runtime because the tool is so awesome that it can just overwrite the project architecture.
    throwing errors on update, but hey I got a curved ui!
     
    tomph likes this.
  42. DirtyFred

    DirtyFred

    Joined:
    May 17, 2014
    Posts:
    29
    Hi,

    I have the same question, did you find a fix?

    I have this curved UI asset but the input systems are not compatible, MRTK only lets one input module to be active...
    https://assetstore.unity.com/packag...ready-solution-to-bend-warp-your-canvas-53258

    Do you know any workaround?

    Thank you
     
  43. Davood_Kharmanzar

    Davood_Kharmanzar

    Joined:
    Sep 20, 2017
    Posts:
    411
    you can't at the moment ...
    MRTK have their specific canvas ...
    so, you have to invent your mixed solution ;)
     
  44. hiab-x

    hiab-x

    Joined:
    Apr 14, 2013
    Posts:
    34
    Oh boy, these user reviews are great.
     
  45. AIStudio

    AIStudio

    Joined:
    Apr 10, 2017
    Posts:
    3
    Hello

    I am using Curved UI in my unity project version 2020.3.11f1. Now for VR Interaction, I added
    VR Interaction Framework (VRIF) from the asset store.

    After adding the VRIF framework getting below error :

    Code (CSharp):
    1. Assets/CurvedUI/Scripts/CurvedUIInputModule.cs(20,22): error CS0234: The type or namespace name 'Interaction' does not exist in the namespace 'UnityEngine.XR' (are you missing an assembly reference?)
    2.  
    In Player Setting, Scripting defines symbols automatically added CURVEDUI_UNITY_XR as symbol. Unable to remove CURVEDUI_UNITY_XR from scripting define symbol. I think this issue happening due to conflict of input system and scripting define symbol

    If I add Input System package from the Package manager, automatically CURVEDUI_UNITY_XR symbol added. I need to use CURVEDUI_OCULUSVR only

    Does anyone have a solution?
     
    Last edited: Dec 16, 2021
  46. lorenalexm

    lorenalexm

    Joined:
    Dec 14, 2012
    Posts:
    307
    You need to enable Preview Packages within the Package Manager, and import the XR Interaction Toolkit that Unity provides. The CurvedUI is referencing this interaction package, not one from the Asset Store.
     
  47. garrido86

    garrido86

    Joined:
    Dec 17, 2013
    Posts:
    233
    @chisely

    I'm using CurvedUI on mobile in optional combination with Cardboard mode, so I need the ability to interact with the UI through Gaze and Touch at the same time, so a hybrid so to speak.
    How can I solve this issue, is there a workaround for this?