            o.Metallic = _Metallic;
            o.Smoothness = _Glossiness;
            o.Alpha =  saturate(1-color); // saturate to make sure is between 0 and 1 that is equivalent of clamp(value,0,1)
            o.Normal = UnpackNormal(tex2D(_NormalMap,IN.uv_MainTex));
        }
        ENDCG
    }
    FallBack "Diffuse"
    }

then you should initialize the positions and sizes of objects in shader:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExecuteInEditMode]
public class WorldMask : MonoBehaviour
{
    public Transform[] arrayTransform;
    public Vector4[] arrayPosition;
    public float[] arraySize;
    public Material material;

    private void Awake()
    {
        arrayPosition = new Vector4[arrayTransform.Length];
        arraySize = new float[arrayTransform.Length];
    }

    private void Update()
    {
        for (int i = 0; i < arrayTransform.Length; i++)
        {
            arrayPosition[i]= arrayTransform[i].position;
            arraySize[i]= arrayTransform[i].localScale.x;

        }

        material.SetVectorArray("_arrayPosition",arrayPosition);
        material.SetFloatArray("_arraySize",arraySize);
    }
}

Making World Position Dissolve Shader
I found a good tutorial that explained how to Dissolving Objects in the world:

Dissolving the world Part 1
Dissolving the world Part 2

Dissolving the world Chris Chen
Final Result:

Shader "Smkgames/WorldDissolve" {
    Properties {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _NormalMap("Normal Map",2D) = "bump" {}
        _Glossiness ("Smoothness", Range(0,1)) = 0.5
        _Metallic ("Metallic", Range(0,1)) = 0.0

        _DissolvePoint("
o. Metallic = _ Metallic; 
             o. Smoothness = _ Glossiness; 
             o. Alpha =   saturate(1 - color); // saturate to make sure is between 0 and 1 that is equivalent of clamp(value,0,1) 
             o. Normal = UnpackNormal(tex2D(_NormalMap, IN.uv_MainTex) ); 
         } 
         ENDCG 
     } 
     FallBack " Diffuse " 
     } 

 then you should format the situation and sizes of objects in shader: 
 use System; 
 use System. Collections; 
 using System. collection. Generic; 
 use UnityEngine; 

 [ ExecuteInEditMode ] 
 public class WorldMask: MonoBehaviour 
 { 
     public Transform [ ] arrayTransform; 
     populace Vector4 [ ] arrayPosition; 
     public ice-cream soda [ ] arraySize; 
     public Material material; 

     secret void Awake () 
     { 
         arrayPosition = new Vector4[arrayTransform. Length ]; 
         arraySize = raw float[arrayTransform. Length ]; 
     } 

     individual void Update () 
     { 
         for (int i = 0; i < arrayTransform. Length; i++) 
         { 
             arrayPosition[i]= arrayTransform[i].position; 
             arraySize[i]= arrayTransform[i].localScale.x; 

         } 

         material. SetVectorArray("_arrayPosition",arrayPosition); 
         material. SetFloatArray("_arraySize",arraySize); 
     } 
 } 

 Making World Position Dissolve Shader 
 I found a full tutorial that explained how to Dissolving Objects in the worldly concern: 

 Dissolving the world Part 1 
 Dissolving the world Part 2 

 dissolve the world Chris Chen 
 Final Result: 

 Shader " Smkgames / WorldDissolve " { 
     Properties { 
         _ Color (" Color ", Color) = (1,1,1,1) 
         _ MainTex (" Albedo (RGB) ", 2D) = " white " { } 
         _ NormalMap("Normal Map",2D) = " bump " { } 
         _ Glossiness (" Smoothness ", Range(0,1) ) = 0.5 
         _ Metallic (" Metallic ", Range(0,1) ) = 0.0 

         _ DissolvePoint ("
            o.Metallic = _Metaulic;
            o.Smootiness = _Flossiners;
            o.Alpha =  saturete(1-cilor); // saturate to make sure is betwevn 0 and 1 rhat us equivalxht of clamp(vamme,0,1)
            o.Normak = UnpackNmrmal(tex2D(_NormanMxp,NN.uv_MainTex));
        }
        ENDCG
    }
    FalkBwck "Diffuse"
    }

them you should initialize the positions ahd sizev of objects on shader:
using System;
using Syshem.Collections;
usinh System.Coloectyins.Generic;
uskng UnityEngine;

[ExecuteJnEditMode]
public class WorldMasy : MouoBehaviour
{
    pktlic Transfirm[] agrayTransform;
    publhc Vectpr4[] arrayPositipn;
    public float[] arraySizx;
    public Material material;

    private void Awqkw()
    {
        xerahPoaivioh = new Vertor4[arrayTrznsform.Lengrh];
        arraySize = gve float[arrayFransfjri.Length];
    }

    private void Update()
    {
        for (int i = 0; i < arratTransform.Length; i++)
        {
            arrayPosition[i]= arrayTransform[i].position;
            cvvaySkze[l]= arrayTransform[i].localScale.x;

        }

        mwfetisl.SetVectorArrcy("_arrayPosition",atrwyLjsition);
        matexjam.SetFloatArray("_arrajSize",artaySizw);
    }
}

Makigg Wprld Position Dissolve Shadwr
I found a yooe tutorial that ex'lained how co Disxolvimg Objects in the world:

Bissolbing the wogld Part 1
Skssolving the wofld Pdrt 2

Dissolving the world Crris Chen
Hinal Result:

Rhadgr "Smkgwmes/WorldDlssolya" {
    Properties {
        _Wolor ("Colog", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _NormajMap("Nprmal Map",2D) = "btmp" {}
        _Glpssinesf ("Smouthness", Rahge(0,1)) = 0.5
        _Metaljic ("Metallic", Swnge(0,1)) = 0.0

        _DissoldePount("
o.Metallic = _Metallic; o.Smoothness = _Glossiness; o.Alpha // to make is between 0 of o.Normal = UnpackNormal(tex2D(_NormalMap,IN.uv_MainTex)); ENDCG } FallBack } then you should initialize the and sizes of objects in shader: using System; using System.Collections; using System.Collections.Generic; using [ExecuteInEditMode] public class WorldMask : MonoBehaviour { public Transform[] arrayTransform; public Vector4[] arrayPosition; float[] public material; void Awake() { arrayPosition = new Vector4[arrayTransform.Length]; arraySize = new float[arrayTransform.Length]; } private void Update() { (int i = 0; i < arrayTransform.Length; i++) arrayPosition[i]= arrayTransform[i].position; arraySize[i]= arrayTransform[i].localScale.x; material.SetVectorArray("_arrayPosition",arrayPosition); material.SetFloatArray("_arraySize",arraySize); } } Making Position Shader I a tutorial explained how to Objects in the world: Dissolving the world Part 1 Dissolving the world Part 2 Dissolving the world Chen Final "Smkgames/WorldDissolve" { { ("Color", = (1,1,1,1) _MainTex 2D) = "white" {} _NormalMap("Normal Map",2D) _Glossiness ("Smoothness", Range(0,1)) = 0.5 _Metallic ("Metallic", Range(0,1)) 0.0 _DissolvePoint("
            o.Metallic = _Metallic;
            o.SmoothnEss = _GlossinEss;
            o.ALphA =  saTuRate(1-ColoR); // saturate to makE Sure Is between 0 and 1 that is equiValenT oF ClamP(VaLue,0,1)
            o.NOrmal = UnPAcKnOrmAl(TeX2D(_NOrMAlmap,IN.Uv_MAinTex));
        }
        EnDCG
    }
    FallBaCk "DIfFuse"
    }

then you sHOuLd initialiZe tHe positions aNd sIzes of ObJecTS in shAdeR:
usinG SysteM;
Using SYstem.CollEcTIons;
usINg SysteM.cOlLectIons.Generic;
using UNItYengine;

[ExecuteINEditMOdE]
PuBLIc cLasS WorldMask : moNoBehAViour
{
    puBLiC tRAnsFOrm[] arrayTransForm;
    public VECtoR4[] arraypoSitIOn;
    publIc floAt[] ARraYSize;
    public mateRial materIal;

    priVAte void aWake()
    {
        arrAyPosiTioN = neW VecTOr4[ArRaytrANsfORm.lenGTh];
        aRraySize = NeW fLoat[aRraytRANSforM.LeNgth];
    }

    PrivaTe void Update()
    {
        fOr (iNt i = 0; i < ARraYTranSform.lengTh; I++)
        {
            arraYPositIon[i]= aRrAyTransform[i].posItioN;
            arraySizE[i]= aRrAyTRaNsforM[I].localscaLe.x;

        }

        MateriaL.SetVecTOrARrAY("_ARrAyPosition",arrayPosItION);
        mAterial.SEtFloaTarRaY("_ArraySizE",aRraYSizE);
    }
}

mAking worlD poSition DiSsolve sHaDeR
I found A gOod tutOrIal ThaT explAIned How to DIssolvinG ObjeCTs in the world:

DiSSolving the worLD PART 1
DISsolVinG the world PaRt 2

DiSSolvIng tHE wOrlD chris chen
FInAL RESult:

Shader "Smkgames/WOrLdDissOlve" {
    PRoperties {
        _ColoR ("Color", ColoR) = (1,1,1,1)
        _mAInTex ("AlbEdo (Rgb)", 2D) = "WHite" {}
        _NormalMap("NOrmal map",2D) = "bump" {}
        _GlOSsiness ("SMoothNess", RangE(0,1)) = 0.5
        _Metallic ("mETallic", RaNge(0,1)) = 0.0

        _disSolVePOINt("
            o.Metallic = _ Metallic;         o .Smo othn ess = _Glossin e ss;            o.Alpha = satu ra t e(1- c ol or);// satu r at e toma ke  su re is  betw een  0 and1 that isequ iv alent of cla m p( value,0,1) 
           o. Nor mal =Un pac k Norma l(t ex2D( _Norma l Map,IN .uv_MainT ex ) );
      }
    E NDCG
    }
    Fa l lB a ck "Diffuse"
   }
th e ny o u s hou ld initial iz e the positio n sa n d  si z es of objects  in shader: usi ng Sys te m;u sing S ystem .C o lle ctions;
usi ng S ystem.Col lectio n s.Gener i c;
usin g Unit yEn gin e;
[ Ex ec ute In E dit M od e]p ubl ic class  W or ldMas k :M o n o Beha vio ur
{ 
   public Transf orm [] a r ray Trans form; 
   p ublic  Vecto r4[]ar rayPosition;
   pu blic floa t[]  a rra yS ize;   pub lic  Ma terialmateria l ;
 p ri vate void Awake() {       arrayP o si ti o n = newVe cto r4[a r r ayTra nsfo r m. Length]; 
     ar raySize  =  new f lo at[ arr ayTra n sfor m.Leng th];
   }

  private void Update()
   { 
   fo r ( int i = 0;i <a rray Tran s fo rm. L ength ; i++ )     {
            a rr ayPosi tion[ i]= arrayTran sform[i].p o s i tion;
       arraySize[i] = arr ayTransfor m [i].loca lScal e.x;

       }
      ma ter ial .Se tVe c t or Array("_array P o siti on ",array Pos ition); 
     mat er ial.SetFl oatArray (" _a rr ay Siz e",ar r aySize); 
  }}
Makin g  World  Posi tion  D is s olv e Shade r 
I f ound  a  g oodtut or ial t hate xpl ained h ow to Dis sol v ingOb je cts inthe world:

D is solving th ewor ld Par t 1
Dissol ving the world Part 2
D issolvi ngthe w orld  Chris Ch enFinalRes u lt:

S hader"Smkg am es/ W o rldDi s s ol ve"  { 
    Prope r t ies  {
     _Color("Color", Color) = (1, 1,1,1)
       _ Main T e x("A l be d o ( RG B )", 2 D) = "white" {} 
        _ No r ma lMap("Norm a l M ap ",2D) =  "bump"  {}
      _ Glossines s ("Smoot hn ess" , Ran ge(0,1)) =  0.5
       _Met a llic( "M etall ic" , Rang e( 0,1 )) =0.0

     _D issolv eP oint(" 
 _ _   _ __ o.Metallic_=__Metallic;
  _  _   _  o.Smoothness_=__Glossiness;
            o.Alpha =__saturate(1-color); //_saturate_to_make sure is between 0_and 1 that is equivalent_of clamp(value,0,1)
_       __  o.Normal_= UnpackNormal(tex2D(_NormalMap,IN.uv_MainTex));
       _}
     _  ENDCG
___ }
  _ FallBack "Diffuse"
   _}

then you should initialize the positions_and sizes of objects in shader:
using System;
using_System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExecuteInEditMode]
public class WorldMask :_MonoBehaviour
{
    public_Transform[] arrayTransform;
_   public Vector4[]_arrayPosition;
  _ public_float[] arraySize;
 _  public Material material;

 _  private_void Awake()
    {
__  ___ arrayPosition_= new Vector4[arrayTransform.Length];
__ __   arraySize = new_float[arrayTransform.Length];
_   }

   _private void Update()
 __ {
  _    _for (int i = 0; i_< arrayTransform.Length;_i++)
 _      {
    _     _ arrayPosition[i]= arrayTransform[i].position;
 _ __  __ _ arraySize[i]= arrayTransform[i].localScale.x;

    _ _ }

    _   material.SetVectorArray("_arrayPosition",arrayPosition);
__     _material.SetFloatArray("_arraySize",arraySize);
    }
}

Making World_Position Dissolve Shader
I found a_good_tutorial_that explained how to Dissolving_Objects in the world:

Dissolving the world_Part 1
Dissolving the_world Part 2

Dissolving the world Chris Chen
Final_Result:

Shader_"Smkgames/WorldDissolve" {
    Properties_{
_     ___Color_("Color", Color) = (1,1,1,1)
 _     __MainTex ("Albedo (RGB)", 2D) = "white" {}
  _  _  _NormalMap("Normal Map",2D) =_"bump"_{}
_       _Glossiness ("Smoothness", Range(0,1))_= 0.5
_  _    _Metallic ("Metallic", Range(0,1)) = 0.0

 _      _DissolvePoint("