Search Unity

AnyUI - Map Your UI On Any 3D Surface

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

  1. piluspalus

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    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.
     
    piluspalus likes this.
  3. piluspalus

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    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. piluspalus

    piluspalus

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

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    Now 66% off !
     
  6. piluspalus

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    Now with VRTK support!
     
  7. piluspalus

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    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:
    45
    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. dsantelli

    dsantelli

    Joined:
    Nov 14, 2016
    Posts:
    5
    Hi,
    I'm building a VR app with oculus sdk for Android though
    i have this alert on the console:
    Platform does not support compute shaders
    UnityEngine.ComputeShader:Dispatch(Int32, Int32, Int32, Int32)
    AnyUI.AnyUIMimeTransformUpdater:DispatchShaderInvocation() (at Assets/AnyUI/Assets/Scripts/AnyUIMimeTransformUpdater.cs:119)
    AnyUI.AnyUIMimeTransformUpdater:Update() (at Assets/AnyUI/Assets/Scripts/AnyUIMimeTransformUpdater.cs:132)​
     
  10. piluspalus

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    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
     
  11. 4sascha

    4sascha

    Joined:
    Mar 9, 2017
    Posts:
    45
    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.
     
  12. piluspalus

    piluspalus

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

    ElChileVengador

    Joined:
    Feb 4, 2013
    Posts:
    19
    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.
     
  14. piluspalus

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    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!
     
  15. 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.
  16. Pimpace

    Pimpace

    Joined:
    Sep 21, 2017
    Posts:
    19
    (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!
     
  17. piluspalus

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    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:

  18. Pimpace

    Pimpace

    Joined:
    Sep 21, 2017
    Posts:
    19
    @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.
     
  19. Pimpace

    Pimpace

    Joined:
    Sep 21, 2017
    Posts:
    19
    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)
     
  20. piluspalus

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    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
  21. 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?
     
  22. piluspalus

    piluspalus

    Joined:
    Jan 31, 2016
    Posts:
    13
    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