mcpField
R
remotion-image-video-masking

remotion-image-video-masking

github.com/composio-communityクリエイティブ・メディア1450 回インストール23 週間前に更新
リポジトリ

remotion-image-video-masking について

Claude向けのRemotionスキルで、テキスト、画像、動画が互いに隠したり現れたりするレイヤーアニメーションを作成します。フレーム単位の動きとレイヤー構成により、奥行き表現やシネマティックなトランジションを設計します。

主な機能

  1. 01画像と動画のマスキング
  2. 02レイヤーによるテキストの遮蔽
  3. 03フレーム単位の動きと奥行き表現
  4. 04タイミング調整とレンダリング検証

活用シーン

  1. 01テキストと商品画像が重なるローンチ動画の制作
  2. 02ソーシャルメディア向けレイヤーアニメーションの設計
  3. 03シネマティックなトランジションと奥行き表現の作成

インストール

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

$npx skills add https://github.com/composio-community/opencode-skills --skill remotion-image-video-masking

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

詳細

Remotion の画像・動画マスキング

概要

このスキルを使うと、合成ベースのマスキング技法を通じて、テキスト、画像、動画が動的に相互作用する高度なマスキングやレイヤー効果を Remotion で作成できます。

ワークフローでは、次の点に重点を置きます。

  • 画像のマスキング
  • 動画のマスキング
  • レイヤー構成
  • テキストのオクルージョン効果
  • 奥行きのシミュレーション
  • 映画のようなトランジション
  • フレーム単位のマスキングアニメーション

目標は、要素が自然に重なり合って見える、視覚的に魅力的なシーンを作成することです。たとえば、テキストが前景のオブジェクトの背後を移動したり、アニメーションマスクを通じて動画がシームレスに溶け込んだりする表現です。


セットアップ

開始する前に、次の手順を実行します。

  1. Node.js をインストールします。 https://nodejs.org

  2. インストールを確認します。

node -v
npm -v
  1. Remotion プロジェクトを作成します。
npm init video
  1. 開発サーバーを起動します。
npm run dev
  1. VS Code でプロジェクトを開きます。

推奨ツール:

  • VS Code
  • Remotion Preview
  • React の知識
  • 画像編集ソフトウェア(任意)
  • 透明度のある PNG アセット

推奨拡張機能:

  • ES7 React snippets
  • Prettier

必要な入力

  • 前景の画像または動画
  • 背景アセット
  • テキストオーバーレイ
  • 動画クリップ
  • アニメーションのタイミング情報

任意:

  • 透明な PNG アセット
  • アルファマスク
  • ブランディング用アセット
  • モーションの参考資料

このスキルを使用する場面

次のような場合に、このスキルを使用します。

  • 映画のようなモーショングラフィックスを作成する
  • スタートアップのローンチ動画を制作する
  • レイヤー化されたテキストアニメーションをデザインする
  • シーン内の奥行きをシミュレーションする
  • 高級感のあるトランジションを作成する
  • ソーシャルメディア向けのモーションコンテンツを制作する
  • 視覚的にダイナミックなコンポジションを構築する

使用しない場面

次のような場合には、このスキルを使用しないでください。

  • 静的なグラフィックデザイン
  • シンプルな字幕オーバーレイ
  • アニメーションのないコンポジション
  • 基本的なスライドショーのワークフロー
  • 視覚要素がレイヤー間で相互作用しないプロジェクト

使用例

アニメーションするテキストが、製品のスクリーンショットや動画レイヤーの背後を移動する、スタートアップのローンチ動画を作成してください。

Claude は次の作業を行います。

  1. 前景レイヤーと背景レイヤーを分離する
  2. マスクされた画像アセットをテキストの上に配置する
  3. フレーム単位でテキストをアニメーション化する
  4. 奥行きの錯覚を自然に保つ
  5. シーンのタイミングに合わせてマスキング効果を同期する
  6. スムーズで一貫性のあるレンダリングを実現する

最終的な結果は、次の条件を満たす必要があります。

  • 映画のような印象を与える
  • 説得力のある奥行きを生み出す
  • スムーズな動きを保つ
  • 読みやすさを維持する
  • すべてのフレームで一貫してレンダリングされる

マスキングの基本原則

1. レイヤーの順序で奥行きを制御する

Remotion のマスキングは、視覚レイヤーの順序に大きく左右されます。

前景レイヤーは次の条件を満たす必要があります。

  • テキストより上に配置する
  • オクルージョンの錯覚を保つ
  • 奥行きの分離を生み出す

一般的な構造:

Background
↓
Animated Text
↓
Foreground Image/Video

レイヤーを正しく並べることで、次の効果が得られます。

  • 映画のような奥行き
  • リアルなオクルージョン
  • より明確な視覚的階層

2. 可能な限り透明なアセットを使用する

透明度のある PNG アセットを使うと、マスキングの柔軟性が高まります。

特に効果的な用途:

  • 切り抜いた製品画像
  • キャラクターのレンダリング画像
  • 前景のオブジェクト
  • 分離された UI 要素

透明なアセットを使うと、次の表現が容易になります。

  • テキストの一部を隠す
  • 奥行きをシミュレーションする
  • スムーズなトランジションを作成する

3. すべてをフレーム単位でアニメーション化する

すべてのマスキングモーションは、次の要素から導き出します。

  • useCurrentFrame()
  • 補間
  • スプリングシステム

