Michael Kato

Blog

Blog Feed

Unity 2D Game

February 11, 2026

This project started to refresh my knowledge of Unity especially in the realm of 2D which I’ve never really touched. I tried to make as much as possible dynamic and interactive. The main focus was adding visual flair and polish to the interactions.

Highlights

  • Dynamic tentacles that seek out and eat loot drops using inverse kinematics
  • Custom shaders including dissolve, fog swirl, and god rays.
  • Custom particle systems using Shuriken for impact, pickup, and ambient FX.
  • Sprite-based card flip sequences with state machine control
  • Event-driven animation triggers for gameplay feedback

Technical Approach

The tentacle system uses a chain of IK targets that smoothly interpolate toward loot drop positions. The fog swirl shader combines scrolling noise textures with a radial distortion pass.

Tools

Unity 2D, C#, Shader Graph, Shuriken for VFX, Inverse Kinematics

Blender Geometry Nodes

June 10, 2025

I wanted to create an effect that could take any arbitrary mesh and convert it into something that looked like an electrical schematic come to life: points of light connected by arcing, noisy lightning bolts, all wrapped in a color gradient.

The entire effect is non-destructive and works on any mesh.

How It Works

The pipeline is built with Blender’s Geometry Nodes and a little shader magic. It works like so:

  1. Mesh to Point Cloud - The input mesh is converted to a point cloud.
  2. Nearest-Neighbor Connections - Each point connects to its closest neighbors via splines.
  3. Subdivide + Noise - The splines are subdivided and random noise is applied to create an electric feel.
  4. Cylinder Extrusion - A cylinder is extruded along each spline path.
  5. Color Ramp - A color gradient is applied along the Z axis.
  6. Shader Hookup - The stored color attribute is piped into the emissive channel.

The Node Graph

The geometry node setup above shows the full pipeline.

Geometry Nodes setup in Blender

The slowest part is the inner loop where each point finds it’s nearest neighbors. I’d like to optimize it one day by using the new raycast node.

What I Learned

Geometry Nodes reward thinking in terms of data flow rather than traditional modeling operations. The “subdivide then displace” pattern is surprisingly versatile.

Tools

Blender 4.5, Geometry Nodes, Shader Editor