#### [SOLVED] How can I fade player character when he goes inside or outside of the area?

I want to fade the player when he goes out of the area.

For example, suppose a person enters a building. When a person is outside of the building, he shouldn't be seen, but when he enters he gradually becomes visible (using fading effect).

when elephant is inside green area his alpha should be 1

when elephant is outside of green area his alpha should be 0

#### @Seyed Morteza Kamali 2019-04-15 03:13:32

The object space (or object coordinate system) is specific to each game object; however, all game objects are transformed into one common coordinate system — the world space.

If a game object is put directly into the world space, the object-to-world transformation is specified by the Transform component of the game object.

``````Shader "Smkgames/worldSpaceFade" {
Properties{
_Size("Size",Vector) = (2,2,0,0)
}
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
}
}
}
``````

After understanding world space we can use it in our surface shader:

``````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
}
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
Pass {
ZWrite On
}
LOD 200

CGPROGRAM

#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"
}
``````

### [SOLVED] How to create a turn-based system with an unknown number of enemies?

• 2019-09-27 18:34:49
• Christopher
• 109 View
• 0 Score
• Tags:   unity turn-based

### [SOLVED] How can i keep the spawned cubes to be inside the given area?

• 2017-10-27 00:03:44
• Daniel Lip
• 277 View
• 0 Score
• Tags:   unity c#

• 2016-04-27 09:54:42
• fyvaydmx
• 872 View
• 1 Score
• Tags:   unity

### [SOLVED] Unity Camera - Clamping when Zoom changes?

• 2016-09-11 01:56:06
• Merlin
• 638 View
• 0 Score
• Tags:   unity c# camera