Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Easy Decal - Decals everywhere

Discussion in 'Assets and Asset Store' started by Sycoforge, Oct 28, 2014.

  1. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    The package ships with several graffiti and damage decals, and we have some additional atlas packs on our roadmap.
     
    khos likes this.
  2. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    We have not planned any porting of the screen-space projectors to the forward built-in renderer atm. The box mesh projector can also enclose its receiver mesh (similar to ssd). However, non-static mesh decals are more performance heavy when use at runtime. Hopefully this answered your questions. :)
     
  3. FM-Productions

    FM-Productions

    Joined:
    May 1, 2017
    Posts:
    72
    Alright, thanks for the answer!
    I'll profile the performance of the SSDs a bit later and maybe I'm going to switch to the deferred rendering path. But I'll likely stick with the screen space decals due to their similar behaviour to the hdrp projectors. Regarding the lighting, a simple compromise I found for now (which I might try to change up later) was to just use the SSD unlit multiply shader for the forward rendering path provided in your package. There are some flaws with this approach, but it gives the illusion that the decals also are under lighting influence. At first, I was concerned that this shader might not support a transparent look, but it turns out that it is as easy as just adjusting the alpha in the tint color!
    (At first I attempted to set the Alpha property in the EasyDecal component, which didn't do anything for me. Then I checked the source code and it turns out that with the current implementation, the alpha changes the vertex colors of the box mesh used for the projection, which is taken into account for the alpha clipping/cutoff calculation, but not for the color blending. There is also a out commented method call to a blending that takes the vertex color into account for alpha, but simply setting the color alpha seems to work too).
     
  4. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,476
    Many thanks / Vielen Dank :)
     
  5. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    You are very welcome/ Bitte schön! :)
     
  6. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,748
    Quick question, is it possible with Easy Decals to project the decals on to say a car side so that when the door opens the decal on that object moves correctly, ie can parts of the decal be parented to the objects it is stuck over?
     
  7. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Yes, that's possible. Decals are basically regular game objects. Feel free to download the evaluation version from our website to test your use case. :)
     
  8. dock

    dock

    Joined:
    Jan 2, 2008
    Posts:
    603
    Code (CSharp):
    1. TypeLoadException: Could not resolve type with token 0100008b from typeref (expected class 'UnityEditor.Experimental.SceneManagement.PrefabStage' in assembly 'UnityEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null')
    2. ch.sycoforge.Decal.Editor.EasyDecalEditor.OnInspectorGUI () (at <4cc613281de24da097d084894806a9c8>:0)
    3. UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <5ee986102b7d4de78b0a23d8f526f0dc>:0)
    4. UnityEditor.PopupCallbackInfo:SetEnumValueDelegate(Object, String[], Int32)
    Trying Easy Decals in Unity 2021.2.2f1 with URP and I'm getting errors all over the place.
    Is there a step by step guide for setting up URP with Easy Decals?

    In general, is BIRP recommended over URP for maximum use of Easy Decals? What is the best case for compatibility?
     
  9. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Seems like the API updater could not take this one. Thanks for the report!
     
  10. dock

    dock

    Joined:
    Jan 2, 2008
    Posts:
    603
    Ah, it's a problem with 2021.2 then? Good to know.
    Please could you answer my question about BIRP compatiblity and URP best practices?
     
  11. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    URP has no deferred decals, otherwise pretty much the same compared to BIRP. Hope that answered your question. :)
     
  12. dock

    dock

    Joined:
    Jan 2, 2008
    Posts:
    603
    Thanks, this helps a lot. I'll try it with 2021.1 URP for now.
     
  13. smsmsmsms

    smsmsmsms

    Joined:
    Dec 18, 2020
    Posts:
    3
    With docs I can't find a way to let explosives in my game leave explosion marks on the surfaces of surroundings in runtime.
    How does it can be done? I'm using Playmaker. Unity version 2019.4.21f1/Easy Decal version 2021.4.0

    "Example 2: Simple Instantiating" in doc did not work. The code caused 3 errors.(I cannot read codes)
    Assets\Sycoforge\Easy Decal\_Demo\Scripts\AdvancedBulletHoles.cs(18,13): error CS1503: Argument 2: cannot convert from 'UnityEngine.GameObject' to 'UnityEngine.Vector3'
    Assets\Sycoforge\Easy Decal\_Demo\Scripts\AdvancedBulletHoles.cs(18,21): error CS1503: Argument 3: cannot convert from 'UnityEngine.Vector3' to 'UnityEngine.Quaternion'
    Assets\Sycoforge\Easy Decal\_Demo\Scripts\AdvancedBulletHoles.cs(18,35): error CS1503: Argument 4: cannot convert from 'UnityEngine.Quaternion' to 'bool'
     
  14. Bezoro

    Bezoro

    Joined:
    Mar 16, 2015
    Posts:
    133
    Does this asset support spline decals?
    They are supper useful, especially for decorating terrains with tracks and the like.
     
  15. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    There's no built-in spline spawner. However, you could use every spline plugin that supports prefab spawning.
     
  16. Bezoro

    Bezoro

    Joined:
    Mar 16, 2015
    Posts:
    133
    Sorry, I don't mean spawning multiple decals along a spline, but a single decal that deforms and tiles along a spline.
    Hopefully that makes sense.
     
  17. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Okay, I see. No, that's not supported. Maybe the RAM river plugin could help, as it's one of its core features?
     
  18. scrimbo

    scrimbo

    Joined:
    Jun 17, 2015
    Posts:
    1
    Easy decal is not working for me on terrains and overall seems to be strangely buggy. Heres a screenshot of me moving one of the decals onto the terrain in the demo scene. I've followed the setup tutorial so I dont think Im doing anything wrong. Heres a screenshot of what I mean. I'm on Unity 2020.3.11f1 using a Mac with the new Monterey OS (Maybe that has something to do with it?). Any help would be greatly appreciated thanks

    Screen Shot 2022-02-13 at 11.14.21 AM.png
     
  19. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Seems like you have the decal orientation (= projection direction) parallel to the terrain surface. What exact issues do you experience beside that?
     
  20. SilverSS

    SilverSS

    Joined:
    Nov 26, 2017
    Posts:
    1
    I wanna change projection direction when I'm using box mode without changing local rotation.
    How can we change it?
     
  21. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    The local projection direction is constant and cannot be altered due to some internal optimizations.
     
  22. kypronite

    kypronite

    Joined:
    Apr 15, 2013
    Posts:
    21
    I hit error when using this code
    EasyDecal easyDecal = EasyDecal.Project(decalPrefab.gameObject , hitPoint, hitNormal);

    Something todo with read/write enabled on mesh error.
    The problem I have is game just crash with error instead of throwing warning at runtime.
    Is there any way to give warning instead of throwing error
    or is there way to check if mesh is read/write enabled before using Project method ?

    I'm too far ahead in my game with thousands of different mesh...
    I just don't want edge case scenario where my enemy throw projectile at some obscure random mesh
    and I use EasyDecal.Project() but I forgotten to enable read/write on this particular model
    and the game just crash...

    Some solution i found but I'm not sure, should I use Mesh.IsReadable to check?

    o_O
     
    Last edited: Mar 27, 2022
  23. pci2020

    pci2020

    Joined:
    May 12, 2020
    Posts:
    3
    How to use unlit screen space in HDRP?
     
  24. twice7713

    twice7713

    Joined:
    Apr 24, 2018
    Posts:
    24
    Easy Decal
    1.Can use Circle fill On my Decal Show 60° ?
    2.How to culling some object on URP?
     
    Last edited: Jul 7, 2022
  25. perholmes

    perholmes

    Joined:
    Dec 29, 2017
    Posts:
    296
    Easy Decal doesn't seem to project on tessellated surfaces, i.e. it's projected as a plane representing the original vertices. Is this a natural limitation of how it's done? Or am I missing something?

    Also, I'm forced into 2022.2, which I get is very new and not officially supported. Unity crashes on any of the demo scenes, FYI. I have managed to just attach the script and work with it a bit, but I got stuck on the tessellation.
     
  26. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Easy Decal is using mesh data but verts being moved in the shader do not change mesh data. Tessellation itself isn't causing the problem, but moving verts in a shader is. Because that only happens when it goes to your screen (during rendering), it's not anything easy decals knows about (mesh data).
     
  27. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Yes, the mesh data must be readable for the mesh-based projectors to work.
     
  28. Jose-Abalos

    Jose-Abalos

    Joined:
    Jan 31, 2014
    Posts:
    6
    Hi, I've just started using Easy Decal and I've noticed the following issue when using an Atlas. As you can see, I'm using the URP Graffiti Atlas, but with I select an index from the Atlas, other graffiti from the atlas also show up. This also happens if I just use a simple 3D cube. Why this might be happening? Thanks! Atlas.jpg
     
  29. QuadTroop

    QuadTroop

    Joined:
    Feb 25, 2018
    Posts:
    1
    is there support for normal only decals?
     
  30. Pingore

    Pingore

    Joined:
    Jun 18, 2020
    Posts:
    6
    I have been having issues with rendering decals on a certain camera. Normally I know you do this through LayerMasks but for some reason baked mesh decals still show up even when set to a separate layer. I want a main camera to render the decals and another camera to not render them at all. The decals are also baked at runtime. Other than this one problem this asset has been really great and simple to use :)!
     
  31. Pingore

    Pingore

    Joined:
    Jun 18, 2020
    Posts:
    6
    Update, and I think this is a bug:
    When you bake a mesh decal at runtime it doesn't seem to inherit the original layer that the decal was on. You have to call LateBake, wait a frame, and then manually use GetComponentsInChildren on the decal to get the children GameObjects and set the layer manually. There are visually no child transforms on the decal in the editor, but they are there. After that the baked decals are now culled from rendering.
     
  32. glenneroo

    glenneroo

    Joined:
    Oct 27, 2016
    Posts:
    231
    Will this work on the Oculus Quest 1&2 (URP / 2021.3 LTS)?
     
    tolosaoldfan likes this.
  33. jeffries7

    jeffries7

    Joined:
    Jun 25, 2014
    Posts:
    59
    I've tested on Quest 2 with URP(7.5.1) in Unity 2019.4 and it works just fine. Pretty much 0 performance hit.

    If you're using 2021.3 then you have access to URP 12.1.7 which allows you to add Unity's own decal system.
     
    glenneroo and Sycoforge like this.
  34. ohbado

    ohbado

    Joined:
    Aug 13, 2014
    Posts:
    37
    Hi,
    When importing Easy Decal in Unity 2022.1.22f1 I get the below error. I'm using the built-in render pipeline on Windows.
    Will this error be fixed?

    Shader error in 'Easy Decal/SSD/Unlit Additive SSD': Did not find shader kernel 'frag' to compile at line 35 (on d3d11)
    Compiling Subshader: 0, Pass: <Unnamed Pass 0>, Fragment program with <no keywords>
    Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
    Disabled keywords: FOG_EXP FOG_EXP2 FOG_LINEAR SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_VIRTUAL_TEXTURING​
     
  35. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    527
    @ohbado Easy Decal hasn't been updated for a full year. Don't use the latest tech line with it. I'm just using the last LTS (2021.3) and it's fine.
     
  36. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    A brand-new version is on the way. However, not all SSD features can be ported to the new tech stream.
     
  37. fixedgerald

    fixedgerald

    Joined:
    May 11, 2015
    Posts:
    4
    I just imported Easy Decal into the "Starter Assets - Third Person Character Controller" sample scene from Unity (https://assetstore.unity.com/packag...sets-third-person-character-controller-196526)

    Copied a box projector from the Easy Decal sample scene and I am getting these errors when I put it over the level geometry. I saw something in the FAQ about decal receivers being static, but checking/unchecking the static box on the level geometry has no effect.

    easyDecalErrors.png

    The plane projector works fine.

    Using Unity 2021.3.13f1, also tried 2020.3.41f1 with the same results
     
  38. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Check whether the "read/write" is enabled in the import settings of the meshes.
     
  39. akareactor

    akareactor

    Joined:
    Apr 6, 2015
    Posts:
    107
    Hi!
    In Editor, Flythrough mode, when I want to move faster, press and hold Shift and press and release D (decal is selected), an unexpected decal duplicating occurs :)
     
    Sycoforge likes this.
  40. ZiggyPiggy69

    ZiggyPiggy69

    Joined:
    Nov 2, 2022
    Posts:
    4
    Heyoo,
    I was just wondering whats the best way to go about lightbaking EasyDecals, i've had an issue where everytime I attempt a lightbake they emit a large shadow encompasing the enitre decals dimensions. I still want the decal to contribute to GI but everytime i set them to this happens. If anyone could help that would be awesome.
     
  41. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    When your baking tool (enlighten, progressive, bakery, etc) allows the baking of transparent or cutout objects, you can hard bake all decal to a mega mesh using the decal manager and then bake the lights. Hope that helps!
     
  42. ZiggyPiggy69

    ZiggyPiggy69

    Joined:
    Nov 2, 2022
    Posts:
    4
    Thats does help thanks. Also another thing - is there anyway to change the smart placement hotkeys? I like being able to incrementally shift decals but everytime i hold down ctrl it scales the decal horizontaly.
     
  43. wjsehwls

    wjsehwls

    Joined:
    Dec 18, 2020
    Posts:
    11
    20230307_115651.png 20230307_115555.png

    I want to decal the lane on the long road like this ↑↑↑↑↑

    Does your tool have the ability to adjust the length and width evenly?
     
  44. HunterAhlquist

    HunterAhlquist

    Joined:
    Oct 6, 2013
    Posts:
    129
    I'm having trouble with this in Unity 2021, surely I'm just misunderstanding the docs. I call the method and changes made to the Alpha property doesn't reflect.
     
  45. HunterAhlquist

    HunterAhlquist

    Joined:
    Oct 6, 2013
    Posts:
    129
    Update: You must run LateUnbake on one frame, then run LateBake on the next frame. I have no clue why the API was designed in this way.
     
  46. LoveOSGames

    LoveOSGames

    Joined:
    Mar 18, 2015
    Posts:
    3
    upload_2023-3-22_21-13-29.png
    I keep getting this error when using Skinned Box technique on skinned mesh.

    I just bought the plugin, please fix it? It hasn't been updated for years now.
     
  47. adamgolden

    adamgolden

    Joined:
    Jun 17, 2019
    Posts:
    1,549
    You can fix this by adding the Animation Rigging package, then selecting Restore Bind Pose - at least, it worked for me.
    animation_rigging_add_package.png
    animation_rigging_restore_bind_pose.png

    @Sycoforge when or if you get the chance for a maintenance release, some warnings in 2022,
    easy_decal_obsolete_stuff_2022_2_19f1.png
     
  48. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    The PRO version is around the corner. It comes as UPM Package with full source code.
     
    adamgolden likes this.
  49. NickTheDruid

    NickTheDruid

    Joined:
    Dec 8, 2014
    Posts:
    5
    Any estimate of when the PRO version is likely to land ? We are on 2022 LTS using Built-in with our current project.
     
  50. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    If you are a user of the regular version, you can send us a DM in the Discord server with your invoice number to get early access.
     
    adamgolden likes this.