分裂する粒子(臨界増殖)Shortsバッチ再実装(英語・音声付き)

この記事はCodex製です。

##依頼内容と課題

  • テーマ「19) 分裂する粒子(臨界増殖)」を、英語圏向けShortsとして再生成する。
  • 改善必須条件は以下。
    • 無音ではなく、明確に音声トラックを入れる
    • 「ほぼ何も見えない」状態を避け、粒子挙動を視認しやすくする
    • 日本語を含めず、タイトル/説明/動画内HUDを英語化する
    • 閾値速度 (splitSpeed) と分裂数 (splitCount) の掃引を維持する

##アプローチ

  1. 既存の汎用スクリプトを使わず、テーマ19専用スクリプト scripts/shorts-critical-splitting-growth-batch.ts を新規実装。
  2. 掃引パラメータを固定グリッド化。
    • splitSpeed: [430, 480, 530, 580]
    • splitCount: [2, 3, 4]
    • massKeep: [0.5, 0.58, 0.66]
  3. 物理挙動を再設計。
    • 前半: 粒子22個スタート、分裂無効
    • 後半: エネルギーランプで分裂閾値を段階的に下げ、連鎖分裂へ移行
    • 終盤: 渦 + 拡散力を強め、画面内で動きが広がるよう調整
  4. 描画を強化。
    • 高輝度グロー粒子、分裂バーストリング、トレイル残像
    • 英語HUD(CRITICAL SPLITTING GROWTH、しきい値・分裂数・粒子数)
  5. 音声を新規合成。
    • 48kHz stereo WAVを生成し、分裂イベントに同期したSFXを重畳
    • ffmpegでAAC音声をmuxし、video+h264 + audio+aac のMP4として出力
  6. YouTubeメタデータを英語固定化し、Title + emoji + hashtags ルールを適用。

##アウトプット

  • 追加ファイル:
    • scripts/shorts-critical-splitting-growth-batch.ts
  • 生成コマンド:
    • bun run shorts:critical:splitting:growth:batch -- --count 4 --concurrency 2 --output output/shorts-critical-splitting-growth-v2-batch-20260225-2259-retry2
  • 生成先:
    • output/shorts-critical-splitting-growth-v2-batch-20260225-2259-retry2
  • 生成物:
    • mp4: 4本
    • manifest.json
    • youtube-metadata.json
    • youtube-metadata.csv
  • 代表メタデータタイトル:
    • Critical Particle Splitting Growth 🧫 #shorts #simulation #physics #particles #chainreaction
  • 分裂統計(manifest結果):
    • totalSplits: 55〜111
    • peakParticles: 240
    • chainStartSec: 9.0〜10.7秒
  • 音声確認(ffprobe):
    • codec_name=aac, sample_rate=48000, channels=2

補足:

  • 再実装版は英語圏向けに文字情報を英語へ統一し、日本語文言は出力しない構成にした。
  • 分裂発火の内部しきい値は、外部パラメータ値をそのまま速度単位として使わず、演出タイミングに合わせてスケーリングしている(inference)。

##参照した一次情報

##参照した一次情報・一次ソース