A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Assets and Asset Store' started by Sycoforge, Oct 28, 2014.
Thanks for the help. I will try it.
Can you send me a link? I cant find that Asset on your site.
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.
@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?
thanks in advance!
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?).
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?
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.
Will this work with custom lit meshes?
For example a toon shaded character?
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.
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/
You can count on us!
Signed up! Awesome project, looks epic!
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?
Only the deferred projector does properly blend with the g-buffer normals.
@Sycoforge @BitAssembler Thanks a lot!
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.
@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?
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.
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?
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.
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:
So I've followed the guide document with easy decals, but when I try to recreate the same, I get these results:
These are the settings I have :
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.
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.
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.
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.
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
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.
Hello I would to share with you Making off blog Post how we use Easy Decals in our game to put flowers paitnings from most colorful village in Poland into our game Read full blog post here https://www.endofsun.com/2020/03/28/painted-village-zalipie Also we are now going on kickstarter so you could follow us here https://www.endofsun.com/crowdfunding/
Awesome! Thank you for sharing this valuable insight!
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?
The skinned mesh decals need the following conditions to work properly:
The mesh must be set to readable in the import settings.
The skinned mesh is in its default/rest pose.
GPU skinning is disabled.
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.
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?
Can you please send us your model, so that we can further investigate this?
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?
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.
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!
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.
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) :/
And without these 19 decals:
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):
Thanks in advance
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:
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:
And with disabled:
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 :/
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.
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.
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.
I'll try it out. Thanks.
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?
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.
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
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.
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?
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?
Unfortunately, this is currently not possible.
Love the Decals. Really nice and they work nicely together with Realtime CSG meshes. Which is nice.
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? )
But perhaps this information helps already to get a fix going. That'd be most amazing.
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.