AwesomeRunner/Assets/Shaders/CurvedCode.cginc
2022-08-21 05:13:11 +03:00

21 lines
821 B
HLSL

#include "UnityCG.cginc"
float _CurveStrength_x;
float _CurveStrength_y;
float3 _CurveOrigin;
void vert(inout appdata_full v, out Input o)
{
float4 pos;
float2 uv;
UNITY_INITIALIZE_OUTPUT(Input, o);
float4 modifiedPos = v.vertex;
float4 positionInCameraSpace = mul(unity_WorldToCamera, mul(unity_ObjectToWorld, v.vertex));
float dist = length(float2(positionInCameraSpace.x, positionInCameraSpace.z));
float4 offset = (0, 0, 0);
//float dist = positionInCameraSpace;//
//float dist = distance(positionInCameraSpace, offset);
positionInCameraSpace.y -= _CurveStrength_y * zDist * zDist;
positionInCameraSpace.x -= _CurveStrength_x * xDist * xDist;
modifiedPos = mul(unity_WorldToObject, mul(unity_CameraToWorld, positionInCameraSpace));
v.vertex = modifiedPos;
}