mcpField
C
cuboid-carousel

cuboid-carousel

github.com/heygen-comクリエイティブ・メディア74.7k10.5k 回インストール今日更新
リポジトリ

cuboid-carousel について

Hyperframes向けの、角を丸めて面取りした直方体でカードを見せるカルーセルです。形状、外観、照明、カメラ、動作のタイミングを調整でき、時間位置を指定して描画する短い3Dシーケンスに適しています。

主な機能

  1. 01直方体が一体で登場・退出
  2. 02回転をずらしてヒーロー表示
  3. 03リストまたはJSONのカード内容
  4. 04形状とマテリアルを調整
  5. 05照明、カメラ、タイミングを設定

活用シーン

  1. 013Dカルーセルでカードを表示
  2. 02注目コンテンツを静止表示
  3. 03直方体の動きとシーン外観を調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/heygen-com/hyperframes --skill cuboid-carousel

インストール後、Claude Code で/cuboid-carouselを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

cuboid-carousel.html
registry-item.json
assets/
gsap-3.14.2.min.js
GSAP-NOTICE.txt
Three-LICENSE.txt
three.module.min.js
assets/addons/environments/
RoomEnvironment.js
assets/addons/utils/
BufferGeometryUtils.js

詳細

立方体カルーセル

カードコンテンツを載せた角を丸めた面取り立方体が、ひとまとまりの剛体グループとして右から飛び込みます。立方体ごとに回転をずらしながら進み、減速してヒーロー表示で静止した後、左へ退出します。間隔は立方体の寸法と到達可能な最大 X 半径から算出されるため、立方体が重なることはありません。40 個の変数には、ジオメトリ、マテリアル、ライト、シャドウ、背景、カメラ、各セグメントのすべての時間とイージングを含む、元の DialKit スキーマが格納されています。カードは組み込みリストまたは JSON 変数から取得できます。

コンポジション ID:cuboid-carousel。30 fps、1920×1080 で、長さは 6.666666666666667 秒です。

ファイル

  • cuboid-carousel.html(38 KB)
  • assets/Three-LICENSE.txt(1 KB)
  • assets/addons/environments/RoomEnvironment.js(5 KB)
  • assets/addons/utils/BufferGeometryUtils.js(36 KB)
  • assets/cuboid-motion.js(593 KB)
  • assets/gsap-3.14.2.min.js(128 KB)
  • assets/GSAP-NOTICE.txt(1 KB)
  • assets/three.core.min.js(554 KB)
  • assets/three.module.min.js(468 KB)

インストール

npx hyperframes add cuboid-carousel でインストールします。デフォルトでは、上記のファイルは compositions/cuboid-carousel/ の下に配置されます。その後、ホストの index.html からブロックをマウントします。

<div
  data-composition-id="cuboid-carousel"
  data-composition-src="compositions/cuboid-carousel/cuboid-carousel.html"
  data-start="0"
  data-duration="6.666666666666667"
  data-track-index="1"
  data-width="1920"
  data-height="1080"
></div>

カスタム値を指定してレンダリングするには、コンポジションファイルを直接指定します。

npx --yes [email protected] render 'compositions/cuboid-carousel/cuboid-carousel.html' --variables '{"cardsJson":"","heroCard":4}'

変数

実行時に window.__hyperframes.getVariables() で読み取ります。コンポジションのルートに data-composition-variables として宣言します(単一引用符で囲まれた属性、プレーンな JSON)。

