Communitygithub.com

kohryan/unrealmotion

プロンプトからImageGen参照、実際のThree.js再構築、因果モーション、決定論的MP4レンダリングを通じて、サイレントモーショングラフィックス解説動画を作成します。プロセス説明、カットアウェイ、再組み立て、製品フィルム、キネティックタイポグラフィ、データ可視化に使用します。映像のみの編集には使用しません。

unrealmotion とは?

UnrealMotionは、プロンプトから直接MP4動画とシーンソースを生成するAIエージェントスキルです。Claude Codeのようなコーディングエージェントがクリエイティブエンジンとなり、ImageGenで参照画像を生成し、それを実際のThree.jsモデルに再構築し、因果関係のあるモーションを適用して決定論的にMP4をレンダリングします。APIキーや有料動画サービスは不要で、Node.js、Python、FFmpegのみで動作します。主に説明動画、カットアウェイ、再組み立て、製品フィルム、キネティックタイポグラフィ、データ可視化などのサイレント動画制作に特化しています。4,146件のHFカタログと2,677件のNVIDIAメタデータカタログを参照し、適切なコード例や外観参照を取得できます。品質チェック、フレームプレビュー、最終レンダリングをコマンドラインで実行でき、結果はMP4と編集可能なプロジェクトファイルとして提供されます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kohryan/unrealmotion-skill/tree/HEAD

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

unrealmotion は何をしますか?

ユーザーのプロンプトから、再生可能なMP4とシーンソースを提供します。アクティブなコーディングエージェントがクリエイティブエンジンです。バンドルされたスクリプトが参照を取得し、シーンを提供し、フレームをキャプチャし、動画をエンコードします。別の言語モデル、APIキー、または有料の動画サービスは必要ありません。これはUnreal Engineではなく、Three.jsです。

<skill> をこのファイルを含むディレクトリに解決し、そこでパッケージコマンドを実行します。各プロダクションには新しい <project> ディレクトリを使用し、以前の作業を保持します。依存関係がない場合: npm ci と npx playwright install chromium を実行します。node <skill>/scripts/unrealmotion.mjs doctor を確認します。Node 22+、Python 3.10+、FFmpeg と ffprobe が必要です。Pythonパッケージはデータセットコード全体を取得する場合にのみ必要です。

