Soul River like double world implementation

Soul River is a popular game that has the unique gameplay mechanic of double-world. More precisely, the world is phisically one and the transition to the other is based on the distortion of the objects and a post-process effect.
For those who have no idea, in this short video there is a simple explanation.
Let us forget about the morphing of the meshes, let’s suppose they remain the same and we are interest on changing only the appearance of the game and cover the floor of blood, how would you do that?

I would stick to 3 sets of shaders.

  1. Shaderf for world A
  2. Shaders for world B
  3. Shader with Lerp A to B

Lerp could be driven by a Blueprint via material parameter.
Why all 3 instead of just 3rd? - just for performance.
Once lerp is finished - switch the material to a simpler one.

  1. You are in world A, all meshed have Shaders for world A
  2. You activating the transition “spell”, shaders will switch to Lerp ones and would be gradually blended A → B
  3. Once transitions is finished shaders will be replaced by Shaders for world B

You probably could use decals with the same logic (blood splatters etc).

Thanks for the reply. Probably I’m not so expert, but as far as I know your approach could be taken out by using two different post-process effects and as you mentioned blending them. Did you mean this? Or, the notion of shader in this context probably is not familiar to me and it’s different from the post process effect? Could you please clarify this point? Thank you very much!

No. Every mesh should have own set of shaders (materials). PP can’t do such complex things, except if you’re making some very stylized game.

You should learn about dynamic material instances: