プレイヤーがエリアから出たときにプレイヤーをフェードアウトさせたい。
たとえば、人が建物に入ったとします。人が建物の外にいるとき、彼は見られるべきではありませんが、彼が入ったとき、彼は徐々に見えます(フェード効果を使用して)。
象が緑のエリア内にいるとき、彼のアルファは1でなければなりません

象が緑のエリアの外にいるとき、彼のアルファは0でなければなりません

プレイヤーがエリアから出たときにプレイヤーをフェードアウトさせたい。
たとえば、人が建物に入ったとします。人が建物の外にいるとき、彼は見られるべきではありませんが、彼が入ったとき、彼は徐々に見えます(フェード効果を使用して)。
象が緑のエリア内にいるとき、彼のアルファは1でなければなりません

象が緑のエリアの外にいるとき、彼のアルファは0でなければなりません

回答:
ワールドスペースを使用してキャラクターをフェードできます。
オブジェクト空間(またはオブジェクト座標系)は、各ゲームオブジェクトに固有です。ただし、すべてのゲームオブジェクトは1つの共通の座標系、つまりワールドスペースに変換されます。
ゲームオブジェクトがワールド空間に直接配置される場合、オブジェクトからワールドへの変換は、ゲームオブジェクトのTransformコンポーネントによって指定されます。
https://en.wikibooks.org/wiki/Cg_Programming/Unity/Shading_in_World_Space

Shader "Smkgames/worldSpaceFade" {
      Properties{
         _Size("Size",Vector) = (2,2,0,0)
      }
   SubShader {
      Pass {
         CGPROGRAM
         #pragma vertex vert  
         #pragma fragment frag 
         struct vertexInput {
            float4 vertex : POSITION;
         };
         struct vertexOutput {
            float4 pos : SV_POSITION;
            float4 position_in_world_space : TEXCOORD0;
         };
         vertexOutput vert(vertexInput input) 
         {
            vertexOutput output; 
            output.pos =  UnityObjectToClipPos(input.vertex);
            output.position_in_world_space = 
               mul(unity_ObjectToWorld, input.vertex);
            return output;
         }
         float2 _Size;
         float4 frag(vertexOutput input) : COLOR 
         {
             float3 world = input.position_in_world_space;
          float4 equation = pow(world.x/_Size.x,8) + pow(world.z/_Size.y,8);
          return smoothstep(1,0,equation);
         }
         ENDCG  
      }
   }
}ワールド空間を理解した後、サーフェスシェーダーで使用できます。

Shader "Smkgames/worldSpaceFade" {
    Properties {
         _Size("Size",Vector) = (2,2,0,0)
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _Glossiness ("Smoothness", Range(0,1)) = 0.5
        _Metallic ("Metallic", Range(0,1)) = 0.0
    }
    SubShader {
 Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
     Pass {
        ZWrite On
        ColorMask 0
    }
        LOD 200
        CGPROGRAM
        #pragma surface surf Standard fullforwardshadows alpha:fade
        #pragma target 3.0
        sampler2D _MainTex;
        struct Input {
            float2 uv_MainTex;
            float3 worldPos: TEXCOORD2;
        };
        half _Glossiness;
        half _Metallic;
        fixed4 _Color;
        float2 _Size;
        void vert (inout appdata_full v, out Input o){
            UNITY_INITIALIZE_OUTPUT(Input,o);
            o.worldPos = mul(unity_ObjectToWorld, v.vertex);
        }
        UNITY_INSTANCING_BUFFER_START(Props)
        UNITY_INSTANCING_BUFFER_END(Props)
        void surf (Input IN, inout SurfaceOutputStandard o) {
            fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
            float4 equation = pow(IN.worldPos.x/_Size.x,8) + pow(IN.worldPos.z/_Size.y,8);
            o.Albedo = c.rgb;
            o.Metallic = _Metallic;
            o.Smoothness = _Glossiness;
            o.Alpha = smoothstep(1,0,equation);
        }
        ENDCG
    }
    FallBack "Diffuse"
}