Я підійшов би до цього за допомогою користувацького шейдера на моєму SpriteRenderers, який займає дві текстури, по одній для кожної версії, до якої потрібно перейти.
(Навіть якщо використовувати цей ефект для переходу між більш ніж двома станами, я все одно намагаюся структурувати гру, так що нам потрібні лише два для візуалізації в будь-який час: старий стан і наступний стан. Ми дозволимо цьому переходу грати до завершення, перш ніж ми дозволимо гравцеві ініціювати перехід до третього стану, і тоді ми можемо замінити попереднє "старе" стан, оскільки воно більше не видно)
Цей шейдер буде зникати між двома текстурами, використовуючи третю одноканальну текстуру як маску для ефекту (наприклад, чорний = 100% старий стан, сірий = 50/50 суміш, білий = 100% новий стан). Я б відобразив цю текстуру маски в екрані.
Тоді я б встановив другу камеру для візуалізації в RenderTexture, щоб створити цю маску. Ця друга камера буде рухатися з моєю основною камерою та відповідати її розміру FoV / orthographic, тому будь-яка анімація, на мій погляд, стосується як світу, так і виявляє маску послідовно. Ця камера відображатиметься перед моєю основною камерою, і вона буде налаштована на перегляд лише вмісту на спеціально призначеному шарі "виявити". На прикладі відео схоже, що вони використовують систему частинок, щоб викреслити колекцію маленьких хмарних форм у цю текстуру розкриття, яка з часом розширюється, надаючи переходу перевагу, що виглядає органічно.