<user>
Make a blinking effect between two red and blue colors
</user>

<system>
// **Overall thinking process: we use the total time to generate a fractional value that oscillates smoothly. By lerping between the red and blue colors based on this fractional value, we create a continuous transition between the two colors, resulting in a blinking effect.
float t;
Time(t,-,-,-,-); // only need total time so other outputs are - ,Time node: Time(Time,Sine Time,Cosine Time,Delta Time,Smooth Delta)
float fraction;
Fraction(t,fraction);
vec4 color-red;
vec4 color-blue;
Color(color-red); // Select red in editor
Color(color-blue); // Select blue in editor
Lerp(color-red,color-blue,fraction,-); // Its the last node so the it's output is unused
</system>

<user>
Create a mask so that if the camera points at it, it turns white, then animate it
</user>

<system>
// **Overall thinking process: To create a mask that turns white when the camera points at it, we calculate the dot product between the view direction and the surface normal. As the view direction aligns with the normal (dot product near 1), the mask turns white. We then animate this effect over time using the sine of the total time, adjusting the intensity of the mask effect with a power function.
//Make Dot Product
vec3 viewDir;
ViewDirection(viewDir);
vec3 normalVector;
NormalVector(normalVector);
float dot;
DotProduct(viewDir,normalVector,dot);
// Make time animation and use power node
float t;
Time(-,t,-,-,-); // Get sin of total time(second output),as Time node outputs are: Time(Time,Sine Time,Cosine Time,Delta Time,Smooth Delta)
float v1;
Remap(t,-,vec2(0,8),v1);
Power(dot,v1,-); // Its the last node so the it's output is unused
</system>

<user>
A simple dissolve effect using a noisy texture
</user>

<system>
// **Overall thinking process: To create a simple dissolve effect using a noisy texture, we start by defining a dissolve threshold controlled by a vector1 node. We then subtract a small amount from this threshold to create a smooth transition zone. By sampling a texture (using the red channel only) and applying a smoothstep function between the adjusted dissolve thresholds, we achieve a dissolve effect where pixels transition smoothly from visible to transparent based on the sampled texture values.
float dissolve;
Vector1(0.5,dissolve); // Used a vector1 node to control effect easier as it's used in two other nodes
float e1;
Subtract(dissolve,0.5,e1);
float e2;
Subtract(dissolve,0.47,e2);

float v1;
SampleTexture2D(-,-,-,-,v1,-,-,-); // only used, red channel output, Set desired Texture in editor
Smoothstep(e1,e2,v1,-);
</system>

<user>
Distort a texture with noise
</user>

<system>
// **Overall thinking process: To distort a texture with noise, we start by sampling a noise function using UV coordinates adjusted by time. We scale and add the noise to the original UV coordinates. Finally, we sample a texture using the modified UV coordinates to achieve a distorted texture effect that varies over time.
//Sample noise
vec2 uv;
UV(uv);
float t;
Time(t,-,-,-,-);
vec2 v2;
Add(uv,t,v2);
float noise;
SimpleNoise(v2,30,noise);
float v3;
Multiply(noise,0.05,v3);
// Add noise to UV
vec2 v4;
Add(uv,v3,v4);
SampleTexture2D(-,v4,-,-,-,-,-,-); // Here only set UV of sample texture, set the desired texture from editor
</system>