[V1.1 Released] Disperse Pixels

Disperse Pixels by Moonflower Carnivore allows you to turn your mesh or sprite object into particles via Shuriken Particle System, then either disperse or materialize them. This asset is designed for Unity 2017.3+.

If you have a deja vu, here is the explanation.

Real-time demos:
Windows EXE || Android APK

2 Likes

The asset is on shelf now, please take a look at the video and real-time demos.

We have received report about Disperse Pixels not working properly. One possible cause is that the target object (not the root object which usually contains the Animator component) containing the Skinned Mesh Renderer component has the transform-scale value not equal to 1. Changing it to 1 should fix this issue, you may also modify the Start Size (Main module) and Max Particle Size (Renderer module) of the assigned Disperse Particle prefab.

The scale of the Armature object can cause issue if the object scale isn’t 1. This requires re-scaling the Armature in 3D modeling application and re-import the model to Unity.

If it still does not work as intended, please send us email for further technical support. Thank you.

Does this only work on skinned meshes? Will it work on standard mesh renderers as well?

Hi. It also works on (unskinned) mesh renderer, sprite renderer and cloth renderer.

Any change of adding support for UI elements? This would make some incredible transition effects for UI.

Also testing in VR right now and it looks great!

Thank you :smiling_face: . I will look into it after my lunar new year holiday.

Hello again!

So, trying to use this in a VR game. If i want to use a disabled game object to first fade in from a disabled state there is a problem because the VR camera cannot see the object on start. So it spawns the camera that takes the screen shot on Camera.main (in this case the vr cam) and since it cannot see the object gets no pixels. Works fine every time after that.

Is it possible to spawn the camera instead as a child of the object being particlized with a negative z position so it takes the picture directly facing the object and does not matter where the player is looking?

Does that mean it still doesn’t work when you enable the target object the moment you enable DP script? I am sorry I am not near my working computer so I can’t test it until tomorrow.

So i have an object that is basically just a quad with a texture to make it look like a piece of paper. At any point in my game the player might get a message, and what I would like to do is make that message appear using the disperse-in effect. Then when the player is done reading it, it uses the disperse out to go away. When the next message comes it disperses in again.

The message/paper is not visible at the beginning of the scene. Its disabled. When the player goes through various colliders / does certian things the object gets enabled. It is only the first time, when the player cannot see the message and i enable it (with the disperse in script active) that is does not work. Every time after that its great!

This can be achieved by using the camera render mode of UI canvas, then set your message image with sprite renderer and set the object to UI layer. For the DP script, you assign the UI camera as the main camera instead.

Dear Fairennuff. I am back to business. It turns out the DP script needs to be amended hugely to work with UI image. Please send me email along with your invoice number (in your email received from Asset Store after purchasing DP) for verification and I will give you a testing DP demo for UI image.

I actually got it working the way I needed it to, Unfortunately I couldn’t get it to disperse the text as well but no complaints here.

I did have to custom script the disperse pixels script (just made my own and inherited from the original script) to not initialize in awake. This has nothing to do with your script though. This is for a VR game and the camera is not initialized immediately (in the awake function) so I had to make the DP script wait till it was.

Either way, looks great. I’ll keep an eye out for the update on the asset store and update then.

Thanks!

Any plans in the future to make a Wiping disperse effect? Similar to the look/effect in this link -

Do you mean the UI text alone or text parented to the button image? Either way, my update of DP script simply gets the Text component, similar to getting the Image component for UI button . In case of text on button, I just assign both button and text to the target array but only give the button max particles, no particle emission for the text.

https://www.youtube.com/watch?v=SbP0ORW1Uug

Originally I wanted to make this effect, at least my plan was to add it to the later update of DP. My mind has since changed when Unity officially begins public testing of the new external force (force field) feature for particle system which may be implemented to 2018.2 or later. Simply put, we have a particle system emitting a good amount of particles at the beginning just like most DP particle system prefabs, but without any single start speed, gravity, velocity or noise, then we move the force field object into the emitter shape so the particles begin moving. This way you can have much better control of which side of the emitter shape begin swiping, even from the center of the emitter shape.

There is still some merit to make my own version, but the effort would be largely dwarfed by the official version.

V1.1 is now live. The real-time demos now have a text field for testing text disperse. Changes in this update:

  • Removed chroma keying.
  • Fixed Particle Opaque shader.
  • emitterBoxSize now uses an array of Vector3 instead of one Vector2 for all targetObjects. Please redefine the values otherwise in edit mode there will be lot of error messages.
  • Added “transparent target” option.
  • Added support for UI image and UI text.
  • Added options to “reinstantiate” or “destroy on disable”. If both are unchecked, the script reuses existing particle system instances instead of instantiating new instances.
  • Optimized code for reducing GetComponent.
  • Added gizmos box for indicating particle emitter box dimension in scene view.
  • Added GUI handles for adjusting Emitter Box Size and P System Offset position.
1 Like

Considering your asset for a couple small use cases in my current project. Is C# supported? I saw some reviews saying that it wasn’t

It is written in C# and thus supports C#. Reviewers’ concern about code neatness has been fixed in the previous update.

Awesome, you’ll have my money on the 20th (payday)
Thanks for the response, your asset looks perfect for certain special fx