MysteryPancake / Blender-Fun

Blender projects and node experiments

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Blender Fun

Blender projects and node experiments.

Caustics (old)

Inspired by Evan Wallace, I made caustics by distorting a mesh based on refraction.

This is the old version (using a physical light surface). It doesn't stick to walls, and isn't very useful.

Caustics demo

Firstly it uses a Raycast node to find where the light surface collides with the water surface (thanks Erindale!)
The animation shows how Raycast moves depending on the ray length. It travels along the normal vector.

Next it uses Refract from Vector Math:

For a given incident vector A, surface normal B and ratio of indices of refraction (IOR), Refract outputs the refraction vector R.

  • The incident vector is the direction light is going. Here it's the normal vector of the light surface.
  • The surface normal is the vector pointing up from the water. Here it's the Hit Normal returned by Raycast.
  • The IOR ratio depends which two materials light travels through. Here it's IOR of air / IOR of water.

Because different materials have different IOR values, I added a custom IOR attribute to the water.
When Raycast collides with the water surface, it reads the water's custom IOR attribute when performing the division above.

Caustics nodes

Mirror

Another example of using Raycast to distort a mesh.

Mirror demo

Requires Capture Attribute due to reasons described by Garek.

Mirror nodes

Explosion

Blender version of an effect originally made in Houdini.
Uses Split Edges to separate each face, then travels along the normal to move each face outwards.

Explosion demo

Forest

WARNING: This is slow because Realise Instances was needed to apply the materials correctly.
Requires Blender 3.1 or above due to Vertex Neighbours controlling the leaves shader.

Forest demo

About

Blender projects and node experiments

License:MIT License