WebberUI

Metaballs

平滑融合的液態黏球(metaballs/ferrofluid)背景。

以 2D canvas 的「模糊 + 對比」濾鏡近似 metaball 場:相鄰球體靠近時邊緣自然長出融合橋接,像水銀或磁流體般流動。可跟隨游標互動。

載入預覽⋯

Playground

即時調整 props、程式碼片段同步更新——直接試出你要的樣子再複製。

7
0.12
1
16
<Metaballs />

安裝

npx shadcn@latest add https://webberui.com/r/metaballs.json

或在 components.json 設定 registries 後,改用 @webberui/metaballs 安裝。

安裝依賴後,從 registry JSON(/r/metaballs.jsonfiles[0].content)複製 metaballs.tsx 原始碼到你的 components/ui/ 目錄:

npm install motion clsx tailwind-merge

使用

元件會填滿父容器,請放在有明確高度的有界框裡(避免使用 viewport 高度單位):

import { Metaballs } from "@/components/ui/metaballs";

<div className="relative h-[320px] w-full overflow-hidden rounded-xl">
  <Metaballs interactive />
</div>

Props

Prop型別預設值說明
countnumber7黏球數量
colorsstring[]洋紅/紫/青黏球配色,依序循環套用
backgroundstring"#0a0a12"背景色,融合門檻的基準
sizenumber0.12半徑倍率(相對容器短邊)
speednumber1漂移速度倍率
blurnumber16模糊半徑(px),撐開融合橋接
contrastnumber18對比強度,決定邊緣銳利度
interactivebooleantrue一顆球平滑跟隨游標(僅滑鼠)

可及性

  • 使用者系統開啟「減少動態效果」時,只繪製一幀靜態融合場、不啟動動畫、不做互動
  • 純裝飾背景,容器標記 aria-hidden,不干擾輔助科技朗讀

On this page