orbit-card について
フィーチャーカードが登場し、点で構成された球体の周りを回って退場するHyperframesコンポジションスキルです。タイトル、説明、アクセント、軌道角度をカスタマイズできます。
主な機能
- 01カードの登場・退場アニメーション
- 02点の球体を一周する動き
- 03タイトルと説明のカスタマイズ
- 04アクセントと軌道角度の調整
- 05補間されたBlenderカメラモーション
活用シーン
- 01フィーチャー紹介カードのアニメーション
- 02製品タイトルと説明の提示
- 03カードの軌道角度の変更
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ heygen-com/ hyperframes --skill orbit-cardインストール後、Claude Code で/orbit-cardを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
orbit-card.htmlregistry-item.jsonassets/Archivo-LICENSE.txtgsap-3.14.2.min.jsGSAP-NOTICE.txtorbit-motion.jsorbit-scene.jsThree-LICENSE.txtthree.module.min.js詳細
Orbit Card
円形の切り抜きからドット状の球体をのぞかせる、中央配置のフィーチャーカードです。カードは右から入ってきて(0.25~1.80 s)、微かな上下動と奥行き方向の移動を続けながら静止し、球体の中心を軸に一周します(4.97~5.97 s の間でスムーズステップ補間)。その後、左へ退出します(7.35~8.55 s)。カメラのパスとカードの F カーブは、承認済みの Blender リグから 30 fps でエクスポートされ、補間されます。球体は独自の平行移動と一定の回転を維持します。タイトル、説明、アクセントカラー、軌道角度は変数です。キーに手を加えなくても、180°や720°に設定できます。
コンポジション ID:orbit-card。長さは10 s、30 fps、1920×1080です。
ファイル
orbit-card.html(3 KB)assets/Archivo-LICENSE.txt(4 KB)assets/Three-LICENSE.txt(1 KB)assets/archivo-regular.ttf(108 KB)assets/archivo-semibold.ttf(109 KB)assets/gsap-3.14.2.min.js(128 KB)assets/GSAP-NOTICE.txt(1 KB)assets/orbit-motion.js(59 KB)assets/orbit-scene.js(8 KB)assets/three.core.min.js(554 KB)assets/three.module.min.js(468 KB)
インストール
npx hyperframes add orbit-card でインストールすると、デフォルトでは上記のファイルが compositions/orbit-card/ に配置されます。続いて、ホストの index.html からブロックをマウントします。
<div
data-composition-id="orbit-card"
data-composition-src="compositions/orbit-card/orbit-card.html"
data-start="0"
data-duration="10"
data-track-index="1"
data-width="1920"
data-height="1080"
></div>
カスタム値を指定してレンダリングするには、コンポジションファイルを直接指定します。
npx --yes [email protected] render 'compositions/orbit-card/orbit-card.html' --variables '{"feature1Title":"Always in sync","feature1Desc":"Changes reach every screen the moment they happen."}'
変数
実行時に window.__hyperframes.getVariables() で読み取ります。コンポジションのルートで data-composition-variables として宣言します(シングルクォートで囲んだ属性、プレーンな JSON)。
| id | type | default | label / range |
|---|---|---|---|
feature1Title | string | "Always in sync" | カードのタイトル、最大28文字 |
feature1Desc | string | "Changes reach every screen the moment they happen." | カードの説明、最大110文字 |
feature1Accent | color | "#4cc9ff" | カードのアクセントカラー |
cardOrbitDegrees | number | 360 | カードの軌道角度、-36000~36000、刻み幅1 |
実行時の仕様
window.__timelines["orbit-card"]として登録される、再生停止中の GSAP タイムラインを1つ使用します。hf-seekCustomEvent に応じて再同期します。各フレームは時間から求める閉形式関数で決まります(シード付き PRNG のみを使用し、rAF ループや Date.now は使用しません)。- レンダラー:GSAP。
- 外部ランタイム依存関係:なし(ローカルで配信)。
- ローカルフォント:assets/archivo-regular.ttf、assets/archivo-semibold.ttf。
編集ルール(ソースプロジェクトより)
data-composition-variablesは、プレーンな"で囲んだ JSON を含むシングルクォートの属性にしてください。Studio の Design パネルから保存しないでください。- 静的マークアップに
<canvas>を含めないでください。実行時に作成してください。 - すべてのビジュアル状態を t の関数にしてください。シーク安全性によって、このブロックをレンダリング可能にできます。