プロンプトから動画へ

  1. リクエストから、主題、アクション、意図されたメッセージ、言語、時間、フォーマット、リアリズムを推測します。解説動画の場合、imagegen-threejs.md と explainers.md を読んでください。ImageGen → 実際のThree.jsモデル → サイレントビデオを使用し、--mode explainer から開始します: デフォルトは60秒、1080×1920、30 fps。ユーザーが明示的に変更しない限り、確立されたシンプルなパステルカラーのカットアウェイスタイルを維持します。プロンプトが主題、モデル、ストーリー、モーションレシピを決定します。バンドルされたデモはデフォルトのコンテンツではありません。短いショーケースは12秒、1920×1080、60 fpsを維持します。要求されたフォーマットとアセットを尊重します。合理的な仮定で進めてください。必須のテンプレートや承認質問票はありません。
  2. art-direction.md と motion-library.md を読んでください。新しい解説動画の場合、dynamic-story.md を読んでください: continuous-camera.md を読み、実際の連続3Dカメラルート、落ち着いた読みやすいペース、および明確な説明コンテキストごとに2~4つの一貫したImageGen参照を使用した接続された世界を使用します。動的コピーについては text-motion.md を、量が説明に役立つ場合は data-motion.md を読んでください。シーンの基盤とモーションプロファイルを選択し、コンパクトな plan.json を作成します: アイデンティティを定義するジオメトリ、マテリアルパレット、ショットタイミング、被写体のアクション、カメラ軌道、トランジション、ローカルアセットと出典。「リアル」などの形容詞には、具体的な証拠(プロポーション、表面応答、接触、一貫した光、モーション)が必要です。
  3. バンドルされた4,146エントリのHFカタログを、英語の主題/素材/メカニズム用語で検索します。dataset.md を読んで、構造的な詳細が役立つ場合に1~3の関連するコード例を取得します。タイトルだけでなく、実際のHTML/JS構築を検査します。plan.json にシーンIDを引用します。推論トレースをコピーしないでください。データセットは参照コーパスであり、トレーニングまたはファインチューニングされたモデルではありません。 産業用/オブジェクトアセットでストレージが限られている場合は、simready-imagegen.md を読んでください: 2,677エントリのNVIDIAメタデータカタログを検索し、関連する予算内のサムネイル/ライセンスのみを取得します。これはImageGenの外観参照と元のメッセージ再構築に使用します。USD/テクスチャコーパス全体をダウンロードしないでください。分解/再組み立てについては、reassembly.md も読んでください。
  4. プロジェクトを作成します。解説動画の場合、プロンプト固有のImageGen参照バンドルを生成して検査し、reconstruction.json で安定した名前付きパーツを指定し、model.mjs で実際のThree.jsボリュームを構築します。正確なプロンプト/出典を asset-plan.json に保存します。質問、因果関係の進行、ビートごとのアクション/コピー、3Dカメラ、解像度を含む storyboard.json を作成します。カットアウェイ、再組み立て、操作を通じて、物理オブジェクトごとに1つのメッシュ階層を保持します。接続されたコンテキストには永続的な名前付きシーンルートを使用し、ワールド配置と連続した cameraPath を設定します。すべてのビートを実際の参照IDにバインドします。ラスタープレーン/トリミングされた画像の代替は使用しません。ショーケースの場合は、scene.mjs を直接作成します。CLIはオーサリングスターターであり、セマンティックプロンプトインタプリタではありません。無関係なモデルでタイトルを変更しても完了とは見なされません。
  5. プレビュー、スクラブ、QAの実行、ネイティブ解像度での代表的なフレームの検査を行います。quality.md に従ってください: 忠実度、メカニクス/構造、マテリアル、フレーミング、コピー、トランジション、後半部分の意味のあるモーションを確認します。失敗を修正し、影響を受けるチェックを繰り返します。ソースハッシュにリンクされた、真実の review.json を記録します。
  6. --final でレンダリングし、メタデータを確認して、MP4、編集可能なプロジェクト、簡潔な検証ノートを提供します。完成した動画のリクエストはローカルエクスポートを許可します。ユーザーがプレビューのみを要求した場合は、代わりにそれを提供します。要求された動画の代わりにソースHTMLやコンタクトシートを提供しないでください。

ローカルコマンド

node <skill>/scripts/unrealmotion.mjs templates
node <skill>/scripts/unrealmotion.mjs create <project> --prompt "フィルムカメラ チタン、レンズ 精密組み立て" --template optical-studio --motion precision-assembly
# ブリーフ用に project/scene.mjs、project/project.json、project/plan.json を作成します。
node <skill>/scripts/unrealmotion.mjs preview <project>
node <skill>/scripts/unrealmotion.mjs qa <project>
# output/qa/contact-sheet.png とネイティブ解像度のフレームPNGを検査し、review.json を書き込みます。
node <skill>/scripts/unrealmotion.mjs render <project> --final
node <skill>/scripts/unrealmotion.mjs probe <project>/output/video.mp4

--width、--height、--duration、--fps、--supersample は作成オプションです。新しい解説動画はバージョン2ストーリーを --pace calm --assets multi で使用します。--pace dynamic または --assets single は、ブリーフがそれを正当化する場合に選択します。既存のバージョン1プロジェクトは引き続きサポートされます。--output <new.mp4> を使用してエクスポートを保存します。--force は明示的に選択された出力を置き換えます。オプションの --audio <local.wav> は、指定されたオーディオトラックをビデオにパディング/トリミングします。要求がない限り、合成ナレーションや音楽を追加しないでください。プレビューは、再生/一時停止とフレームスクラビングを備えたループバックURLを出力します。これは公開デプロイメントではありません。

