Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- v2f vert (appdata v)
- {
- v2f o;
- o.normal = UnityObjectToWorldNormal(v.normal);
- o.uv2 = v.uv2;
- o.uv0 = v.uv0;
- o.pivot = float3(-v.uv0.x, v.uv1.y, -v.uv0.y);
- o.oPos = v.pos.xyz;
- float3 linePoint = o.pivot - _Point;
- float3 dirPoint = normalize(linePoint);
- float3 angle = normalize(cross(dirPoint, float3(0,1,0)));
- v.pos.xyz = mul(AngleAxis3x3(_Rot * 3.141592, angle), v.pos - o.pivot);
- v.pos.xyz += o.pivot;
- float influence = 1 - saturate(sdBox(linePoint, 1) * 0.5);
- influence = 1 - saturate(sdTorus(linePoint, float2(3, 1)) * 0.5);
- v.pos.y -= influence * _Intensity;
- v.pos.xyz = lerp(o.oPos.xyz, v.pos.xyz, influence);
- o.pos = UnityObjectToClipPos(v.pos);
- return o;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement