Communitygithub.com

szeproka/hyperframes-registry

玻璃碎片從霧中飛入,拼貼成標題的文字輪廓。HyperFrames 區塊,解析度 1920×1080,長度 12.16 秒,共 19 個變數。

hyperframes-registry 是什麼?

這是一個名為「玻璃碎片標題」的 HyperFrames 區塊,專為動態標題設計。它使用 Voronoi 切割的玻璃碎片從景深處旋轉飛入,拼接成標題的輪廓,然後飛出鏡頭。每個碎片都是經 Sutherland–Hodgman 演算法裁剪後的抖動形狀,確保完整覆蓋文字。支援玻璃與 matcap 材質的逐片段霧效,且 Z 軸飛行與緩動函數解耦,讓碎片移動更顯自然。 此技能適用於 HyperFrames 平台,可透過 `npx hyperframes add glass-shard-title` 安裝。區塊透過單一 GSAP 時間軸控制,所有視覺狀態皆為時間的封閉形式函數,因此支援 seek 導航與無幀循環渲染。提供 19 個可調參數,包括標題文字、碎片數量、圓角、倒角、飛行時間、旋轉角度與霧效距離等,讓使用者能靈活調整動畫效果。 渲染器使用 three.js 0.181.2 與 GSAP 3.14.2,並依賴 CDN 上的 GSAP 與 d3-delaunay 函式庫。此區塊適合用於影片開場、動態 Logo 或任何需要視覺衝擊的標題場景。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/szeproka/hyperframes-registry/tree/HEAD/registry/blocks/glass-shard-title

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

玻璃碎片標題

Voronoi 切割的玻璃片從景深處旋轉飛入,落地拼成標題的輪廓,然後飛出鏡頭。每個碎片都是經 Sutherland–Hodgman 演算法裁剪後的抖動形狀,確保完整覆蓋文字。玻璃與 matcap 材質擁有逐片段霧效;Z 軸飛行與緩動函數解耦,使碎片移動軌跡清晰可見。當碎片數量為 1 時,即為單片玻璃。

組合 ID:glass-shard-title。長度 12.16 秒,30 fps,解析度 1920×1080。

檔案

  • glass-shard-title.html(16 KB)
  • assets/ferndale_studio_01_1k.hdr(1.6 MB)
  • assets/fonts/Geist-Bold.ttf(65 KB)
  • assets/fonts/Geist-Regular.ttf(65 KB)
  • assets/fonts/Geist-SemiBold.ttf(65 KB)
  • assets/fonts/Geist-OFL.txt(4 KB)
  • assets/fonts/cormorant-garamond.woff2(37 KB)
  • assets/fonts/CormorantGaramond-OFL.txt(4 KB)
  • assets/glass-main.js(549 KB)
  • assets/Three-LICENSE.txt(1 KB)
  • assets/matcap-1.png(安裝時從 CDN 取得)

安裝

使用 npx hyperframes add glass-shard-title 安裝;預設情況下,上述檔案會放置在 compositions/glass-shard-title/ 目錄下。然後在主機的 index.html 中掛載區塊:

<div
  data-composition-id="glass-shard-title"
  data-composition-src="compositions/glass-shard-title/glass-shard-title.html"
  data-start="0"
  data-duration="12.16"
  data-track-index="1"
  data-width="1920"
  data-height="1080"
></div>

若要自訂值渲染,可直接指定組合檔案:

npx --yes [email protected] render 'compositions/glass-shard-title/glass-shard-title.html' --variables '{"headline":"Designed in glass","tileCount":8}'

變數

執行時可透過 window.__hyperframes.getVariables() 讀取;在組合根元素上以 data-composition-variables 屬性(單引號屬性,純 JSON)宣告。

id類型預設值標籤 / 範圍
headlinestring"Designed in glass"標題最多 40 字元
tileCountnumber8碎片數量 1–400 步長 1
roundnessnumber0.4圓角 (0-1) 0–1 步長 0.01
bevelnumber0.35倒角 (0-1) 0–1 步長 0.01
meshSmoothnumber0.6表面平滑度 (0-1) 0–1 步長 0.01
flyInTimenumber2.3飛入時間 (秒) 0.2–6 步長 0.05
flyOutTimenumber2.4飛出時間 (秒) 0.2–6 步長 0.05
staggernumber0.27交錯延遲 (0-1) 0–1 步長 0.01
flyInRotationnumber5飛入旋轉角度 (0-60) 0–60 步長 0.1
flyOutRotationnumber6飛出旋轉角度 (0-6) 0–6 步長 0.1
chaosnumber0.25輪廓混亂度 (0-1) 0–1 步長 0.01
paddingnumber1邊緣內距 (0-1) 0–1 步長 0.01
sizeVariancenumber0.35尺寸變異 (0-1) 0–1 步長 0.01
gapnumber0.03碎片間隙 0–0.3 步長 0.002
easePownumber10飛入位置緩動 (1-10) 1–10 步長 0.1
sideDistnumber3側向飛行距離 0–60 步長 0.5
zDistnumber-42Z 軸飛入起點 (負數) -400–0 步長 2
zOutnumber14Z 軸飛出終點 (+ = 越過鏡頭) -400–60 步長 2
fognumber36霧距離 (0 = 關閉) 0–400 步長 2

執行時期合約

  • 一條暫停的 GSAP 時間軸註冊為 window.__timelines["glass-shard-title"]。
  • 收到 hf-seek 自訂事件時重新同步;每個影格皆為時間的封閉形式函數(僅使用種子 PRNG,無 rAF 循環,無 Date.now)。
  • 渲染器:three.js 0.181.2(捆綁)、GSAP 3.14.2、Canvas 2D、GLSL 著色器、HDR 環境、Matcap、種子 PRNG、d3-delaunay、陰影貼圖。每個即時實例約佔 350 MB 記憶體;建議一次只執行一個。
  • 外部執行時期依賴:https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js、https://cdn.jsdelivr.net/npm/[email protected]/dist/d3-delaunay.min.js。
  • 本地字型:assets/fonts/Geist-Regular.ttf、assets/fonts/Geist-SemiBold.ttf、assets/fonts/Geist-Bold.ttf。
  • 捆綁的程式碼內嵌在組合檔案中(assets/glass-main.js);編輯 .mjs 原始碼後,使用 esbuild 重建並重新內嵌。

編輯規則(來自原始專案)

  1. 保持 data-composition-variables 為單引號屬性,內容為純 " JSON。切勿透過 Studio 的設計面板儲存此屬性。
  2. 不要在靜態標記中放置 <canvas>;應在執行時期建立。
  3. 保持所有視覺狀態為時間 t 的函數;seek 安全性是區塊可渲染的關鍵。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相關技能