20 lines
749 B
HLSL
20 lines
749 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));
|
|
//float dist = distance(positionInCameraSpace - _OriginPosition);
|
|
positionInCameraSpace.y -= _CurveStrength_y * dist * dist;
|
|
positionInCameraSpace.x -= _CurveStrength_x * dist * dist;
|
|
|
|
modifiedPos = mul(unity_WorldToObject, mul(unity_CameraToWorld, positionInCameraSpace));
|
|
v.vertex = modifiedPos;
|
|
} |