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

Decal Framework 1.1 with Bloody Decals (Fluid)

Discussion in 'Made With Unity' started by Frameshift, Jun 10, 2010.

  1. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    Hi everybody!
    Our decal framework allow you to create a decals in editor under development level design and in runtime. Make a design of your project more interesting and believable.








    Video Page : http://unity3dstore.com/?page_id=290
    Demo Scene : http://unity3dstore.com/?page_id=278
    Download : http://unity3dstore.com/?page_id=59
    User Manual : http://unity3dstore.com/?page_id=296

    Demo Project : Download Demo Project

    Features

    Platforms :

    * Windows
    * Mac OS X

    Unity:

    * Versions : 2.6.1
    * Free (Basic)
    * Pro

    Decal Mesh Generation :

    * Based on source surface mesh
    * Full Tangent Space Generation (or preserve for non-projective decals)

    Decal UV Generation :

    * Projective
    * Preserve
    * Normalized

    Additive :

    * Mesh offset adjustment
    * Mesh generation normal threshold
    * (NEW) Fluid decals. Pro only feature




    Static Decals. The system allows you to create static decals in editore during scene development. Create a decal just like prefab and then use it repeatedly. Convenient positioning system allows for one click to put a decal on specified point. Using standard tools of Unity, you can quickly and easily configure other options: decal size, rotation, etc. After creating a set of decals system allows to combine all the decals of a given type at a specified object in single mesh, this feature allows you to optimize the draw calls for maximum performance. Combining can also perform automatically before starting the level, you need only call one function in a library.

    Static Skinned Decals. You can create not only simple but also skinned decals. You can quickly and simply give each of your characters necessary uniqueness simply by adding to it a few decals such as stains, blood, patches on clothing and scratches on the body and much more.





    Dynamic Decals. Dynamic decals are decals that are created in runtime, such às bullet holes, blood splatters, footprints. Our system allows you to create all these elements without which does not exist any serious project. For each dynamic decal is only necessary to call two functions from the library. The first creates a mesh decals, the second directly creates an object decals. The system monitors all created dynamic decals and controls their behaviour. Combining, randomization, and work with the texture atlas, destroing , fading. Combining the decals in runtime will reduce the draw calls to a minimum and to obtain high performance.

    Dynamic Skinned Decals. Dynamic decals also can be skinned. You can easily create blood splatters or damage on your characters in runtime. The system can control the maximum number of decals on skinned object and quality of the skinning, 1,2,4 bones.

    (NEW) Fluid Decals. You can create fluid decals like blood that flows down the walls.

    Advanced. Often we need to create a decal on the surface that has bump mapping shader. If Decal has bump mapping shader by itself than we need for blending between the surface normal map and normal map of decals. Our system allows you to do this while preserving the original UV coords and tangential space of the source surface in decal mesh. To achieve the effect we provide several shaders which is a modification of Unity bump shader. All you need is either to use these shaders or write you own using our shader as an example , this is not so difficult.

    ---------------------------------------------------------------------------------

    Decal Framework 1.1 Released !

    Changes :

    * Added support for fluid (bloody) decals
    * Bugfixes

    Fluid decals is free for everybody like dynamic decals. Pro only feature!


     
    Last edited: Oct 23, 2010
  2. Martin-Schultz

    Martin-Schultz

    Joined:
    Jan 10, 2006
    Posts:
    1,377
    For my next project I exactly need this. Perfect! Price is ok and fair I would say. Good job!
     
  3. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    Thank's :)
     
  4. Chill

    Chill

    Joined:
    Jun 10, 2010
    Posts:
    3
    I read that the dynamic decals is free.
    Is it true?
     
  5. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    Yes you can free use Dynamic and Dynamic Skinned Decals in your project. You need use unity prefab system for this.
     
  6. Chill

    Chill

    Joined:
    Jun 10, 2010
    Posts:
    3
    Where I can find manual for decals? In your site I see only Scripting Manual, but I need simple manual for create decals in editor. Can you give me link for this?
     
  7. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,729
    This looks amazing.

    Can't believe I paid that other guy who showcased his promising decal project here. It had nothing, but he promised a lot of features so I wanted to support further developement. Then he ran away with my dollar. :p

    Ohh well, lesson learned. At least you have the features already. :)

    Have you stresstested it? I have a rough decal framework in my game and I was fiddling around with the combinechildren script so I could have hundreds of thousands of decals on screen at the same time without any impact on performance. The only problem which I wasn't able to fix was that memory usage increased steadily with every new decal and even if you destroyed them and every reference to them the memory was still being used. The only way to free it was to restart Unity.
     
  8. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    User Manual will be 13-14 June.
     
  9. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    In our tool you have no performance lost and have no memory lost. All Decals and all new decal meshes properly destroyed in it's own time. Take a look at profiler in runtime and you will see that.
    Decals testet on all platforms, already.
     
  10. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    This system work fine only with MeshColliders or, with any colliders types ?
     
  11. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    OMG so cool... I was looking for something like this.

    If nothing similar will be included in U3 I'll buy!

    By the way, how did you manage to retain bricks normal maps into the splat normals????? :eek:
     
  12. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    One Click Position system works ONLY if object has collider (Mesh or any another type of colliders). Because we have no choise, and another way to get point in world space. Decal meshes generation based on any kind of mesh, usual mesh or skinned mesh. In Unity 3.0 you also will have access to Tree decals and Cloth decals.
    Also in v 1.1 we will make support of "bloody (flow)" Decals
     

    Attached Files:

  13. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    You can see that in our DecalBamp or DecalParallax shaders.
     
  14. BearishSun

    BearishSun

    Joined:
    Dec 1, 2008
    Posts:
    175
    I just started working on something like this. Damn I hate when someone beats me to it :)

    But very nice project. Unlike most of so-called "decal systems" around these forums.

    Mind if I ask how did you handle mesh clipping, for decal mesh generation? Isn't it performance intensive? Did you use some kind of spatial partitioning on the mesh?
     
  15. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    You just take mesh and cut it with six planes + a lot of different mathematics :) That is all
     
  16. BearishSun

    BearishSun

    Joined:
    Dec 1, 2008
    Posts:
    175
    That's how I did it. However if you have a mesh with a lot of polygons, and you need a lot of decals generated fast, it can seriously slow down your scene.

    For example I tried culling(not even clipping) a mesh with 2500 polygons, every frame. Frame rate dropped from 2500 to around a 100-150. That's with an empty scene (only the 2.5k mesh loaded).

    Now if you had a scene with 500-1000 draw calls and bunch of scripts where the CPU was already plenty busy, and multiple players running around shooting things with automatic rifles(multiple rounds per second), will there be a noticeable slowdown?
     
  17. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56

    Just calculate how many times bullets will be hit something like this torus per frame!
     

    Attached Files:

  18. BearishSun

    BearishSun

    Joined:
    Dec 1, 2008
    Posts:
    175
    Seems great, thanks ;)
     
  19. JDonavan

    JDonavan

    Joined:
    Oct 3, 2009
    Posts:
    105
    It'd be nice if your licensing matched Unity. Looks like one would need to buy two licenses in order to develop on both Mac and Windows.
     
  20. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    This feature really looks good. I was wondering how to add detail to the road for a racing game such as more dirty areas, squid marcs in the curves and so on.

    I'll try to give it a try in the incoming days.

    Hope adding details with this method does not reduce the performance in a great manner, or that it comes with some kind of LOD or a similar feature.
     
  21. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    Currently we don't have LOD features for Decal Framework.
    But you could use your exist LOD system for making LOD levels for combined Decal meshes in your scene as usual.
     
  22. SpyridonZ

    SpyridonZ

    Joined:
    Jun 7, 2009
    Posts:
    97
    Excuse me, I see a download on the page but I dont see anything specifying what features the free version has compared to the purchased version?

    Could you please list the differences?
     
  23. viral-vector

    viral-vector

    Joined:
    Apr 12, 2010
    Posts:
    248
    WOW I AM SPEECHLESS. JUST LOOKING AT THE PICTURE!! GENIUS
     
  24. mikesgames

    mikesgames

    Joined:
    Apr 16, 2010
    Posts:
    1,071
    thanks for that m8! i downloaded both manual and Decal!
     
  25. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    In free version you can not freely work with Static Decals.
     
  26. GeneralGrant

    GeneralGrant

    Joined:
    Jun 10, 2010
    Posts:
    977
    Can you guys make some coupons? I'm a student, middle-school to be exact, and it's pretty hard to get $50...

    Anyhow if you can't, no biggie. Pretty nice script too.
     
  27. chadchat

    chadchat

    Joined:
    Apr 5, 2008
    Posts:
    154
  28. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    In our example shaders transparent alpha blended shaders receives shadows. Take a look at the demo scene.
     

    Attached Files:

  29. chadchat

    chadchat

    Joined:
    Apr 5, 2008
    Posts:
    154
    Thx for your reply.
    I did take a look at the demo scene, but that particular decal doesn't look alpha blended, that's why I asked.

    Anyway, great to hear! Sold!

    Do you anticipate any issues with this framework integrating into Unity3?

    c
     
  30. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    If you need transparent alpha blended shader that receives shadows than you need ambient pass and main transparent pass must be tagged like this : Tags {"Queue" = "Geometry+1"}
     
  31. UnleadedGames

    UnleadedGames

    Joined:
    Feb 17, 2008
    Posts:
    242
    In "runtime" theory could this be used with an in game skin editor or avatar maker?
     
  32. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    if you can store generated skin mesh between game sessions, than why not? Or you can save player settings and generate skinned decals every time before game starts.
     
  33. Oleander

    Oleander

    Joined:
    Jun 13, 2010
    Posts:
    2
    My friend adviced me this development and gave me this link. I bought it at once. That works great! I'm going to apply it in my game which will be done soon.
    Thanks for your good job!
     
  34. GeneralGrant

    GeneralGrant

    Joined:
    Jun 10, 2010
    Posts:
    977
    Any answers?
     
  35. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    You can freely use Dynamic and Skinned Dynamic Decals without any payment in you demo or non commercial project.
     
  36. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
  37. chadchat

    chadchat

    Joined:
    Apr 5, 2008
    Posts:
    154
  38. HJP

    HJP

    Joined:
    Jul 8, 2009
    Posts:
    152
    Good work. I like it. But, why do I get this error?

    BCE0106: Failed to access the types defined in assembly 'Frameshift.Decal, Version=1.0.0.0, Culture=neutral' - (/Users/heinz-joergpuhlmann/New Unity Project 1/Assets/Frameshift/DecalFramework 1.0/Pluggins/Lib/Frameshift.Decal.dll): Could not load file or assembly 'UnityEditor, Version=0.0.0.0, Culture=neutral' or one of its dependencies..

    I'm on a Mac.
     
  39. HJP

    HJP

    Joined:
    Jul 8, 2009
    Posts:
    152
    I solved the problem, by copying the file UnityEditor.dll to the path Pluggins/Lib.
     
  40. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    It's very strange because we tested it on Mac...
     
  41. chadchat

    chadchat

    Joined:
    Apr 5, 2008
    Posts:
    154
    I have the same issue, on a Mac.
     
  42. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    Updated. Now UnityEngine.dll in Lib Folder. But on our Macs there is no this problem
     
  43. HJP

    HJP

    Joined:
    Jul 8, 2009
    Posts:
    152
    I have a question. What do you mean with i_decalType in this example?

    Code (csharp):
    1. //Find colliders near raycast hit point
    2. Collider[] colliders=Physics.OverlapSphere(hit.position, 0.3F);
    3. //Burn decal mesh
    4. Mesh decalMesh = DecalCreator.CreateDecalMesh(i_decalType,hit.position,hit.direction, colliders);
    5. //Create decal object
    6. DecalCreator.CreateDynamicDecal(decalMesh, hit.collider, i_decalType);
    EDIT: I think I have it. It is your special prefab / gameobject.

    I bought it. 8)
     
  44. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56

    Yes, it is just yor prefab or game object from scene!
     
  45. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    hi!

    just finished my exams and wanted to try this plugin. I installed an managed to place a decal, in particular trying to get dirt a circuit with squid marcs etc. Just a test.

    Questions....

    Is there any way for blending the decal over the asphalt controlling its opacity? I found no slider to do this, but I think that would be handy. Also as you already are able to fade de decals, sure you've this "technology" already implemented. Would be nice to have control over this like in photoshop.

    Also, to make a decal such as a road crackle look like in the road I'll be in the need of an alpha map. So, the diffuse texture needs to come with an alpha too right?. My initial idea was to load the diffuse and the alpha separately, so that the alpha in some cases could be simply a noise texture so that the dirt/leaves... distribute "randomly" over the asphalt.


    Finally a question about the render priority. I saw a parameter about "offset" or simialr, wich seemed the ofse the decal has over the "ground". Is that??
    THere is no render priority control in Unity? I mean, two shapes cant share the same space and only on of then be rendered, being its render controled by a render priority?? (z fighting) .
     
  46. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56

    Decals are the same as usual objects. And then what you are saying is adjusted through the material decals. You must use your shaders or our shaders or write your shaders using our as an example. Alpha blending and transparency is not the decals problem it is problem of decals material
     
  47. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
  48. HJP

    HJP

    Joined:
    Jul 8, 2009
    Posts:
    152
    that's great and helpful!!
     
  49. mrbdrm

    mrbdrm

    Joined:
    Mar 22, 2009
    Posts:
    510
    off topic
    can you tell me how to do the blood splashing on the ground and the char's ?
    and the bullets small particles when they hit ?
    i'm willing to pay you if you want tho :)
     
  50. Frameshift

    Frameshift

    Joined:
    Jun 7, 2010
    Posts:
    56
    You can see all implementation in Demo project...