idtypedefaultlabel / range
cardsJsonstring""コンテンツ · カード JSON(任意。ソース内の CARDS を参照)
heroCardnumber4コンテンツ · ヒーローカード(1 始まり)1–12、刻み幅 1
countnumber8コンテンツ · 繰り返しカード数 1–12、刻み幅 1
gapnumber0.01レイアウト · 直方体間の追加間隔 0–1.5、刻み幅 0.005
cuboidWidthnumber1.7直方体 · 幅 0.3–5、刻み幅 0.01
cuboidHeightnumber2.4直方体 · 高さ 0.3–6、刻み幅 0.01
cuboidDepthnumber0.14直方体 · 厚さ(奥行き)0.02–2、刻み幅 0.01
cornerRadiusnumber0.105直方体 · 角の半径 0–0.6、刻み幅 0.005
bevelSizenumber0.03直方体 · ベベルサイズ(エッジの面取り)0–0.3、刻み幅 0.001
bevelThicknessnumber0.04直方体 · ベベルの厚さ 0–0.3、刻み幅 0.001
smoothnessnumber32直方体 · 滑らかさ(セグメント数)1–32、刻み幅 1
bodyColorcolor"#242424"直方体 · 本体の色
roughnessnumber0.6直方体 · 粗さ 0–1、刻み幅 0.01
metalnessnumber0.4直方体 · 金属度 0–1、刻み幅 0.01
heroScalenumber1ヒーロー · 単独表示時のスケール 1–1.6、刻み幅 0.01
heroFillIntensitynumber0.55ヒーロー · 面の光の強さ 0–2、刻み幅 0.05
heroExitXnumber288ヒーロー · 退出時の X 回転角度 -720–720 度、刻み幅 1
heroExitYnumber-234ヒーロー · 退出時の Y 回転角度 -720–720 度、刻み幅 1
heroExitZnumber198ヒーロー · 退出時の Z 回転角度 -720–720 度、刻み幅 1
ambientIntensitynumber0.35ライト · 環境光の強さ 0–4、刻み幅 0.01
ambientColorcolor"#ffffff"ライト · 環境光の色
topIntensitynumber3.1ライト · 上部リグの強さ 0–12、刻み幅 0.05
topColorcolor"#ffffff"ライト · 上部リグの色
bottomIntensitynumber2.15ライト · 下部リグの強さ 0–12、刻み幅 0.05
bottomColorcolor"#ffcaad"ライト · 下部リグの色
keyIntensitynumber5ライト · キーリグの強さ 0–12、刻み幅 0.05
keyColorcolor"#ffe9d6"ライト · キーリグの色
shadowRadiusnumber44.5影 · マップサイズ 2048 での柔らかさ 0–50、刻み幅 0.5
shadowMapSizenumber2048影 · マップサイズ 512–4096、刻み幅 256
backdropcolor"#0b0d13"背景 · 色
cameraFovnumber11カメラ · 初期視野角 10–90、刻み幅 0.5
cameraXnumber-1.65カメラ · 初期 X -20–20、刻み幅 0.05
cameraYnumber8.5カメラ · 初期 Y -20–20、刻み幅 0.05
cameraZnumber-8.508708カメラ · 初期 Z(距離)-20–50、刻み幅 0.1
cameraSettleFramenumber70カメラ · 安定フレーム(30 fps)20–90、刻み幅 1
handheldStrengthnumber1カメラ · 手持ち撮影の揺れの強さ 0–1、刻み幅 0.05
cameraTargetFovnumber34カメラターゲット · 視野角 10–90、刻み幅 0.5
cameraTargetXnumber-7.25カメラターゲット · X -20–20、刻み幅 0.05
cameraTargetYnumber1.15カメラターゲット · Y -20–20、刻み幅 0.05
cameraTargetZnumber6.2カメラターゲット · Z 2–50、刻み幅 0.1

ランタイムの契約

  • window.__timelines["cuboid-carousel"] に登録された、停止中の GSAP タイムラインが 1 つあります。
  • hf-seek CustomEvent で再同期します。各フレームは時間の閉形式の関数です(シード付き PRNG のみを使用し、rAF ループや Date.now は使用しません)。
  • レンダラー:WebGL、GSAP、Canvas 2D、PMREM、シャドウマップ。実行中のインスタンス 1 つあたり約 350 MB を使用します。一度に 1 つだけ実行してください。
  • 外部ランタイム依存関係:./assets/three.module.min.js、./assets/addons/。
  • Google Fonts のウェブフォント:Inter。

編集ルール(ソースプロジェクトより)

  1. data-composition-variables は、JSON に通常の " を使用した単一引用符の属性として維持してください。Studio の Design パネルから保存しないでください。
  2. 静的マークアップに <canvas> を置かないでください。実行時に作成してください。
  3. すべてのビジュアル状態を t の関数として維持してください。シーク時の安全性によって、このブロックをレンダリングできます。

コメント