Search Unity

[Released] UI 3D-System: advanced solution for 3D objects in GUI

Discussion in 'Assets and Asset Store' started by MODev, Feb 7, 2018.

  1. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229

    I'm happy to announce new great GUI plugin: UI 3D-System, the extended version of UI Particle System.

    UI 3D-System is advanced solution for 3D objects and particles used in Unity GUI. With this plugin you will not need to worry about changing sorting orders, adding multiple canvases, etc. With it you can just add 3D Renderers or particles to GUI in few quick steps. UI 3D-System is also mobile friendly, its very efficient depth buffer generating method makes is very cheap for performance.

    Features:
    -rendering particles on GUI, based on custom depth buffer
    -rendering 3D models on GUI, based on custom depth buffer
    -full support for Shuriken Particle System (only what you need to change is shader)
    -culling mask feature (so you can use particles in scroll views, etc.)
    -support for lights on 3D models
    -easy to setup component-attach UI 3D-System
    -advanced, highly customizable shaders for particles, 3D standard models, unlit and transparent objects
    -support for GUI distortion effects
    -possibility to easily extend system with own shaders
    -support for perspective view of rendered 3D object with GUI culling
    -support for multiple cameras with different set-ups
    -support for Shader Amplify Editor, easy to use node based shader editor: http://u3d.as/y3X

    Perfect for:
    -3D previews of game characters in GUI
    -3D previews of in-game rewards on GUI view
    -special effects of GUI elements like buttons or other interactable elements
    -rewarding effects with complicated and advanced particles
    -game card effects

    Requirements:
    -Unity GUI
    -Canvas with Screen Space - Camera mode or World Space mode. System does not work without GUI camera set
    -Standard Rendering Pipelne

    Supported depth/culling sources:
    -Image (GUI component)
    -RawImage (GUI component)
    -RectTransform with selected, in component, texture

    You can find it here: https://assetstore.unity.com/packages/tools/gui/ui-3d-system-109573
    Please note that if you have already bought UI Particle System, you will be able to buy upgrade to UI 3D-System instead of paying full price.

    LWRP/HDRP pipelines are not supported (because they are still in large changes stage).



     
    Last edited: Dec 16, 2020
  2. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Update to 1.04 has been released!
    What's new:
    - Added UI3DRectTransSizeFollower
    - Added Soft particle collision with GUI
    - Improved UI3DCanvas mask refresh on resize game view
    - Fixed issue with inverted culling mask on some platforms
     
  3. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    I have great news, version 1.07 has been released and there are new cool features!
    What's there:
    -added distortion particle shader
    -added support for Amplify Shader Editor, so you can make in no time your custom shaders to make great 3D effects for GUI!
    Check out how button below can be animated with use of shader from ASE: https://i.imgur.com/fINLelt.gif

    (Of course now you can make more like melting buttons, advanced shaders for character previews and many many more, check out for possibilities here: http://u3d.as/y3X)
     
    Last edited: Apr 3, 2018
  4. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Great news! Now Mesh Effects also work with UI 3D-System!
     
    umcherrel likes this.
  5. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Next effects package joined to support for UI 3D-System: Materialize FX!
     
    umcherrel likes this.
  6. mehtanitish

    mehtanitish

    Joined:
    Mar 22, 2016
    Posts:
    14
    Thanks for such a great plugin! I am facing an issue in Menu3D scene, for each panel the first button is in highlighted state by default. I am unable to find any script which might be doing this. Could you please tell me what is causing the top button on each panel for Menu3D scene to be in highlighted state on start?
     
  7. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hi! I'm happy to hear that you like it :)
    Have you set proper layer in Ui 3d canvas inspector? I mean different than your gui layer and something which your gui camera doesn't see. Best if you could send me screenshot of gui and your ui 3d system settings on support mail so I could see how it looks like if above thing does not help.
     
    Last edited: Jul 10, 2018
  8. Gillissie

    Gillissie

    Joined:
    May 16, 2011
    Posts:
    305
    Hi there. I got this working in the editor, but it doesn't appear to work on WebGL builds. Any tips? Or am I just out of luck? The main platform for our game is WebGL.
     
  9. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hi! Thanks for buying UI3DSystem.
    Have you checked if in Mask layer in UI3D Canvas you have mask different than the Culling Mask in your GUI camera? It's common thing and sometimes randomly editor allows to work without this.
    If this doesn't help maybe you could send me on support mail screen shots with your UI3D Canvas, GUI camera, Canvas and particles/3d object material configuration?
    UI 3D-System works on every platform (it's very platform independent so should work on everything which supports Unity GUI).

    Edit:
    I've double checked build for WebGL and example scenes work without problem
     
  10. Gillissie

    Gillissie

    Joined:
    May 16, 2011
    Posts:
    305
    At first it seemed that WebGL builds didn't work, but it turned out that the compiler was stripping the unused keywords for enabling the clipping mask because I didn't have any materials with that enabled in my assets since I swap shaders at runtime. The solution to this was to simply make a placeholder material with the UI3D shader chosen, and enable the clip mask on the material. Then, put that placeholder material in a Resources folder so it's included in the build. Nothing actually needs to use the material, it just needs to exist with the keyword enabled so it doesn't get stripped by the compiler during the build.

    Here is the function I wrote for swapping shaders at runtime to be able to use any object as a clipped object without the need to explicitly create multiple materials for everything.

    Code (CSharp):
    1. // Prepares a 3D object for UI masking by replacing the shaders with the maskable one,
    2. // and then enabling the clipping mask.
    3. // This works in conjunction with UI3DDepthObject and UI3DCanvas.
    4. public static void enable3DUIMask(MonoBehaviour component)
    5. {
    6.     Renderer rend = component.GetComponent<Renderer>();
    7.     Material[] mats = rend.materials;
    8.  
    9.     for (int i = 0; i < mats.Length; i++)
    10.     {
    11.         Material mat = new Material(mats[i]);
    12.  
    13.         // This line could be more dynamic by checking the existing shader name
    14.         // and choosing one of the various shaders based on that.
    15.         mat.shader = Shader.Find("MODev/UI3D/Standard");
    16.  
    17.         mat.EnableKeyword("USE_CLIPPING_MASK");
    18.         mat.EnableKeyword("USE_CLIPPING_MASK_ON");
    19.  
    20.         mats[i] = mat;
    21.     }
    22.  
    23.     rend.materials = mats;
    24. }
     
    MODev likes this.
  11. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Because Xmas time is coming I've prepared video tutorial, how to add snow into gui with use Ui particle system or Ui 3d-system plugin here:
     
  12. wadewt

    wadewt

    Joined:
    Mar 17, 2013
    Posts:
    16
    Hello, I was just wondering if there's chance of this asset supporting the HDRP?
     
  13. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hi,
    we are planning to add support for HDRP and LWRP when it become more stable and won't cause errors like this: https://forum.unity.com/threads/maximum-shader-keywords-exceeded.515431/ but for now it's not supported. I think it can come in incoming month or two (first will be full LWRP support because UI3DS works there nearly without changes - just few shader fixes)
     
  14. wadewt

    wadewt

    Joined:
    Mar 17, 2013
    Posts:
    16
    Thanks for the information, looking forward to the update.
     
  15. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Here it is!
    Support for semi-transparent clipping masks and semi-transparent (non-overlapping) depth objects has been added to UI 3D-System.
    Now available at version 1.23!
     
  16. kdion4891

    kdion4891

    Joined:
    May 29, 2019
    Posts:
    2
    I need help. What is your email or discord? I want to use a mask on a scroll view to just hide the 3D objects in the viewport. I can't figure it out.
     
  17. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hi,
    I've just answered for your question in forum PM :)
     
  18. Hong_Ki_min

    Hong_Ki_min

    Joined:
    Sep 12, 2018
    Posts:
    1
    The canvas option used in the video is Screen Space-Camera.
    If the canvas option is a screen space-overlay, does it work the same as the example video?
    If it works, I want to watch it as a video.
     
    Last edited: Jan 10, 2020
  19. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Screen space Overlay is not supported for now. Only Screen Space Camera mode or World Space mode are available. It's because Overlay mode is quite limited and does not allow to add certain features to GUI
     
  20. BenWilles

    BenWilles

    Joined:
    Mar 9, 2018
    Posts:
    41
    Hi, is this ready for 2019.2?
    Want to buy it but have seen that the particles only package you also offer has an update for 2019.2 but this hasn't
     
  21. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Does support Unity 2019.2 ?
     
  22. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Yes, sure, it supports 2019.2 (even 2019.3) standard rendering pipeline. Asset code from previous versions is compatible with 2019.2 and that's why it hasn't been reuploaded for this version (although if there will be anything wrong just send email to us and we will send you package version directly from 2019)
     
    BenWilles likes this.
  23. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Many people asked if certain version is supported so here's the list of currently supported versions:

    Of course if 2019.4, 2020 etc. will come we plan to support them too.
     
  24. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Hi there!
    I keep getting this exception since I started using the asset, any idea why its happening?

    Thank you!
    pistoleta
     
  25. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hey pistoleta,
    Do you get this also at example scene? If not can you please send us on support email screens of your ui setup? (canvas, ui3d canvas, hierarchy, etc). Also please write which Unity version do you use.
     
  26. shafqat_jamil

    shafqat_jamil

    Joined:
    Mar 30, 2014
    Posts:
    9
    Hi MODev,
    Thanks for this great asset. I purchased it today and successfully configured it. It working but I am facing issue while masking 3d objects in scroll view. Edges of 3d objects are not being clipped correctly, please see attached screenshot.
     

    Attached Files:

  27. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hi @shafqat_jamil, thank you for kind words :)
    This mask seems offseted a lot (it shouldn't) or ... squized. Can you send please (probably best on our support mail) screens of your configuration?:
    1) UI3D Cavnas (especially with visible/unfolded mask previews)
    2) Mask (with UI3D Depth Object)
    3) Hierarchy of game objects (is it just canvas->object/UIElement->...->Mask->...->Mesh or looks something differently?)
    4) Is mask/window resized in runtime? (it's not a problem but needs one checkbox selected)
     
  28. shafqat_jamil

    shafqat_jamil

    Joined:
    Mar 30, 2014
    Posts:
    9
    Thanks for the quick reply. Where can I find your support email?
     
  29. shafqat_jamil

    shafqat_jamil

    Joined:
    Mar 30, 2014
    Posts:
    9
    I am attaching screenshots here, can also send via email with my receipt. Last image shows 3d object hierarchy.
     

    Attached Files:

  30. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hey, I've tried to write to you private message but probably you have blocked conversations?
    Our support mail you can find at: https://assetstore.unity.com/publishers/5704 (or it's always in every of our asset's documentation)
    Your setup looks good. But:
    1) I can see custom script "Screen Resolution Controller" - is there a chance that it makes some changes with UI size? Can you, just for test, disable it and check if it's working fine?
    2) Screenshot with UI3DCanvas is not in play mode upload_2020-7-9_7-55-43.png so I cannot say if it's ok comparing to in-game screenshot of "Track skins" window upload_2020-7-9_7-56-18.png . Can you please send screen how it looks in play mode? (best on support mail)
    3) We haven't tested yet added Image component directly to Canvas. Can you, just for test, disable it and check if it's working fine?
     
  31. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Above problem solved: if someone find the same issue, it's probably caused by rotated camera. Can be solved by set rotation of camera to 0 or selection checkbox in 3D object material "Cast UI culling to screen space"
     
  32. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Hello guys, I followed the instructions to show particles on the UI and works fine but I have this in the world space and I dont know how to get rid of it:

    Theres that yellowish rectangle I dont know is being captured by the camera, as you see belongs to the UI and it disappears if I disable the UID Depth Object.
    Any hint of what's happening?
    Thanks
     
  33. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hi pistoleta: please check if none of your cameras have in culling mask enabled the layer which you have selected in Ui3d canvas component. Also on right top of Unity window you have "layers" drop down - uncheck there the layer which you have chosen to be used by Ui 3d canvas component.
    This yellow rectangle is Ui 3d canvas's layer which you have set
     
  34. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Thanks for your quick response. Ill do that immediately. We are getting very strange build errors too:
    Code (CSharp):
    1. Error","RenderTexture.Create failed: width & height must be larger than 0","RenderTexture.Create failed: width & height must be larger than 0","UI3DCanvas.Reinitialize() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:133
    2. UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:164
    3. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    4. "Error","RenderTexture.Create failed: width & height must be larger than 0","RenderTexture.Create failed: width & height must be larger than 0","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:180
    5. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    6. "Assert","Invalid worldAABB. Object is too large or too far away from the origin.","Invalid worldAABB. Object is too large or too far away from the origin.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    7. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    8. "Error","Trying to add SwipeIcon (UnityEngine.UI.Image) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","Trying to add SwipeIcon (UnityEngine.UI.Image) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    9. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    10. "Error","Trying to add BarBackground (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","Trying to add BarBackground (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    11. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    12. "Error","Trying to add BarBorder (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","Trying to add BarBorder (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    13. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    14. "Error","Trying to add BarProgress (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","Trying to add BarProgress (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    15. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    16. "Error","Trying to add BackgroundShadow (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","Trying to add BackgroundShadow (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    17. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    18. "Error","Trying to add Background (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","Trying to add Background (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    19. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    20. "Error","Trying to add ColorBackground (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","Trying to add ColorBackground (UnityEngine.UI.ProceduralImage.ProceduralImage) for graphic rebuild while we are already inside a graphic rebuild loop. This is not supported.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    21. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    22. "Assert","Invalid AABB a","Invalid AABB a",""
    23. "Assert","Invalid AABB a","Invalid AABB a",""
    24. "Error","Mesh 'MeshUIParticleMaskObjectsOnFront': abnormal mesh bounds - most likely it has some invalid vertices (+/-inifinity or NANs) due to errors exporting.
    25. Mesh bounds min=(nan, nan, 0.00), max=(nan, nan, 0.00). Please make sure the mesh is exported without any errors.","Mesh 'MeshUIParticleMaskObjectsOnFront': abnormal mesh bounds - most likely it has some invalid vertices (+/-inifinity or NANs) due to errors exporting.
    26. Mesh bounds min=(nan, nan, 0.00), max=(nan, nan, 0.00). Please make sure the mesh is exported without any errors.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    27. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    28. "Assert","In order to call GetTransformInfoExpectUpToDate, RendererUpdateManager.UpdateAll must be called first.","In order to call GetTransformInfoExpectUpToDate, RendererUpdateManager.UpdateAll must be called first.","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    29. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    30. "Error","RenderTexture.Create failed: width & height must be larger than 0","RenderTexture.Create failed: width & height must be larger than 0","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    31. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    32. "Assert","Assertion failed on expression: 'IsFinite(outDistanceForSort)'","Assertion failed on expression: 'IsFinite(outDistanceForSort)'","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    33. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    34. "Assert","Assertion failed on expression: 'IsFinite(outDistanceAlongView)'","Assertion failed on expression: 'IsFinite(outDistanceAlongView)'","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    35. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    36. "Assert","Invalid AABB a","Invalid AABB a","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    37. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    38. "Assert","Invalid AABB aabb","Invalid AABB aabb","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    39. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    40. "Assert","Expanding invalid MinMaxAABB","Expanding invalid MinMaxAABB","UI3DCanvas.RefreshMask() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:181
    41. UI3DCanvas.Update() at /Plugins/UI3DSystem/Scripts/UI3DCanvas.cs:60"
    42. "Assert","Invalid worldAABB. Object is too large or too far away from the origin.","Invalid worldAABB. Object is too large or too far away from the origin.",""
    43. "Assert","Invalid AABB a","Invalid AABB a",""
    44. "Assert","Assertion failed on expression: 'IsFinite(outDistanceForSort)'","Assertion failed on expression: 'IsFinite(outDistanceForSort)'",""
    45. "Assert","Assertion failed on expression: 'IsFinite(outDistanceAlongView)'","Assertion failed on expression: 'IsFinite(outDistanceAlongView)'",""
    46. "Assert","Invalid AABB aabb","Invalid AABB aabb",""
    47. "Assert","Expanding invalid MinMaxAABB","Expanding invalid MinMaxAABB",""
    48. "Assert","Invalid worldAABB. Object is too large or too far away from the origin.","Invalid worldAABB. Object is too large or too far away from the origin.",""
    49.  
    Could you give us a hint of what is happening?
    Thanks a lot.
    Juan
     
  35. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    AHHHHH! I was using normal UI for everything, I didn't read well and didnt understand I had to use a separated layer for the UI3D, okay, just changing the layer to the ACSCulling one (I guess the asset created it) it worked.

    Thanks!
     
    MODev likes this.
  36. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Asset don't create any layer (its up to user). But if this layer does not colder with anything else it's fine. Error might be because of UI layer use.
     
  37. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Hello again.
    We have been testing in order to create our own particle systems for the UI and we just found an important problem about the illumination of the particles:

    These coin particle system is being spawned inside a UI3D DepthObject, but they dont have illumination obviously, how could we give them light without affecting the rest of the UI ?
    Thanks in advance!!
     
  38. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hi,
    Have you tried to add light to scene with mask for ui only? Another way is to have specyfic layer for only those objects that you want to lit and make that light affect only this layer
     
  39. BenWilles

    BenWilles

    Joined:
    Mar 9, 2018
    Posts:
    41
    Just tried but no changes. But our normal directional light already effects all layers, just wondering why not the particles
     
  40. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Which shader do you use? Maybe it's the unlit one? Have you tried setup like in example scene? (there are not particles but just 3d mesh but it should be the same case)
     
  41. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    If above didn't help, please write to our support mail and we will send you an example with particles only
     
  42. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Seems the problem was the directional light.
    Here we were spawning the particles:


    And this was or only directional light in scene:

    I tried adding another directional light like this:


    And seems this way the particles got light, although I've read there are some problems where adding different directional lights in the same scene.

    What do you think? is this the right approach?
    Thanks a lot for your support.
     
  43. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    I tried the example scene, it works fine.
     
  44. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Oh I see, the light was in wrong direction :)
    Yes you shouldn't add more than 1 Directional light in matter of performance if they work for the same camera. Maybe you could try use baked light or reflection probes instead of it? Or just use culling mask for light for UI to separate it from main rendering camera: https://docs.unity3d.com/Manual/class-Light.html
     
  45. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Hello guys, sorry to bother you again but we just had another problem with the asset.
    Once we had it set up like I shown you yesterday, with 2 different lights, we started testing the Particle systems and adjusting the new second light.
    Next thing we knew is ALL the canvas elements had the coordinates in the RectTransform with Nan values.
    This gave all kind of console errors.
    Do you think some part of the asset could have caused this? Its the first time we see something like this, we solved it just rolling back with unity collab but I have my team pressuring me this is somehow's the asset's fault.


    This is the type of message we had in console before we rolled back.
    We are testing again so we will keep you updated.
    Thanks a lot for your good support.

    PS: We are using Unity 2019.4.5f
     
    Last edited: Jul 30, 2020
  46. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    As far as I know it cannot be from this asset because it does not change anything in base objects. It generates only some new one but they also does not change anything in canvases or rect transforms. Also no one else reported that kind of issue before (I cannot show you but we have quite big group of customers so for sure that would appear before - ofc it could appear in latest unity version but as I said we don't modify the base transforms ).
     
  47. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    Been googling abotut this error and is quite common, I think is related with using physics with the particles inside the UI.
    Ill keep you updated.
    Thanks again
     
  48. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    I remember that kind of case. It was when particles have ui object as a child
     
  49. Sparty93

    Sparty93

    Joined:
    Dec 6, 2015
    Posts:
    4
    Hi,

    I seem to be running into a new issue. Not sure exactly when it happened, but at some point I have moved the project over to 2021.2.x (currently on b11). Now I can't get the "Use clipping mask?" to stay persistent.

    I have created material which I then have added your shader (happening with all of them). When I tick the box it resets as soon as I save the project (or press play in the editor). All other settings in the shader stay persistent. Also, If I start the game in the editor, invoke the UI I can tick the box and all masking works fine. At first I thought this had something to do with the particle material property block, but it is happening everywhere even to just regular game objects. In fact, it's happening just in the material directly when I try to save it. Thx
     
    Last edited: Sep 14, 2021
    mhardy likes this.
  50. MODev

    MODev

    Joined:
    Jul 30, 2013
    Posts:
    229
    Hi @Sparty93,
    Sorry but we are not supporting beta versions as they have proven to have some random issues and it's not worth for us to check them. If you are a programmer (or have coder support) maybe you could check our shader inspector code on debug why Unity blocks this value? It's quite unusual behaviour as far as I know.