Here's a Breath of the Wild-style teleportation effect, which combines a glow dissolve shader with some trail particles, all wrapped up in a helpful script.

I've tried to make it as flexible as possible - there are a bunch of tweakable settings to create different dissolve/teleport/disintegration effects - but if you don't need all the extras, the shader can be simplified quite a bit. (All those variations are included in the files)
To use it is mostly pretty simple - just plop the Glow Dissolve object (included as a Prefab) as a child object, under the mesh you want to dissolve, and it will automatically hook itself into the MeshRenderer (or SkinnedMeshRenderer) of the parent object.
On the script is a Glow Dissolve Shader slot - this shader will replace the shader on the Mesh (either on start, or just as the teleport happens) so that the dissolve can happen. It'll attempt to copy over all the important bits of the current Material first, so the object looks the same just before it dissolve. To ensure this works, you'll want to make a copy of the shader you're using on your mesh, and create a Glow Dissolve variant of it. To do this, just drop in the included "Glow Dissolve" shader function, and hook it up to Emission, Vertex Offset and Opacity Map. I've included an example of a 'PBR Shader' with a 'PBR + Glow Dissolve' variant in the files.

I hope that makes sense, but let me know in the comments or Discord if anything is confusing.
Some other considerations for advanced/more flexible usage:
* The Particle System is mostly separate, and only derives it's colour and emission timings from the script - all other particle effects you'll want to tweak manually on a case by case basis. It's not really worth including that in with the main script just to keep it in one place.
* If you want to dissolve multiple meshes at the same time, you'll need to replace the "Renderer thisRenderer" with a "Renderer[] theseRenderers" array and find all the appropriate renderers to swap.
* If you want the particles to shoot off in a specific direction instead of just float upwards (say, in the direction of the damage vector during an attack impact disintegration), you can't use a Mesh Emitter in the particle system (as far as I know) - so you'll have to untick the "Emit Particles From Mesh" bool and use a custom emitter shape, and then manually set the particle emitter direction via script.
* The "Center Offset" Vector on the script is used to tweak the center point of mesh for the shader effect, if you want to use a center that is different from the pivot point - for example, the included skeletons have their mesh pivot at their base, so the "Center Offset" is used to push the center up a bit for some of the "Push Outwards" more explody effects. Whereas on a sphere mesh, which has its pivot in it's exact center, the offset can be used to push the center down to the floor, so that the "Animate Push Level" part of the shader starts at the top of the sphere and ends a the floor. To help visualise that, you can hook the last Saturate Node in the "Dissolve Level Gradient Animate In" into the Debug input, and it'll show you a greyscale representation of the offset mesh center....
... you know what? - a much better way to make this easy to set up, is just to be able to position the Glow Dissolve object at the place where you want the mesh center to be and this can be fed to the shader automagically.... I'll add that to the next version.
Any questions, let me know, and thanks again for the support.
PS: Make sure you grab the GlowDissolve.asset file (the Shader Function, if you want to make your own variations) if you normally use the unitypackage - it always gets left out when I try to package up a Unity package. The Zip includes everything though.
PPS: As per usual, I didn't include the Bloom image effect on the camera in the example scene. If you don't already use your own bloom, you can grab the one I was using (Video Bloom) one from the Command Buffer unity example files https://docs.unity3d.com/Manual/GraphicsCommandBuffers.html
Honestly, using a Post Processing stack is a better option, but I'm lazy and it's quicker to just chuck a video bloom on there D:
Puck Loves Games
2020-01-10 00:55:27 +0000 UTC