デフォルトの解説動画基盤は imagegen-explainer です: プロンプト固有の参照 → Three.jsモデル → ストーリー → 動画。water-system-explainer は以前のSVGモーションスタディのみです。ショーケース基盤は optical-studio、architectural-light、kinetic-editorial、pelagic-bloom、mechanical-reassembly です。ショーケースカメラプロファイル: cinematic-orbit、precision-assembly、macro-dolly、continuous-flow、editorial-spring。解説動画は、作成されたカメラパスを使用して、フローフォロー、カットアウェイ操作、再組み立て、しきい値/応答、または比較モーションを選択します。レシピは確立されたスタイルを変更しません。motion-library.md を参照してください。

譲れない制作プロパティ

  • すべての可視状態は、シェーダー、パーティクル、リグポーズ、マテリアル変更、コピーを含め、要求されたフレーム/時間から派生します。createScene(config) → {update(seconds, normalizedTime), draw(), inspect()} を保持します。runtime.md を参照してください。最終出力のために、累積回転、物理ステッピング、更新中のランダムサンプリング、リアルタイム画面録画は使用しないでください。
  • ローカルアセット、固定パッケージ、シード指定のシーン生成、1つのカラーパイプライン、一貫した物理スケール、安定したオブジェクトIDを維持します。レンダラーは外部リクエストをブロックします。モデル、テクスチャ、フォントは準備完了前にロードします。アセットの欠落は失敗です。
  • 実際のボリュームとアタッチメントをモデル化します。ベベル、一貫性のあるパーツ、正しいピボット、適切なラフネス/メタルネス、ソフトコンタクトシャドウ、制御された反射を使用します。透明なサーフェスを注意深くレンダリングします。プリミティブの山、棒状の構造、浮遊するパーツ、壊れたリグ、または回転する汎用オブジェクトは、詳細なブリーフを満たしません。
  • フォトリアルな人間、動物、ブランドオブジェクト、または類似性が重要なシーンの場合は、プロシージャルジオメトリがブリーフを満たせない場合、適切なライセンス/ユーザー提供のモデル、テクスチャ、リギングアセットを使用します。ソース/ライセンスを記録します。アクション全体を通して、アタッチメント、ジョイント、シルエット、接触、オクルージョンを検査します。リアリズムを単純な幾何学的アクターに静かに置き換えないでください。マテリアルの忠実度の限界を明確に述べてください。
  • 被写体のアクションはストーリーを伝えなければなりません: メカニズムが動作し、マテリアルが流れ、パーツが組み立てられ、構造が展開され、または情報が変換されます。カメラの軌道と漂うパーティクルだけでは不十分です。一定速度の剛体変換は避けてください。動機付けられた場合、加速、フォロースルー、スタッガー、および速度連続カメラパスを使用します。
  • 解説動画は、完全なビジュアルシーケンスを通じてその質問に答えなければなりません。長い時間、追加のキャプション、ショーケースリールは、原因/結果、読みやすい説明、適切なイラスト/モデル、一貫したシーンの受け渡しを置き換えるものではありません。無音のリクエストを尊重します。オーディオ設定を追加しないでください。
  • 参照の複雑さとスタイルを一致させます。このワークフローでは、シンプルで一貫性のあるジオメトリ、パステルサーフェス、明確なカットアウェイを優先します。新しいアートディレクションを考案したり、装飾的な詳細を追加したりしないでください。ImageGenは外観をガイドします。隠されたCAD、正確な寸法、またはNVIDIAシミュレーションメタデータを復元しません。
  • 自動化されたQAは技術的なプロパティをチェックします。美しさ、フォトリアリズム、正確な解剖学、または物理的正しさを保証しません。証拠を検査した後にのみ、ビジュアルチェックを合格としてマークします。実際にテストされたことを報告します。

オプションの既存エンジン

デフォルトは含まれているThree.jsレンダラーです。ユーザーの既存のRemotionまたはHyperFramesプロジェクトについては、engine-interop.md を読み、ネイティブのフレーム/シークコントラクトを保持します。これらのランタイムはオプションであり、独立してライセンスされ、言及するだけではバンドルまたはテストされません。このスキルの背後にあるソーススタディ、正確なリビジョン、およびライセンスの区別は、source-study.md にあります。

関連スキル