次のものは避けてください。

  • CSS トランジション
  • ブラウザーのアニメーションシステム
  • 制御されていない動き

推奨 API:

  • useCurrentFrame()
  • spring()
  • interpolate()

4. レイアウトの安定性を保つ

アニメーション中に寸法が変わると、マスキング効果によってレイアウトが不安定になることがあります。

Claude は、次の問題をあらかじめ防ぐ必要があります。

  • テキストの跳ね
  • 要素のサイズ変更
  • レイヤー配置の不安定化
  • クリッピングのアーティファクト

推奨される方法:

  • 固定コンテナー
  • 安定した配置
  • 制御された変形
  • 独立したアニメーションレイヤー

5. 奥行きを引き立てるモーションを使用する

モーションはレイヤー構造を強調する必要があります。

例:

  • 前景を背景よりゆっくり動かす
  • テキストをオブジェクトの下へ滑り込ませる
  • マスクされた要素を徐々に表示する
  • レイヤー化された視差効果

優れたモーションデザインは、次の点を向上させます。

  • 視覚的な明瞭さ
  • 映画のような雰囲気
  • シーンへの没入感

ワークフロー

1. シーンの奥行きを計画する

まず、以下を特定します。

  • 前景の要素
  • 背景のレイヤー
  • アニメーションするテキスト領域
  • マスクの相互作用

以下を定義します。

  • テキストを隠すオブジェクト
  • 奥行きが切り替わる位置
  • レイヤー表現を支える動き

2. コンポジションの構造を整理する

レイヤーを明確に分けます。

構造の例:

components/
  Background.tsx
  Foreground.tsx
  AnimatedText.tsx

メリット:

  • デバッグが容易
  • マスク処理のロジックを再利用可能
  • アニメーション構造がすっきりする

3. 前景マスクを作成する

以下を使用します。

  • 透過 PNG
  • トリミングした動画レイヤー
  • 独立した前景要素

前景レイヤーは、アニメーションするテキストより上に配置します。

これにより、以下を実現できます。

  • テキストが隠れる効果
  • 奥行きのシミュレーション
  • 映画のようなレイヤー表現

4. テキストとレイヤーをアニメーション化する

以下を使用します。

  • useCurrentFrame()
  • spring()
  • 補間

アニメーションの目標例:

  • オブジェクトの背後を滑るテキスト
  • レイヤーを使った出現効果
  • 映画のようなトランジション
  • 奥行きを強調する動き

推奨する動きのスタイル:

  • 滑らか
  • 制御されている
  • 決定論的

以下は避けます。

  • 急なジャンプ
  • 制御されていないイージング
  • ブラウザーに依存するトランジション

5. シーンのタイミングを同期する

以下を確認します。

  • マスクが動きと一致している
  • トランジション中も読みやすさが保たれている
  • 視覚的な階層が明確である

字幕のタイミングとマスクのタイミングは、フレーム単位で同期させてください。


6. レンダリング品質を検証する

エクスポートする前に、以下を検証します。

  • マスクの位置合わせ
  • レイヤーの順序
  • テキストの読みやすさ
  • 動きの滑らかさ
  • レイアウトの安定性

フレーム単位で以下を確認します。

  • クリッピングの問題
  • 不安定な位置
  • 視覚的なアーティファクト

7. 最終動画をレンダリングする

出力をレンダリングします。

npm run build

または:

npx remotion render

推奨するエクスポート形式:

  • MP4
  • マスク処理の多いシーンでは高ビットレート

出力の要件

最終出力には、以下を含めてください。

  • 映画のようなマスク効果
  • 滑らかなレイヤーの動き
  • 安定したコンポジション
  • 説得力のある奥行きのシミュレーション
  • 制作現場で使用できる品質のレンダリング動画

ワークフロー自体は、以下を維持してください。

  • 再利用可能
  • モジュール化されている
  • レンダリングに安全
  • 保守しやすい

実行戦略(AI エージェント向け)

エージェントは以下を行います。

  1. 視覚的な奥行きを軸にシーンを構成する
  2. 明確なレイヤー階層を維持する
  3. ストーリーテリングを強化するためにマスクを使用する
  4. すべての動きをフレーム単位でアニメーション化する
  5. トランジション中もレイアウトの安定性を保つ
  6. エクスポート前にレンダリングの一貫性を検証する

ワークフローでは、以下を最適化します。

  • 映画のような品質
  • 視覚的な明瞭さ
  • 動きの滑らかさ
  • レンダリングの一貫性
  • シーンの読みやすさ

ベストプラクティス

  • 前景レイヤーはすっきりと整理し、個別に分離する
  • 可能な限り透過素材を使用する
  • ごちゃごちゃしたマスク構成を避ける
  • シーンをフレーム単位で検証する
  • 動きは滑らかで意図的なものにする
  • マスク処理中も読みやすさを保つ
  • レイヤーを使ったアニメーションのパターンを再利用する

注意事項

  • 説得力のあるマスク効果には、レイヤーの順序が重要です
  • 透過素材を使うと柔軟性が大幅に向上します
  • 安定したレイアウトは、映画のような品質を高めます
  • 強い効果よりも、控えめなマスクのほうが見栄えがよいことがよくあります
  • モーションデザインは、奥行きの知覚に大きく影響します

コメント