Search Unity

AnyUI - Map Your UI On Any 3D Surface

Discussion in 'Assets and Asset Store' started by PhilippCB, Jun 25, 2017.

  1. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    https://www.assetstore.unity3d.com/en/#!/content/91811
    Turn any 3D object in your scene into a Unity GUI, including e.g. curved screens, hemispheres (examples contained in the package) etc.
    Interact with the GUI via the object. Use all features from the Unity GUI system and design your GUI as always.

    Features:
    • full Unity UI system support
    • projects the UI over UV coordinates onto the 3D object
    • passes input events that occur on the 3D object's surface (for example mouse click/hover) back to the Unity UI
    • showing the projected UI on the 3D object in Edit Mode already (to ease UI design)
    • works with the unity Standalone Input Module
    • scenes and objects showcasing the Asset
    Hey everyone : )
    Feel free to ask questions or write suggestions to improve the asset!
    Or write pms to anyuics at gmail.com.
    Philipp

    EDIT:
    A video showcasing the Asset :) :


    EDIT:
    Now 66% off !
     

    Attached Files:

    Last edited: Aug 1, 2017
    coverpage and TeagansDad like this.
  2. coverpage

    coverpage

    Joined:
    Mar 3, 2016
    Posts:
    385
    Amazing. Does it matter where the normal are pointing. How does it select the faces. And what if it is a closed surface.

    Edit: Scratch that, just realize you use the uv. The UV must be clean and not overlapped. I like this idea a lot.
     
    PhilippCB likes this.
  3. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Thank you coverpage! I will soon post a little video showcasing the asset.



    EDIT:
    The video showcasing the Asset :) :
     
    Last edited: Jul 2, 2017
  4. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Finally the asset updates were accepted and put to the asset store :)
    I appreciate every rating or comment !
    Cheers
    Philipp
     
  5. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Now 66% off !
     
  6. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Now with VRTK support!
     
  7. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    now with a new feature:
    track your ui objects and have a Transform follow their projected position on the 3d surface! good for particle effects for the ui object or "hint boxes", also seen in our new example scene.
    more cool example scenes and a VR video will come soon
     
  8. 4sascha

    4sascha

    Joined:
    Mar 9, 2017
    Posts:
    51
    Hey. I have a problem because my my main world space canvas (here no any ui canvas) has as as cildren a scrollrect and they are two canvas which you can slide ( both have any ui canvases) . these you can horizontal scroll.
    I can not get it to run run(no slide; seems no racast input) with any ui mesh because i can only attach one of the horizontal scroll canvases to any ui mesh.
    Do you have an idea.
    When i attach the main canvas to any ui mesh there is no output at all. There is a render output by attaching to on of the child canvases but no movement.
     
    Last edited: Aug 22, 2018
  9. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Hi 4sascha, sorry for the late reply as i don't login into the forums that often (a message to our support mail anyuics at gmail . com will be answered faster). To your problem: i don't quite understand your setup. As far as i understand you want to have a (flat) worldspace canvas with two slide - uis. So what do you need AnyUi for if you want to have a flat canvas ? do you want to be able to show the 'normal' ui and the two sub-uis again on a 3d mesh at the same time ? be sure to setup the anyui uis corrrectly : there has to be a 'Canvas' component and a 'AnyUiCanvas' component on the canvas you want to have on the 3d mesh and on the 3d object there needs to be a 'AnyUiMesh' component. You also can send your scene to the customer support email and i can look what the problem is.


    Hi dsantelli,
    Yes the anyui asset uses unity compute shaders. https://docs.unity3d.com/Manual/ComputeShaders.html gives an overview whether your target device supports compute shaders. In your case, your android phone needs to implement opengl es 3.1 or support Vulkan. You can download an App in the play store (like opengl info or similar) to see which versions your phone supports. Then you can modify your Player Settings in the Editor to Build against OpenGL 3.1 or Vulkan. If your Target Platform / device does Not support compute shaders, i am afraid i cant help you. However this only affects the specific feature with "AnyUiMimeTransforms" (track ui objects on the 3D mesh). The core feature - using the unity ui on 3D objects - still works. So to get rid of the errors you could try to delete all script components in the scene that use this 'Mime Transform' feature (see https://drive.google.com/file/d/1QupN-5RTOzgCLe7kp8qlvyhyf-I1ujYz/view our documentation, section 5).


    Best Regards ,
    Philipp
     
  10. 4sascha

    4sascha

    Joined:
    Mar 9, 2017
    Posts:
    51
    Hello Phillip,
    i will prepare a little test package.
    Can you send the customer support email to
    sascha.sa.schulz@bmw.de
    I could not find it and tried hard.
     
  11. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    I sent an email a few days ago. The customer support email is anyuics at gmail.com
     
    keeponshading likes this.
  12. ElChileVengador

    ElChileVengador

    Joined:
    Feb 4, 2013
    Posts:
    27
    This is a super interesting plugin. I'm considering buying it but I have one question. I see in the documentation that it allows to mime 3D objects to GUI positions, but I wonder if the plugin supports the opposite; to have GUI elements in the canvas follow 3D objects? For example if we had an isometric game on a curved surface and we wanted GUI elements to follow the player around.
     
  13. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    if i understand correctly and you mean gui elements projected on a mesh that follow other objects which are somehow related to the mesh (e.g. characters on a terrain):
    This is not supported at the moment. maybe i will consider including it into the next update.
    AnyUi is just a bunch of scripts translating texture coordinates to canvas coordinates and propagating input events between mesh and canvas.
    So you could achieve it yourself by scripting, too.
    Thank you though for this feature idea as it obviously has some use cases!
     
  14. zSkeeter135

    zSkeeter135

    Joined:
    Apr 12, 2015
    Posts:
    19
    any support for VRTK v4? I tried downloading the vrtk integration package but it is for the older one.
     
    bemrlab likes this.
  15. Pimpace

    Pimpace

    Joined:
    Sep 21, 2017
    Posts:
    41
    (I sent an email to anyuics@gmail.com but you not seem to get the message)

    Hello!

    I very like your package and I can use it for my project.
    I need curving a normal (not VR) Unity UI canvas with lots of element in it. What I interest very mush is curving UI with TextMesh Pro text components.
    I used to use other curving UI packages but they got a very bad performance impact on my project when I tried to show more thousand characters with TMP. Especially when I set a UI mask for page wrapping, so the text body may have more thousand chars.

    Can your AnyUI package handle such a situation without performance loss? I need the steady 60+ FPS for smooth UI effects.

    I like that you upgraded your code and assets for Unity 2018.3+, so I suppose you are using C# .NET4+ architecture.
    If your plugin can achieve such a work without heavy performance hit, I'd love to buy it.

    best regards;
    Pimpace


    ps.: if you can send screenshots or demonstration-video with FPS counter on them when you curving a canvas with TMP and 2-3000+ characters I'd appreciate it very much! Thank you!
     
  16. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    After being in contact with Pimpace via email (sorry again for the waiting time), here is a screenshot where i use text mesh pro on a curved screen, and as far as i see, it doesnt make a performance difference (see profiler window).

    EDIT: VRTK 4 support will come soon
     

    Attached Files:

  17. Pimpace

    Pimpace

    Joined:
    Sep 21, 2017
    Posts:
    41
    @piluspalus, thanks Mate! I bought your product. Now I'm trying how can I effectively make a "display like" 3D curved simple plane.... It would be a great thing if you implement such a feature. A simple script which can tessellate, bend and unwrap a basic unity plane. You could add these options: tessellate factor, bend angle, apply, revert, etc. to this component. It would be VERY handful. Now, I'm playing with ProBuilder, but couldn't make a simple curved plane... :( Those object you provided (full and half cylinder) is not good for me, I need lesser bend angle... just when you would just curve your UI a bit.
     
  18. Pimpace

    Pimpace

    Joined:
    Sep 21, 2017
    Posts:
    41
    Seems your plugin not seem to work with LWRP. :( Odd, because in editor and play mode it seems fine, but after you build the project, the new SRP handles render texture and transparent shaders in other way, so you cannot able to see the main camera. (which sees the curved 3D object not the canvas)

    Anybody tested this with LWRP/HDRP? (there isn't a note in the asset store that this is not working with the new SRP renderer)
     
  19. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Hi Pimpace,
    regarding the plane bending, there is a scene in AnyUI/Assets/CurvedSurface that experimentally supports what you want. See the AnyUICurvedSurface component on the object in the scene, you can adjust the parameters and see how the plane ist bent.
    but i am sure this is very easy todo in a 3d modeling software like blender as well, here an inspiration i made by me in 5 minutes, you can control the plane bending by modifying the bezier curve in edit mode (see attachment).

    regarding the problem after build, i will investigate, and post here. thank you for the bug report!
     

    Attached Files:

    Last edited: May 14, 2019
  20. jdc745

    jdc745

    Joined:
    Aug 18, 2017
    Posts:
    1
    Hi,
    I am using Oculus VR, and I am using the OVR raycasting to interact with cavases. I tried to use your plugin with OVR raycasting but it doesn't seem to work. Is there a way I can make the input from OVR raycasts propagate to the canvas?
     
  21. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Hi
    The guaranteed way to work with vr is via the VRTK asset (free). I am currently in holidays and can’t try it out with ovr, so I don’t know how it works. Basically the anyui mesh script is also a kind of raycaster which receives unity input messages. Maybe you can somehow send it the ovr gaze messages.
    Kind regards
     
  22. unity_scotty

    unity_scotty

    Joined:
    Oct 13, 2019
    Posts:
    3
    So we need to VRTK to work with this plugin? I am using Oculus VR and doing the same OVR setup as jdc745. I am not planning to use VRTK since it is not working with the lastest OVR SDK.

    Do we have a fix for the problem JDC745 mentioned?
     
  23. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Hi unity_scotty
    I do not plan to support all specific vr sdks, i dont have the resources for that sorry. I was only able to integrate it with VRTK because there was a simulator where i could test it without a vr headset.
     
  24. benjaprieto

    benjaprieto

    Joined:
    Mar 15, 2017
    Posts:
    2
    Hi!! I need to have a 2d canvas to handle some 2d controls. I see it being render correctly, but the 3d model used to curve the rest of the interface, seems to get all the input, if for example a button is displayed on top of the mesh used to render the curved interface, even if it is transparent part, it will not get the focus. Any way to control the order of input 2d canvas -> 3d world (including the ui that is used to render the curve surface)?
     
  25. benjaprieto

    benjaprieto

    Joined:
    Mar 15, 2017
    Posts:
    2
    Another issue, I noticed that increasing the screen size, the ui on the near the borders will start to loose input/focus, at least in the editor.

    Repro:
    - perspective camera looking at the half cylinder any ui
    - source ui is filmed by second camera in world perspective mode
    - Testing in 4k display, if view is expanded to full screen, or bigger than 1/3 the screen, it will lose input. See,s that this loss is for clicks, as mouseovers seem to work
     
  26. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    hello benjaprieto,
    regarding the first issue: the input is catched by the 3d object no matter if the ui is transparent or not. a first idea would be constructing the curved 3d model so that ui elements being on a 2d canvas behind the object are still reachable ?
    2nd issue: i dont have a 4k screen, can you reproduce the issue when you start with a smaller resolution and then switch to 1080p ? also, is this happening in both build and editor ?
    by the way (to all users), if you send me an email (see customer support email on anyui asset store page) i will be able to answer you more quickly.

    EDIT: i can not reproduce the 2nd issue. maybe you want to send me a .unitypackage file with a scene in it , to anyuicsa at gmail.com
     
    Last edited: Jan 12, 2020
  27. HardisGroupBAG

    HardisGroupBAG

    Joined:
    Jun 3, 2019
    Posts:
    6
    Hello, Can you precise what is the supported VRTK Version ? 3.3, 4, both ?
     
  28. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    hello, the supported VRTK version is still 3.3, 4 is not officially supported although i can imagine it is possible to integrate anyui into vrtk 4 without having to change it. As long as VRTK 4.0 is in beta state, anyui will be based on VRTK 3.x
     
    Last edited: Jun 12, 2020
  29. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    I am using AnyUI in HDRP 8.1.0 in 202.1b9. All seems to work very well except when ui objects are instantiated mid-game with a prefab. Then, the colliders are off the position as if it was a normal ui.

    As a workaround, I disabled and enabled the AnyUICanvas component, and it is instantaneously fixed. Just letting you know.
     
  30. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    Another issue found:

    With the above-mentioned workaround, everything works fine in the editor,.but in standalone built exe, it looks like collision is not working and ui buttons don't respond to any mouse click/hover etc. Could you help me with this?
     
  31. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    I will have to investigate for hdrp, i didn’t so far because I waited for it to be out of preview, which it is now since end of 2019 (I wasn’t constantly checking it).
    With your second problem, did you try that without hdrp ?
     
  32. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    I am sure without HDRP it will work :D but I am trying to get it to work in HDRP
    (btw, your asset, in general, is really well designed and I think you should promote it a bit more)
    Everything works just fine in editor, but not in standalone build...

    I know that it doesn't support HDRP yet, but if we can solve this issue, I am almost certain that your asset is HDRP ready.
     
  33. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Alright, i investigated a bit, and have found the following things. the root of all problems is the fact that anyui relies havily on an Edit mode script that sets everything up for the build/the run.

    1. this means that instantiations (programmatic setups of anyui objects) during runtime are not intended use of the asset. Instead, please set up your objects during edit mode and enable/disable them during runtime when needed.


    2. because of the mentioned Edit Mode script, if you plan to run your game in a specific resolution , e.g. wqhd or 4k, make sure that in the editor in your scene, set your maximum expected resolution in the Game tab and reopen the scene, then run it once in Edit mode. After this, a working version of this anyui scene with the maximum resolution will be stored in the project / build. so when running the build, it will work up to this max resolution you used in the editor, smaller resolutions will work too.

    3. HDRP:
    I followed this https://docs.unity3d.com/Packages/c...-definition@6.5/manual/Upgrading-To-HDRP.html official tutorial to port a project to hdrp and i didnt have any problems, apart from that the "old" baked lighting in the globe and terrain demo scene is of course overexaggerated and i didnt see anything. but for example in the "MimeTransformsFromUi2" scene the interaction with the ugly ui projected onto the sphere worked as expected. This was also the case for a standalone build. I cant reproduce problems regarding anyui mechanics with hdrp. if you have further problems, i think you need to send me a .zip containing an example project that shows how anyui doesn't work with your hdrp setup.
     
    Last edited: Jun 12, 2020
  34. blessonroy26

    blessonroy26

    Joined:
    Nov 23, 2018
    Posts:
    2
    Hi I am facing the same issue. The UI buttons arent responding to the mouse click/hover. Is there any way to fix this?
     
  35. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Hi, did you consider the things from my last post ? If it still doesn’t work please send me your minimal example scene that doesn’t work, via our support email. Kind regards
    Philipp
     
  36. antsonthetree

    antsonthetree

    Joined:
    May 15, 2015
    Posts:
    102
    @PhilippCB Just checking in - is this still planned to go open source at the end of Feb?
     
    coder2k likes this.
  37. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Yes! I hope i make it! Could be a few days later though!
     
    antsonthetree likes this.
  38. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    antsonthetree likes this.
  39. danielesuppo

    danielesuppo

    Joined:
    Oct 20, 2015
    Posts:
    331
    Hello! Your asset seem to be really nice, unfortunately it does not work with the XR input system.
    So, for VR is useless
     
    Last edited: Mar 2, 2022
  40. PhilippCB

    PhilippCB

    Joined:
    Jan 31, 2016
    Posts:
    29
    Hi, i am sorry to hear this!

    if i remember correctly, it only works with VRTK, there has never been support for XR input system.

    Anyways, the asset is free now and open source by the way https://github.com/infobeisel/AnyUI.

    Maybe a kindhearted programmer soul is willing to implement it, for the greater good?