18 lines
		
	
	
		
			609 B
		
	
	
	
		
			HLSL
		
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			609 B
		
	
	
	
		
			HLSL
		
	
	
	
uniform half _TouchReactActive;
 | 
						|
sampler2D	_TouchReact_Buffer;
 | 
						|
float4 _TouchReact_Pos;
 | 
						|
 | 
						|
float3 TouchReactAdjustVertex(float3 pos)
 | 
						|
{
 | 
						|
	float3 worldPos = mul(unity_ObjectToWorld, float4(pos, 1));
 | 
						|
	float2 tbPos = saturate((float2(worldPos.x, -worldPos.z) - _TouchReact_Pos.xz) / _TouchReact_Pos.w);
 | 
						|
	float2 touchBend = tex2Dlod(_TouchReact_Buffer, float4(tbPos, 0, 0));
 | 
						|
	touchBend.y *= 1.0 - length(tbPos - 0.5) * 2;
 | 
						|
	if (touchBend.y > 0.01)
 | 
						|
	{
 | 
						|
		worldPos.y = min(worldPos.y, touchBend.x * 10000);
 | 
						|
	}
 | 
						|
 | 
						|
	float3 changedLocalPos = mul(unity_WorldToObject, float4(worldPos, 1)).xyz;
 | 
						|
	return changedLocalPos - pos;
 | 
						|
} |