線框入口標題
擠出的線框字母由內建的 Geist 字體構建,使用 TTF 載入器和多邊形偏移技術,然後透過入口爆發效果揭示,其混亂度為一個變數。第二個節拍將字母轉變為替換短語,支援單詞換行和自動字型大小,並透過可調的緩動曲線和安定抖動效果分階段呈現,可選遠近霧效果。
合成 ID:wireframe-portal-title。持續時間 8 秒,30 fps,1920×1080。
檔案
wireframe-portal-title.html(63 KB)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)
安裝
使用 npx hyperframes add wireframe-portal-title 安裝;預設情況下,上述檔案會放置在 compositions/wireframe-portal-title/ 目錄下。然後從主機 index.html 掛載區塊:
<div
data-composition-id="wireframe-portal-title"
data-composition-src="compositions/wireframe-portal-title/wireframe-portal-title.html"
data-start="0"
data-duration="8"
data-track-index="1"
data-width="1920"
data-height="1080"
></div>
透過直接指定合成檔案來使用自訂值渲染:
npx --yes [email protected] render 'compositions/wireframe-portal-title/wireframe-portal-title.html' --variables '{"title":"BREAKTHROUGH","replacementPhrase":"Lets do this sir!"}'
變數
執行時透過 window.__hyperframes.getVariables() 讀取;在合成根元素上以 data-composition-variables 屬性宣告(使用單引號屬性,純 JSON)。
| id | 類型 | 預設值 | 標籤 / 範圍 |
|---|---|---|---|
title | string | "BREAKTHROUGH" | 標題最多 18 個字元 |
replacementPhrase | string | "Lets do this sir!" | 3D 替換短語(自動佈局) |
phraseDuration | number | 1.85 | 短語轉場持續時間(秒)0.65–2.9 步長 0.05 |
phraseEasing | number | 8 | 轉場緩動(1 柔和 – 8 彈性)1–8 步長 0.25 |
settleGlitch | number | 0.2 | 字母安定抖動強度 0–4 步長 0.05 |
depthFog | boolean | true | 遠近霧(早期淡出始終開啟) |
subtitle | string | "HYPERFRAMES PORTAL TITLE" | 字幕最多 48 個字元 |
accent | color | "#F5C518" | 強調色 |
burstChaos | number | 1 | 入口混亂度(0-2)0–2 步長 0.01 |
執行時契約
- 一個已暫停的 GSAP 時間軸,註冊為
window.__timelines["wireframe-portal-title"]。 - 在
hf-seek自訂事件上重新同步;每一幀都是時間的封閉式函數(僅有基於種子的 PRNG,無 rAF 迴圈,無 Date.now)。 - 渲染器:three.js 0.181.2,GSAP 3.14.2,Canvas 2D,GLSL 著色器,後處理,基於種子的 PRNG,Clipper。每個實例約需 350 MB 記憶體;請一次只執行一個。
- 外部執行時依賴:
https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js、https://cdn.jsdelivr.net/npm/[email protected]/clipper.js、https://cdn.jsdelivr.net/npm/[email protected]/build/three.module.js、https://cdn.jsdelivr.net/npm/[email protected]/examples/jsm/。 - 本地字體:assets/fonts/Geist-Regular.ttf、assets/fonts/Geist-SemiBold.ttf、assets/fonts/Geist-Bold.ttf。
編輯規則(來自原始專案)
- 保持
data-composition-variables為單引號屬性,內容為純"JSON。絕不要透過 Studio 的設計面板儲存它。 - 不要在靜態標記中放入
<canvas>;應在執行時建立它。 - 保持每個視覺狀態為 t 的函數;可搜尋性(seek-safety)是區塊可渲染的關鍵。