Fixed Curved Shader

This commit is contained in:
VladimirPirozhenko 2022-08-21 05:16:14 +03:00
parent ea3f8313ce
commit ef754928a5

View File

@ -2,6 +2,7 @@
float _CurveStrength_x; float _CurveStrength_x;
float _CurveStrength_y; float _CurveStrength_y;
float3 _CurveOrigin; float3 _CurveOrigin;
void vert(inout appdata_full v, out Input o) void vert(inout appdata_full v, out Input o)
{ {
float4 pos; float4 pos;
@ -10,11 +11,9 @@ void vert(inout appdata_full v, out Input o)
float4 modifiedPos = v.vertex; float4 modifiedPos = v.vertex;
float4 positionInCameraSpace = mul(unity_WorldToCamera, mul(unity_ObjectToWorld, v.vertex)); float4 positionInCameraSpace = mul(unity_WorldToCamera, mul(unity_ObjectToWorld, v.vertex));
float dist = length(float2(positionInCameraSpace.x, positionInCameraSpace.z)); float dist = length(float2(positionInCameraSpace.x, positionInCameraSpace.z));
float4 offset = (0, 0, 0); //float dist = distance(positionInCameraSpace - _OriginPosition);
//float dist = positionInCameraSpace;// positionInCameraSpace.y -= _CurveStrength_y * dist * dist;
//float dist = distance(positionInCameraSpace, offset); positionInCameraSpace.x -= _CurveStrength_x * dist * dist;
positionInCameraSpace.y -= _CurveStrength_y * zDist * zDist;
positionInCameraSpace.x -= _CurveStrength_x * xDist * xDist;
modifiedPos = mul(unity_WorldToObject, mul(unity_CameraToWorld, positionInCameraSpace)); modifiedPos = mul(unity_WorldToObject, mul(unity_CameraToWorld, positionInCameraSpace));
v.vertex = modifiedPos; v.vertex = modifiedPos;