glass-shard-title について
Hyperframes向けの、回転するガラス片で見出しを組み立て、カメラ前へ飛ばすコンポジションです。ガラスのタイル状シルエットと奥行きの動きを見せる短いタイトル演出に適しています。
主な機能
- 01Voronoi分割の破片で見出しを形成
- 02破片が奥から回転して飛来
- 03ガラス片がカメラ前を通過して退出
- 04タイル数を調整
- 0512.16秒、1080pのコンポジション
活用シーン
- 01ガラス片によるタイトル演出
- 02タイル状の見出しシルエット作成
- 03奥行きのある破片アニメーション
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ heygen-com/ hyperframes --skill glass-shard-titleインストール後、Claude Code で/glass-shard-titleを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
build-bundle.mjsglass-shard-title.htmlregistry-item.jsonassets/glass-main.mjsThree-LICENSE.txtassets/fonts/CormorantGaramond-OFL.txtGeist-OFL.txt詳細
Glass Shard Title
ボロノイ分割されたガラス片が奥から回転しながら飛来し、見出しのシルエットをタイル状に形作って着地した後、カメラの前を通り過ぎて飛び去ります。各破片は、ジッターを加えたブロブをボロノイセルに対してクリップした Sutherland–Hodgman クリッピングによって作られるため、ピースが常に文字全体を覆います。ガラスとマットキャップのサーフェスにはフラグメントごとにフォグが適用されます。破片が奥行きを移動する様子がはっきり見えるよう、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 | type | default | label / range |
|---|---|---|---|
headline | string | "Designed in glass" | 見出し、最大 40 文字 |
tileCount | number | 8 | タイル数 1~400、ステップ 1 |
roundness | number | 0.4 | 丸み(0~1)、ステップ 0.01 |
bevel | number | 0.35 | ベベル(0~1)、ステップ 0.01 |
meshSmooth | number | 0.6 | サーフェスの滑らかさ(0~1)、ステップ 0.01 |
flyInTime | number | 2.3 | 飛来時間(秒)0.2~6、ステップ 0.05 |
flyOutTime | number | 2.4 | 飛び去る時間(秒)0.2~6、ステップ 0.05 |
stagger | number | 0.27 | 時間差(0~1)、ステップ 0.01 |
flyInRotation | number | 5 | 飛来時の回転(0~60)、ステップ 0.1 |
flyOutRotation | number | 6 | 飛び去る際の回転(0~6)、ステップ 0.1 |
chaos | number | 0.25 | アウトラインの乱れ(0~1)、ステップ 0.01 |
padding | number | 1 | エッジの余白(0~1)、ステップ 0.01 |
sizeVariance | number | 0.35 | サイズのばらつき(0~1)、ステップ 0.01 |
gap | number | 0.03 | タイル間の隙間 0~0.3、ステップ 0.002 |
easePow | number | 10 | 飛来位置のイージング(1~10)、ステップ 0.1 |
sideDist | number | 3 | 横方向の飛行距離 0~60、ステップ 0.5 |
zDist | number | -42 | Z 軸の飛来元(負の値)-400~0、ステップ 2 |
zOut | number | 14 | Z 軸の飛び去り先(+はカメラの前を通過)-400~60、ステップ 2 |
fog | number | 36 | フォグの距離(0 = オフ)0~400、ステップ 2 |
ランタイムの仕様
- 一時停止状態の GSAP タイムラインを 1 つ、
window.__timelines["glass-shard-title"]に登録します。 hf-seekCustomEvent で再同期します。各フレームは時間の閉形式関数です(シード付き PRNG のみを使用し、rAF ループや Date.now は使用しません)。- レンダラー:three.js 0.181.2(バンドル済み)、GSAP 3.14.2、Canvas 2D、GLSL シェーダー、HDR 環境、Matcap、シード付き PRNG、d3-delaunay、シャドウマップ。ライブインスタンスあたりの予算は約 350 MB です。一度に 1 つだけ実行してください。
- 外部ランタイム依存関係:
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 で再ビルドし、再度インライン化してください。
編集ルール(ソースプロジェクトより)
data-composition-variablesは、プレーンな"の JSON を含む単一引用符の属性にしてください。Studio の Design パネルから保存しないでください。- 静的マークアップに
<canvas>を入れないでください。実行時に作成してください。 - すべてのビジュアル状態を t の関数にしてください。シークセーフであることが、このブロックをレンダリング可能にする条件です。