Morphing Blob

3D morphing blob with animated particles, themes, and pointer interaction.

Nyx UI

Nyx UI

Morphing Blob is a Three.js sphere deformed in real time by a custom GLSL shader, so its surface boils and stretches organically instead of following a fixed keyframe path. It reacts to pointer movement, ships with several color themes, and can carry a particle field around it. Built with React and Tailwind CSS. A good centerpiece for hero sections and abstract brand moments where a photo would feel too literal.

Installation

Usage

import { MorphingBlob } from "@/components/ui/morphing-blob";

Basic Usage

export default function MyComponent() {
  return (
    <div className="flex items-center justify-center min-h-screen bg-gray-900">
      <MorphingBlob size={400} theme="aurora" complexity={3} speed={2} />
    </div>
  );
}

Props

PropTypeDefaultDescription
sizenumber | string400The size of the blob container (number for pixels, or any CSS string)
theme"primary" | "aurora" | "cosmic" | "liquid" | "danger""aurora"The color theme of the blob
complexitynumber3The complexity of the morphing effect (1-5)
speednumber3The speed of the morphing animation (1-5)
particleCountnumber150The number of animated particles around the blob
enableEffectsbooleantrueWhether to enable post-processing effects (bloom, etc.)
childrenReact.ReactNodeundefinedContent to display over the blob
classNamestringundefinedAdditional CSS classes for the container
styleReact.CSSPropertiesundefinedAdditional inline styles for the container