Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Easy Decal - Decals everywhere

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

  1. Jackless

    Jackless

    Joined:
    Jan 9, 2018
    Posts:
    19
    Thanks for the help. I will try it.
    Can you send me a link? I cant find that Asset on your site.
     
  2. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Just send us your invoice number, and we'll drop you a voucher code. Then just do a normal purchase in the webshop and apply the code on the checkout page. You can then access all additional content and early access stuff.

    http://nu.sycoforge.com/purchase
     
  3. kbm

    kbm

    Joined:
    Aug 7, 2014
    Posts:
    71
    @Sycoforge Hey there,
    thinking about using the asset for our work in progress game.

    Couple of questions:

    1.) How production-ready is the URP/LWRP support? We only need decals for a) static stuff like dirt, scratches etc. on static objects and b) drop shadows
    2.) If used for drop shadows, can the decals affect Unity Terrain Details (Grass)?
    3.) Can I manually mask/exclude certain objects that I do not want the decal to affect?

    Best regards,
    thanks in advance!
     
  4. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Hi,
    Thanks for connecting here in the forums. :)

    1. For static, mesh-based decals all is production-ready. The screen space URP decals are in an experimental state.
    2. Screen space decals work on terrains and details based on solid geometry (like stone etc). Grass billboards or sheets can give issues.
    3. Mesh-based decals can exclude certain layers, while URP screen space decals can not (yet?).
     
  5. kbm

    kbm

    Joined:
    Aug 7, 2014
    Posts:
    71
    Thanks, I bought your asset, and so far it works pretty great!
    One issue that's driving me nuts and I can't fix it myself since everything is locked in DLLs:

    I move every 3rd party plugin that I use to a different folder within my Asset folder structure.
    Every time I recompile the game, Easy Decal seems to create an empty "Gizmos" folder in my main Assets/ folder. I delete it but it keeps on getting recreated.

    Any fix for this?
     
  6. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    The Gizmo folder is an official Unity special folder and is needed for custom gizmos (see here). Unfortunately, there's not workaround for this unless you'e good with no gizmos. You can access the source code on our website, just send us your invoice number, and we'll send you back a voucher code to add Easy Decal to your account.
     
  7. Anisoft

    Anisoft

    Joined:
    Jul 5, 2013
    Posts:
    101
    Will this work with custom lit meshes?
    For example a toon shaded character?
     
  8. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    The mesh decal system can deal with every case, as it allows assigning custom materials.

    Feel free to download an evaluation version to test your use case.
     
  9. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    392
    Hello guys! We want to invite you our new teaser of The End of the Sun game announcing Kickstarter campaign where we use Easy Decal :)
    If you are interested in, add your email here. https://www.endofsun.com/crowdfunding/
     
    BitAssembler and Sycoforge like this.
  10. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    You can count on us! :)
     
    Jakub_Machowski likes this.
  11. BitAssembler

    BitAssembler

    Joined:
    Jul 13, 2017
    Posts:
    78
    Signed up! Awesome project, looks epic!
     
    Jakub_Machowski likes this.
  12. Anisoft

    Anisoft

    Joined:
    Jul 5, 2013
    Posts:
    101
    I'm just curious how its able to fit with the lighting, does it sample the uv/normal of the mat it's applied to?
     
  13. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Only the deferred projector does properly blend with the g-buffer normals.
     
  14. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    392
  15. DChap

    DChap

    Joined:
    Dec 24, 2016
    Posts:
    20
    I've been having trouble with Ctrl-Z / undo not having any effect when working with decals. Am I doing something wrong, is Ctrl-Z supported?

    Sorry if this has been asked but I couldn't find info on it.
     
  16. Anisoft

    Anisoft

    Joined:
    Jul 5, 2013
    Posts:
    101
    @Sycoforge are there any hacky work arounds to do this for a forward rendered object?

    Possibly copy the normal and then use its position to project as if its sharing the normals or something?
     
  17. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    There are always hacky workarounds. I could extend the screen space shaders so that they take a 2nd texture set matching the ones of the receiver, and the blend the normals accordingly. But this may introduce a large overhead as you have sample the texture twice.
     
  18. TreseBrothers

    TreseBrothers

    Joined:
    Jan 14, 2016
    Posts:
    13
    Thanks for providing such a helpful test matrix on your site. Two questions -- can you comment on Linux and Switch support?

    Also, I see some really nice features mentioned in 1.4 that would be required for us to use this project. How can we tell if 1.4 is out yet?
     
  19. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Actually, all platform that Unity supports are also supported by Easy Decal. For deferred decals, the platform needs to support the deferred render path. The mesh based decals are built on top of Unity meshes, so they are broadly supported.

    You can freely download an evaluation version for every of our plugins here.
     
  20. Mojo-Game-Studio

    Mojo-Game-Studio

    Joined:
    Sep 18, 2015
    Posts:
    85
    Hiya,

    I'm trying to project a decal against a big mesh (basically a terrain, but it's a mesh not a unity terrain), I'm using HDRP, essentially I'm trying to copy what the built in Decal projector does.

    This pic is with the built in unity decal projector:
    upload_2020-3-26_9-43-0.png

    So I've followed the guide document with easy decals, but when I try to recreate the same, I get these results:

    upload_2020-3-26_9-44-18.png

    These are the settings I have :
    upload_2020-3-26_9-45-0.png


    Also the editor frame rate drops to maybe 1fps with the decal enabled, what am I doing wrong?

    And what would be the best shader to use, as I want a little of the underlying material on the mesh to show through.
     
  21. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    When working with decals that are dynamic (need transform changes at runtime), are placed on geometry-heavy receivers and/or need to mix with underlying materials (g-buffer content), you need to use a deferred decal. When working with HDRP, it's recommended to use Unity's deferred decal projector for dynamic decals and Easy Decal mesh decals for static ones.
     
  22. Mojo-Game-Studio

    Mojo-Game-Studio

    Joined:
    Sep 18, 2015
    Posts:
    85
    Yeah the unity decal projector projects on everything unless the shader for it specifically has the option to turn it off, we would need to change all our tree/rock etc shaders, as none of them have this option only the standard HDRP shaders that come with unity have it. Anything we import from the asset store, although HDRP ready doesn't seem to, and were not shader guru's :(, hence why we want to go down the route of easy decals, as it has the option to specify gameobject or layer.
     
  23. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Do you need your decals dynamic? If not, make sure to enable "Bake on Awake". Have you some kind of tessellation shaders on your mesh? Tessellation-displaced geometry is not accessible by the decal system as this happen at hardware level.
     
  24. Mojo-Game-Studio

    Mojo-Game-Studio

    Joined:
    Sep 18, 2015
    Posts:
    85
    Hi, No this one would be static, in fact it's the only one we will have in the scene. Not sure about Tessellation the mesh is using the out of the box HDRP/Lit shader
     
  25. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Okay, then it should be possible unless the mesh has then 2^16 vertices. You have to hard (e.g. ALT+C) or soft bake the decal. Then everything should work.
     
  26. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    392
    johaswe and Sycoforge like this.
  27. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Awesome! Thank you for sharing this valuable insight!
     
  28. MrZeker

    MrZeker

    Joined:
    Nov 23, 2018
    Posts:
    148
    Hey, i just bought this Asset, but i can't seem to use it.
    What im trying to do is to add a decal as a tatoo for my character (Skinned mesh renderer).
    But i cant even see the decals to work on my scene.
    Im getting "Invalid AABB aabb" in the console (it only started happening after the install of this asset)
    Any idea how to fix it ? or a tutorial other than the doc that comes with the asset?
     
  29. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Hi,
    The skinned mesh decals need the following conditions to work properly:
    1. The mesh must be set to readable in the import settings.
    2. The skinned mesh is in its default/rest pose.
    3. GPU skinning is disabled.
    4. The character has a collider somewhere to detect a decal collision.
    Generally it is recommended to place the decals (in your case all tattoos) at design time an switch between them either using the atlas or by enabling/disabling the decals.

    Here's a video tutorial showing how to start from scratch.

    However, it's not about skinned decals.
     
  30. MrZeker

    MrZeker

    Joined:
    Nov 23, 2018
    Posts:
    148
    I can't seem to make it work.
    I copied my model to the Demo scene, where there is a model with a Skinned mesh renderer and a Decal on it.
    Copied the Decal tried to make it appear on my char but it doesn't work. I dont get any kind of error either.
    the Model has read enabled, im not using Gpu Skinning, and it is in it's default pose.
    I added first a Mesh collider and it didn't work, then i added a Capsule collider and it still doesn't work.
    What should i do?
     
  31. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Can you please send us your model, so that we can further investigate this?
     
  32. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    926
    Hey there,
    I tried to search the thread for "timeline" but nothing came up. I was wondering if this has any sort of Timeline integration or controls that work at edit time? So far I keep coming across decal assets that are mostly runtime spray types and the like. I am hoping to find something that lets me easily place and control it at edit time with Timeline for video sequences.

    Right now I am just using Alembic to import blood effects I have made, but I would like to find a system I can use to also add in decals with control for where, when, how fast, and what direction the decals appear so I can try to match them to the rest of what I have going on:



    Does this asset happen to have such functionality?

    Thanks,
    -MH
     
  33. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Easy Decal has no specific Timeline functionality. However, you can instantiate the decal prefabs using Timeline just like any other gameobject. Make sure to download the evaluation version from our website to test your use case.
     
    MostHated likes this.
  34. sandBucket2

    sandBucket2

    Joined:
    Mar 26, 2016
    Posts:
    29
    Hey Sycoforge!

    I have a quick question about optimization: I have a square level with 4 main walls surrounding the level. I've created an atlas using another asset and now I have an atlas material. I've created one "Easy Decal Texture Atlas" and combined all the decals on one wall.

    My question is: would I need to create another 3 "Easy Decal Texture Atlas" and combine 3 different groups for the remaining walls? Or would I use just one "Easy Decal Texture Atlas" for all 4 walls (one combined group)? Using one "Easy Decal Texture Atlas" for all 4 walls would involve combining all the decals surrounding the player, which would mean the decals on the walls that are not in view would not get culled correct? Let me know and thanks!
     
  35. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Currently, Easy Decal combines everything in a scene sharing the same atlas to one mesh. However, Easy Combine offers more granular control about decal combining and is fully compatible with Easy Decal. During the sale, Easy Combine is also 50% OFF for Easy Decal owners.
     
  36. PROE_

    PROE_

    Joined:
    Feb 20, 2016
    Posts:
    32
    Hi, I was testing out the asset using the newest evaluation version and I've got 2 questions. First is why is that screen space deffered decals are so slow? Just 19 of them, using the same atlas (and of course the material), cause additional 6ms on my CPU (i5 6500 so definitely not so slow) :/
    upload_2020-4-26_1-0-0.png
    And without these 19 decals:
    upload_2020-4-26_1-0-50.png
    Sadly it seems like they are unusable at the moment :(

    Also seems like there's something wrong with box projection because sometimes rotating it only by 5 degrees cause some weird things with normals (even with recalculating them and tangents enabled):
    upload_2020-4-26_1-29-54.png
    upload_2020-4-26_1-30-55.png

    Thanks in advance
     
  37. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Thanks for reporting. We are investigating this further. 100 deferred decals should consume under 1.0 ms on both CPU and GPU. Do you have unbaked mesh decals in scene? On what Unity version are you developing?

    100 decals enabled:
    upload_2020-4-26_19-29-38.png

    No decal:

    upload_2020-4-26_19-29-48.png
     
  38. PROE_

    PROE_

    Joined:
    Feb 20, 2016
    Posts:
    32
    I'm using Unity 2019.3.11f1 and I have baked the decals.
    Okay, it seems like I found something, after profiling it for a while it happens to be a GPU problem.
    With these 19 deffered SSDs enabled on GTX 1060:
    upload_2020-4-26_20-9-56.png
    And with disabled:
    upload_2020-4-26_20-11-23.png

    I'm using one probe in the scene, but it's not the problem because even with it and SS reflections disabled I still get 7ms on reflections :/
     

    Attached Files:

  39. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    We are also experiencing 4-5ms for 100 decals. Unfortunately, the blit command can not be simplified (without one of the newer pipelines). What we will do though is that we will improve the decal culling. For you static decals, like graffiti and damages, it's recommended to go with mesh decals and hard or soft bake them. We'll keep you updated.
     
  40. JesterGameCraft

    JesterGameCraft

    Joined:
    Feb 26, 2013
    Posts:
    159
    Hello,

    I'm considering purchasing this asset. My use case is to use it on Metal enabled devices, so starting from iPhone 5s and up. The decals would be dynamic and be placed on a structure (a tower - so cylindrical building if you will) as it is being hit by projectiles. From reading the comments it appears that dynamic decals are a major performance hit, especially on mobile. So my question, if I want to place a decal on a building dynamically as it gets hit will this kill my performance on mobile. If not, how far can I push it, can the decals be animated?

    I realize that this depends on the other settings/assets in the scene but was wondering if any testing was done for these scenarios on mobile platforms and if so what were the results and what was the lowest end device that could handle them. Basically what I'm trying to determine if this is going to be a nonstarter for mobile platform where the decal is dynamic, then animated dynamic.

    Any info you can provide is appreciated. Regards.
     
  41. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Hi there,
    Yes, Easy Decal has been tested on mobile devices. There are several published mobile projects on both Android and iOS. The mesh decals have indeed a high CPU runtime cost because the projection involves heavy mesh cutting algorithms. The screen space forward decals are very cheap and have almost no impact of performance while the deferred decal have a higher GPU cost because of an increased g-buffer usage.

    For a mobile project with a heavy usage of lit decals, it's recommend to go with LWRP/URP and take advantage of the non-deferred lit screen space decal implementation that is exclusively available on URP.

    Anyway, we highly recommend downloading the evaluation version from our website, and test your use case on your target devices.
     
  42. JesterGameCraft

    JesterGameCraft

    Joined:
    Feb 26, 2013
    Posts:
    159
    I'll try it out. Thanks.
     
  43. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,727
    Like this asset! great time saver for generating meshes. One thing I couldn't find was having the mesh generate holes wherever the alpha channel was lower than a threshold on the textures. For a lot of mobile and VR projects, it's acceptable to trade overdraw for verts.

    Is it possible or a possible plan?
     
  44. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Thanks! :) We have discussed this lately and added it as possible feature candidate. However, it's pretty tough to get this production ready within a reasonable amount of time since it does also include a lot image preprocessing such edge detection and efficient edge expanding algorithms to get useful geometry. For now, we recommend the use of clipping shaders that write to the depth buffer to minimize overdrawing.
     
    hippocoder likes this.
  45. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,727
    Yeah that's my approach too but eventually a mobile port will be coming along and I can't use clip/cutout/discard for obvious reasons in those cases. Thanks for following up though :)
     
  46. Oniros88

    Oniros88

    Joined:
    Nov 15, 2014
    Posts:
    54
    How to use the deferred decals? having 80 pooled bullet holes, even way out of the camera view, DOUBLES my draw calls, even if i only use diffuse mode. I could have more than 100 pooled plane full PBR ones almost not even affecting my fps even when firing full auto yet only having the deferred ones there without even being visible makes me go from 110 fps to 40, I just can't use them. But then again, plane ones can't be used for bullet holes because they have lots of z fighting issues which deferred don't

    EDIT: currently i'm using the screen space only-multiply ones, which bause both zero performance loss and zero drawing/zfighting issues. Is ther any kind of "bake" function I am not aware of with deferred decals? I noticed that disabling "isdynamic" makes the deferred one not visible.
     
    Last edited: May 4, 2020
  47. jRocket

    jRocket

    Joined:
    Jul 12, 2012
    Posts:
    534
    I would like to use this to create a dirt path along a terrain. Is there a way to project a tiling decal along a spline instead of just a box?
     
  48. Rotecks

    Rotecks

    Joined:
    Dec 17, 2014
    Posts:
    79
    Hi guys!
    I wrote a letter to EadyDec support, but didn't get any reply. It's a quite impolite behaviour :/
    Okay, could somebody suggest this decal system for drawing laser tracks on the walls?
     
  49. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    682
    Unfortunately, this is currently not possible.
     
  50. damagefilter

    damagefilter

    Joined:
    Nov 6, 2012
    Posts:
    23
    Hi.

    Love the Decals. Really nice and they work nicely together with Realtime CSG meshes. Which is nice.

    However.
    I'm experiencing Easy Decal wreaking havoc on its InspectorUI. It will look something like this:


    A warning will appear.


    Following this warning, we also get an InvalidOperationException:


    I'm thinking, due to the IOE the UI layouting is interrupted, causing the whole Inspector to be damaged.
    As far as I can tell, the Inspector will only be broken for an EasyDecal object.
    It'll manifest as two more errors with no stack trace in the exception message.


    Restarting the editor will help getting rid of the issue until it pops up again. Also worth noticing: The parts of the UI that are accessible will still work.

    How to reproduce:
    1) Create 2 Box projector decals with 2 different atlas texture sources. Very important. They gotta be 2 different ones.

    2) Place one decal per atlas somewhere on a wall or floor... doesn't matter.

    3) With the inspector open, click back and forth between the 2 decals with the 2 different atlases.
    Do that a couple of times. (About 64 times I suppose.)

    4) There you go.

    It would appear there is a cleanup call missing somewhere in the inspector code.
    Didn't get to search through the source myself. The time's not my friend these days. (When is it ever? :D)
    But perhaps this information helps already to get a fix going. That'd be most amazing.

    // Edit:
    Forgot to mention: When disabling the Material Editor in the EasyDecal preferences, that whole ordeal will not happen. So evidence suggests it's that. But again. Didn't look too closely just yet.

    Cheers!
     
    Last edited: Jun 7, 2020
unityunity