Search Unity

[Released] Splatter System - Stains Everywhere

Discussion in 'Assets and Asset Store' started by Dustyroom, Jul 17, 2016.

  1. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Splatter System is a special tool for Unity to spice up your game. In short, this asset lets you draw splashes of paint, dirt, blood, grass etc on your scene objects.

    Splatter System at a glance:
    • Easy to use Splatter manager capable of drawing unlimited number of real-time particles
    • Works in 2D and planar 3D setups (both isometric and perspective).
    • Ultimate customization through lots of parameters and reusable preset objects
    • Great performance on mobile and standalone
    • Pixel-perfect rendering and custom shaders that prevent overflowing into neighbor spaces
    • CPU/GPU/RAM-optimized
    • Custom shapes support




     
    Last edited: Jul 18, 2016
    nvnjls, Mauri and Griffo like this.
  2. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    You need to provide more than this, as per the posting guidelines for this forum...
     
  3. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    782
    I tested the webGL demos, it has significant framerate drops on my machine, from 60 down to 24. Would it be possible to put together a standalone demo that can be downloaded?
     
  4. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Thanks for noticing it, we found a problem with one of the demos, splatter areas were way too big. We fixed the demo: WebGL

    Here it is for standalone platforms:
    DOWNLOAD FOR WINDOWS
    DOWNLOAD FOR MAC
    DOWNLOAD FOR LINUX
     
  5. sicga123

    sicga123

    Joined:
    Jan 26, 2011
    Posts:
    782
    Ok, I tested the new standalone and the new webGL. Runs much better. I'll get this as soon as I can.
     
  6. RodMath

    RodMath

    Joined:
    Oct 21, 2014
    Posts:
    13
    Hi,

    Bought and liking this asset a lot.

    I'm struggling to get both a sprite which moves around and a mesh which doesn't, to work properly with the splatter. The setup is:
    - Both splatter managers with related settings
    - A 2D mesh as lumpy ground which uses the Splatter/StandardSurface
    - A sprite which which uses the Splatter/SpriteSurface and moves around. It has a BitmapSplatterAreaSelective as a child just covering the sprite area.

    I then call spawn for both systems and it more or less works. The main issue I have, is that the rectangle of the BitmapSplatterAreaSelective will pickup and show splatter that has taken place on the mesh, as well as that on the sprite. Consequently, as the sprite moves it looks it is passing behind an invisible static splatter patch.

    Is there anything I can do to stop this, I've tried fiddling with sorting layers with inconsistent results?

    Also, is this mixing the two systems a bad idea? I'm sure there are performance implications, but my scene is small with very few sprites.

    Thanks, and thanks again for a top asset.
     
  7. RodMath

    RodMath

    Joined:
    Oct 21, 2014
    Posts:
    13
    PS: A few enhancements for your consideration
    - A function to add SplatterAreas to the Bitmap Splatter manager during run time. I instantiate my sprite mid scene, so added a Refresh Areas function to do this.
    - Make the BitmapSplatterAreaSelective a component that is added directly to a sprite. It then would create it's child, exactly matching the bounds of the sprite when launched - also registering this with the manager.
    - A demo scene which does what I have described above (perhaps make the top-down one show splatter on the targets as well as the floor)
    - A combined Manager which does what I have done above automatically!

    I haven't looked into how it all works under the hood, so there may well be very good reasons for not doing the above, but just thought I'd give you my ideas anyway.
     
  8. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Thanks for the feedback! I agree with what you suggest and will make an update to the asset to include this. Using the system should be as easy as possible.

    Regarding your question, it seems like the difficulty arises only when trying to combine mesh and bitmap splatter on areas that overlap between each other? To be honest we didn't foresee that somebody will need this, but it's definitely possible. Both mesh and bitmap particle shaders read and write to the same stencil buffer value. If we make them use different stencil values, they should not be cross-rendered by same surface materials. I will try my best to make this change today. Can you please send us a direct message with your order # so you don't have to wait for the update to be reviewed?

    P.S. I'm trying to understand why you would like to use both meshes and bitmaps at the same scene. Are you using meshes in a 2D game or sprites in a 3D game?
     
  9. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Stencil layer is now a parameter of splatter materials, which allows having any number of splatter layers that don't cross-render. Thanks for suggesting this!
     
  10. RodMath

    RodMath

    Joined:
    Oct 21, 2014
    Posts:
    13
    Sounds great, have pm'd you and look forward to trying it out.

    To answer your P.S. question, I am using sprites in a 3d game. However the 3d objects are mainly just 2d meshes, but they need to be meshes because they are dynamically created during runtime. Hopefully that makes sense
     
  11. sfilo

    sfilo

    Joined:
    Oct 23, 2012
    Posts:
    30
    Hi,
    First of all thank's for a great asset.

    I am having trouble setting up a transparent sprite using "BitmapSplatterAreaSelective" on a different stencil layer.
    The expected behaviour is for the splatter to only appear on the visible parts of the sprite but the splatter fills up all the bitmap splatter area square.
    I tried simplifying my setup so I used the Demo2-Platformer-bitmap scene to replicate my problem. I duplicated an already existing sprite and an already existing bitmap splatter area. I also duplicated the SpriteSplatterSurface and BitmapSplatterAreaSelective materials so I can use them with a different stencil layer. With this simplified setup the problem still appears. What am I doing wrong?

    In this image you can see the floating green sprite and the bitmap splatter. They are both configured on the same stencil layer 2 using separate materials.

    Here you can see the splatter. I was expecting it to only show overlapping the green floating sprite.


    Forgot to mention, using Unity 5.4.0f3 and the latest Stain System update.
     
    Last edited: Oct 4, 2016
  12. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Hi and thank you for the question!

    Where are you setting the stencil layer? Have you changed it in material settings of both BitmapSplatterAreaSelective and SpriteSplatterSurface. I just tested and it seems to work well.
     
  13. sfilo

    sfilo

    Joined:
    Oct 23, 2012
    Posts:
    30
    In my previous example I changed both stencil layers on both materials and it didn't work.
    I have since created an empty scene with two of each: sprites, splatter area and splatter surface. I configured them on two different stencil layers and it works fine. I still don't know why it does not work in the demo scene.

    Now I am experimenting with attaching BitmapSplatterAreaSelective to SpriteRenderer GameObjects at runtime. I am also changing the SpriteRenderer material to SpriteSplatterSurface at runtime and using SplatterUtils.SpawnBranch to draw splatters in the currently attached SplatterArea. This works great allowing me to draw blood on the spot/sprite where my character died without having to manually setup the scene. However I have one small problem I am still struggling with. Some times, after calling SplatterUtils.SpawnBranch multiple times on the same SplatterArea it looses all it stains for a few frames and than fills up again in time. Do you have any pointer on how to fix this.

    Thank you.
     
  14. sfilo

    sfilo

    Joined:
    Oct 23, 2012
    Posts:
    30
    Hi,

    I am still struggling to instantiate splatter areas from script. The resulted areas loose the current stains from time to time when calling SpawnBranch on them. They also have less accuracy ( not all SpawnBranch calls result in splatters showing, especially the ones on the extremities ).

    I think I am doing something wrong ( or not doing ) after instantiation. Using this method with manually configured splatter areas has the expected result but when instantiating results are fuzzy. Can you please point me in the right direction.

    Code (CSharp):
    1. public void splatterGO(GameObject pressedSpriteGO, Vector3 position, Vector3 direction)
    2.     {
    3.         // Check to see if object has sprite renderer
    4.         SpriteRenderer pressedSpriteRenderer = pressedSpriteGO.GetComponent<SpriteRenderer>();
    5.         if (pressedSpriteRenderer == null)
    6.         {
    7.             Debug.LogError("Splatter Manager object does not have Sprite Renderer attached!");
    8.             return;
    9.         }
    10.        
    11.  
    12.         // check if splatter area component exists as a child of the sprite GO
    13.         Transform splatterAreaSelectiveTr = pressedSpriteGO.transform.FindChild("SplatterArea");
    14.         GameObject splatterAreaSelective = null;
    15.         SpriteRenderer splatterAreaSpriteRenderer;
    16.         SplatterArea splatterArea;
    17.         // if splatter area does not exist add it and configure it
    18.         if (splatterAreaSelectiveTr == null)
    19.         {
    20.             // change go renderer and set stencil index
    21.             pressedSpriteRenderer.material = SpriteSplatterSurfaceMat;
    22.             pressedSpriteRenderer.material.SetFloat("_StencilRef", stencilInt);
    23.  
    24.             splatterAreaSelective = GameObject.Instantiate(BitmapSplatterAreaSelectiveGO, pressedSpriteGO.transform, false) as GameObject;
    25.             splatterAreaSelective.name = "SplatterArea";
    26.             splatterArea = splatterAreaSelective.GetComponent<SplatterArea>();
    27.  
    28.             splatterAreaSpriteRenderer = splatterAreaSelective.GetComponent<SpriteRenderer>();
    29.             splatterAreaSpriteRenderer.sortingOrder = pressedSpriteRenderer.sortingOrder + 1;
    30.  
    31.             RectTransform splatterAreaRectTransform = splatterAreaSelective.GetComponent<RectTransform>();
    32.             splatterAreaRectTransform.sizeDelta = new Vector2(1,1);
    33.             splatterAreaRectTransform.localScale = new Vector3( pressedSpriteRenderer.bounds.size.x, pressedSpriteRenderer.bounds.size.y, 0);
    34.             splatterAreaSpriteRenderer.material.SetFloat("_StencilRef", stencilInt);
    35.             splatterArea.Init();
    36.         }
    37.         else
    38.         // if splatter area exists use it
    39.         {
    40.             splatterAreaSelective = splatterAreaSelectiveTr.gameObject;
    41.             splatterAreaSpriteRenderer = splatterAreaSelective.GetComponent<SpriteRenderer>();
    42.             splatterArea = splatterAreaSelective.GetComponent<SplatterArea>();
    43.         }
    44.        
    45.         // draw splatters
    46.         SplatterUtils.SpawnBranch(splatterBranchPrefab, pressedSpriteGO.transform, splatterArea, defaultSettings, position, null, null);
    47.  
    48.         // increase stencil layer index
    49.         stencilInt++;
    50.     }
     
  15. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Hi,

    We've recreated your code and it seems the problem is coming from the way you scale the stains:
    In particular, this line:
    Code (CSharp):
    1.  
    2. splatterAreaRectTransform.sizeDelta = new Vector2(1,1);
    3.  
    If it's removed, everything works in our example. Not sure why, seems like some Unity's internal way of handling textures.

    Please let us know if it works. Otherwise, a minimal example project would be greatly appreciated.
     
  16. sfilo

    sfilo

    Joined:
    Oct 23, 2012
    Posts:
    30
    I figured it out, I wasn't setting the splatter area rect transform correctly.
    It works if I set it like this:
    Code (CSharp):
    1. splatterAreaRectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, pressedSpriteRenderer.bounds.size.x);
    2.             splatterAreaRectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, pressedSpriteRenderer.bounds.size.y);
     
  17. sfilo

    sfilo

    Joined:
    Oct 23, 2012
    Posts:
    30
    Seems I didn't refresh before posting.
    Yes, that was the problem.
    Thanks for the help and thanks again for a great asset.
     
  18. sfilo

    sfilo

    Joined:
    Oct 23, 2012
    Posts:
    30
    I also found out why the splatter areas were resetting the stain texture from time to time. My unity editor was sending random OnRectTransformDimensionsChange from time to time. This was happening without any actual resizing causing my splatterAreas to loose the stains.

    Do you have any pointers on optimisation. I noticed the BitmapSplatterPreloader in the Demo 2 - Platformer Bitmap scene but I can't figure out how to use it.
     
  19. Mortalbombat

    Mortalbombat

    Joined:
    Aug 5, 2014
    Posts:
    10
    Hi,
    is it possible to create similar game like this?


    1) I mean sync the color with photon
    2) detect on what kind of color is playing standing
    3) measure the area that is covered by color
     
  20. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Hi,

    Thanks for the question!

    The asset works in 3D only on planar surfaces, meaning any curvature on the floor or walls will not work correctly. For a game like Splatoon you would need a custom 3D solution.
     
  21. Hofmann

    Hofmann

    Joined:
    Sep 30, 2015
    Posts:
    25
    Hi,

    Please create a 3D game demo, which would have seen what this asset can in a 3d environment.

    Thank you
     
  22. RodMath

    RodMath

    Joined:
    Oct 21, 2014
    Posts:
    13
    Hi,

    I'm having a bit of trouble getting this to work with a mesh I've created.

    I've set up a simple scene with just the mesh in, then am creating splatter on it, but I can't see anything. If I look at the Splatter Manager in the Scene View, I can see red outlines appearing when I spawn splatter, but in neither scene or game view does anything show up. See attached screenshot to see what I mean.

    Could it be because the mesh has a number of textures and a couple of shaders? I've set both shaders to the splatter type, as you can see from my second attachment.

    Any ideas?

    Thanks

    Rod
     

    Attached Files:

    Last edited: Jan 21, 2017
  23. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Hi Rod,

    To see stains on a mesh you need to do either of:
    1. Use the included Materials/SpriteSplatterSurface or Materials/StandardSplatterSurface on the painted sprite/mesh.
    2. Set stencil buffer in your own shader to the same value as in the stain material (default is 128). This is done by adding the following code into the Pass section of the shader code:
    Stencil {
    Ref [_StencilRef]
    ReadMask 128
    WriteMask 128
    Comp Equal
    }
     
  24. RodMath

    RodMath

    Joined:
    Oct 21, 2014
    Posts:
    13
    Sorry for slow response - yep that did the trick. I thought it was just setting the shader to Splatter/StandardSurface, but obviously I actually needed to use the included material on the mesh.

    I also then discovered I wasn't spawning on the actual mesh but inside it as well, once that was sorted it works nicely.

    Thanks for your help
     
  25. Ga2Z

    Ga2Z

    Joined:
    Feb 16, 2012
    Posts:
    68
    Hi! I'm very interested in buying this but I have these same questions (the ones you didn't answered and I'm asking to implement on a 2D game):

    1) sync the color with photon
    2) detect on what kind of color is playing standing
    3) measure the area that is covered by color
    and some on my own:
    4) Get the whole level coloured and clean it up
    5) color the background instead of the objects
    6) have like multiple player colouring and then measure the amount of each on (mostly like 3 but for multiple colors)

    Thanks!
     
  26. ury2ok2000

    ury2ok2000

    Joined:
    Dec 29, 2012
    Posts:
    46
    Hello, curious if this asset could solve the issue i have been having with my blood splatter solution. Currently it works using a shader that i have pieced together from the internet (not smart on shaders at all). I believe it is using a stencil buffer. Any blood splatter gets parented to the object that is hit (this is so that objects that move/rotate continue to have the effect). The problem i have is when the splatter exceeds the object hit, and another object that has the shader attached passes by it the blood splatter is visible on both. Hard to explain in words i will try to upload a picture.
     
  27. ury2ok2000

    ury2ok2000

    Joined:
    Dec 29, 2012
    Posts:
    46
    blood1.PNG Blood2.PNG Blood3.PNG

    In the first image the second enemy is hidden by shadow but you can see the blood splatter projected on his bottom (this is the result of splatter on the ground tile, not the enemy). He moves left more and you can see a different splatter as he moves over another tile. And finally in the third picture you see that he doesnt actually have any splatter on him, it was just the remainder from the other tiles.
     
  28. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Rotation and movement of splatters on objects works with the asset by default, no tweaking should be needed. As for splatter objects crossing each other, only one surface will show the stains, which I believe is the desired behaviour here.

    Generally, for a platformer use case you do not need to attach splatter areas to characters, only on the platforms that may receive splatters.

    A few platformer demo scenes are included with the asset.
     
  29. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    1) sync the color with photon
    This is possible, since stain colors are decided by you in code, which can be sent with any framework.

    2) detect on what kind of color is playing standing
    This is possible, but currently not exposed through the API. You would use texture splatter system and something like Texture2D.GetPixel(bitmapSplatterManager.GetAreaAtWorldPosition(positionBelowPlayer).
    WorldToTexturePosition(positionBelowPlayer);


    3) measure the area that is covered by color
    There is no special functionality for this in the asset, although we can expose it if needed. Currently, this can be done at least approximately by tracking when a color is spawned.

    4) Get the whole level coloured and clean it up
    This is currently possible.

    5) color the background instead of the objects
    This is currently possible.

    6) have like multiple player colouring and then measure the amount of each on (mostly like 3 but for multiple colors)
    If needed, we can update the asset to expose the areas of stains as they are spawned. Currently, this can be done at least approximately by checking current color on position of each splatter impact, and reducing coverage of existing color while increasing coverage of spawned color by the same amount.
     
  30. SelfExpressionArts

    SelfExpressionArts

    Joined:
    Jun 10, 2013
    Posts:
    6
    Hi DustyRoom,

    First of all, I bought Stain System several days ago, It means I'm very new to Stain System.
    And now I found actually, stain system's tutorials are very lacking...
    I read document and It doesn't really cover every things of stain system.
    I checked the demo scenes out, but it has some problem...
    It's different with online webGL demo : http://dustyroom.com/splatter-system/demo2/


    This is the demo2 - Platformer (Mesh particles) : as you can see it, splatter is not only on ground blocks, It's splattered on the air...
    I didn't set anything, I loaded the scene and I hit the play button. (Unity 5.3.7p4 - PC, Mac & Linux Standalone<DX11>)





    this is the webGL demo - http://dustyroom.com/splatter-system/demo2/
    I think it must be like upper image.
    I'm wondering how I can make my demo scene work like this... And It should be on tutorial !
    And I want to strongly recommend to add the tutorial.

    Thanks a lot

    PS. I read the document and it said about BitmapSplatterAreaSelective... I think it may be the tool for this effect... so I followed it but no effect on it.
     
  31. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    What you are seeing seems to be a bug with our version of asset for Unity 5.3.5. We're working on solving this. The later versions of Unity seem to be not affected by this problem.

    P.S. To know better which versions of Unity to support, is there a particular reason you use Unity 5.3?

    Thank you for patience!
     
  32. akstntn

    akstntn

    Joined:
    May 28, 2013
    Posts:
    20
    Hi,
    I got a lot of 'Incomplete mesh data in Sprite. Please reimport or recreate the Sprite.' warnings
    I reimported the asset a couple of times but still got the same warnings.
    How should I fix them?
    Unity 5.6.0, iOS

    Thank you
     
  33. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Hi!
    Than you for reporting this! It seems to be a problem with Unity 5.6.0: Forum post by Unity. This has been fixed in Unity 5.6.1, please update.
     
    Last edited: May 14, 2017
  34. ury2ok2000

    ury2ok2000

    Joined:
    Dec 29, 2012
    Posts:
    46
    Hello, I have a rotating sprite (circle spike) and when I spawn the splatter on death (when my character hits the collider) I pass the coord of the spot hit detected however the stain seems to be on the sprite as if it was still. In other words if the sprite is rotated 180 degrees and I hit the bottom of the (rotated) sprite then the splatter appears at the top which is the bottom of the un-rotated sprite. Any clue what I'm missing ?
     
  35. ury2ok2000

    ury2ok2000

    Joined:
    Dec 29, 2012
    Posts:
    46
    Also anything special o need to do if I want the splatter/stain to be on a mesh object (instead of a sprite object)? Would I need to use mesh instead of bitmap for example?
     
  36. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    If you are using a SplatterArea on the rotating object, please make sure that the SplatterArea rotates as well, at the same speed. You can, for example, make Splatter Area to be a child object of the rotating sprite.
    If you are using Mesh Splatters, please make sure that the rotating object uses SpriteSplatterSurface material.

    Please check out the isometric demo. There is nothing special to set up. Please note that the splatter works only on planar objects.
     
  37. ury2ok2000

    ury2ok2000

    Joined:
    Dec 29, 2012
    Posts:
    46
    Thanks for the reply. Still no luck on the rotating sprite. I am attaching two pictures. One shows the point of impact (blue circle) and where the blood appears on a rotated sprite (rotation on z -80). Second pic shows me setting rotation to 0 and you can see that the blood impact matches with that point. The splatter surface is a parent to the rotating sprite, so i dont know what I'm doing wrong.

    As for the mesh, i can get the splatter to appear on the mesh, but unfortunately it bleeds onto my other sprite objects, dont know why (third pic shows the blood on the ground (ground is a mesh so all good there), but it also shows on the bat, which is a sprite).
     

    Attached Files:

    • rot1.PNG
      rot1.PNG
      File size:
      370.1 KB
      Views:
      1,044
    • rot2.PNG
      rot2.PNG
      File size:
      373.7 KB
      Views:
      1,293
    • bat.PNG
      bat.PNG
      File size:
      97.7 KB
      Views:
      1,066
  38. Griffo

    Griffo

    Joined:
    Jul 5, 2011
    Posts:
    700
    @Dustyroom

    Hi, I've just purchased your asset and in the

    Demo 1 Bitmap works.
    Demo 1 Mesh no effects.

    Demo 2 Bitmap very erratic effects.
    Demo 2 Mesh no effects.

    Demo 3 no effects.

    Demo 4 no effects.

    Demo 5 works.

    Demo 6 no effects.

    Demo 7 no effects.

    I'm using ..

    Unity 2017.1.0b5
    5k iMac OS 10.1

    Screen Shot 2017-05-22 at 17.16.55.png
     
  39. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Hi @Griffo

    Thank you for reporting this, we are able to reproduce the problem and are fixing it.
    Please note that this only happens in the Beta version of Unity, 2017.1.b.
    Unfortunately, we can not submit a fixed version for 2017.1 since even Unity's Asset Store Tools package does not work in Unity Beta.
     
    Griffo likes this.
  40. ury2ok2000

    ury2ok2000

    Joined:
    Dec 29, 2012
    Posts:
    46
    Hello, any way to have the splatter area not include the inside of the area. In other words suppose i have a ring with transparent inner and the splatterareaselective on that. Currently if i have another sprite within that ring then it becomes part of the splatter area. I would like to exclude transparent areas from the splatter area in other words.
     
  41. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Hi, there is a way. You need to use the Mesh particles instead of Bitmap particles and make the donut-shaped object use shader Splatter/SpriteSurface. For more details, please check out any demo scene with "Mesh particles" in the title.
     
  42. Mechlordx

    Mechlordx

    Joined:
    Dec 5, 2013
    Posts:
    4
    Is there a way to orient individual splatters to a surface's normal during runtime? As in, splatter on a flat ground plane based on its normal, and then splatter on a ramp according to its normal? Or according to any other information that you could retrieve from raycasting onto a stain-able plane?

    Also, how can you change the size of the individual splatters?
     
  43. ury2ok2000

    ury2ok2000

    Joined:
    Dec 29, 2012
    Posts:
    46
    Hello, is there any chance that a splatter on an object will wipe it clean? Some times one of my sprites that is covered in a splattered color gets all its colors removed, or in some cases when a new splatter hits it seems to wipe the other splatters off and just leave the new splatter.
     
  44. Hangingbunny

    Hangingbunny

    Joined:
    Feb 22, 2014
    Posts:
    3
    Has anyone gotten this to work on a terrain?
    I've tried adding:
    Pass{
    Stencil{
    Ref[_StencilRef]
    ReadMask 128
    WriteMask 128
    Comp Equal
    }
    }
    To the Diffuse Terrain shader but I cannot get it to work.
    Anyone have any suggestions?
     
  45. Letscoder

    Letscoder

    Joined:
    Aug 13, 2017
    Posts:
    3
  46. CrowbarSka

    CrowbarSka

    Joined:
    Dec 15, 2009
    Posts:
    192
    This sounds like it would be an extremely valuable tool, meaning this asset could be elevated from a simple visual effect to something that could integrate into all kinds of gameplay scenarios (Splatoon-like games is one example I can think of).

    I'd definitely buy it if it had that feature, but right now I'm on the fence.
     
  47. TobyYe

    TobyYe

    Joined:
    May 25, 2013
    Posts:
    24
    Yes,I found the same bug! Every time the splatters spawn at bottom-left corner, the preview splatters are vanished. Pls fix it
     
  48. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Currently only vertical and horizontal orientations of particles are supported (configuration: Splatter settings (has to be in Mesh mode) - Orientation).

    To configure size of the particles, use the "Branch scale" slider in Splatter settings. Also you can try out other sliders of the "Intensity" section to fine-tune the look.
     
  49. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    Thank you for reporting the bug! We're working on a fix and will post any updates here.
     
  50. Dustyroom

    Dustyroom

    Joined:
    Sep 23, 2015
    Posts:
    108
    This seems to be a bug with Unity - whenever Texture.SetPixels is used with coordinates exactly 1,1 the whole texture is cleared. We found a workaround that does not degrade performance and is visually identical.

    While the new version of the asset is being reviewed, feel free to shoot an email to info@dustyroom.com and we'll send you the new version right away.