Communitygithub.com

blender-film

Claudeと協力してBlenderで短編フォトリアルなシネマティックショットを制作します。ストーリーボード、都市レイアウト、物理駆動の飛行経路、チェイスカメラ、現実的な動きのヒーロー、リアリズムパス、夜間照明、手持ちカメラの揺れ、3Dモーションから生成するサウンドデザイン、一晩のレンダリングと自動チェック、そして「ホワイトクレイビルドアップ」リビールで全てが本物の3Dであることを証明します。シネマティックなBlenderショットやショートフィルム、ドローン/スーパーヒーローによるフライスルーをClaudeで作りたい場合、または「動画の全ワークフロー」を依頼された場合、あるいはその個別ステップ(物理パス、夜間照明、モーションからのサウンド、クレイビルドアップ)を求められた場合に使用します。

blender-film とは?

このスキルは、Claude AIエージェントがBlenderと連携し、10秒の夜間FPVドローンショットのような短編フォトリアルなシネマティックアニメーションを、ストーリーボードから最終レンダリングまで完全自動で制作するためのワークフローを提供します。物理シミュレーションに基づいた飛行経路の生成、現実的なドローンの姿勢制御、夜景照明(実用光源のみを使用)、実際のカメラ操作を模した揺れ、3Dモーションデータから自動生成されるサウンドデザイン、そしてレンダリングの自動化と品質チェックまでを網羅しています。Blender 4.4+とPython 3をサポートし、ライブブリッジ機構によりClaudeが直接Blenderを制御できるため、開発者は作業をリアルタイムで確認できます。各ステップは独立したスクリプトとして提供されており、個別に実行・再利用可能で、制作過程で問題が発生した場合の「ピボット」(例:キャラクターアニメーションからFPVドローンへの切り替え)も考慮されています。最終的には、全オブジェクトを白いクレイに置き換え空から落下させる「クレイビルドアップ」リビールショットで、本物の3Dシーンであることを視覚的に証明します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/authrain-cloud-abdullahformuli/claude-blender-skills/tree/HEAD/skills/blender-film

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

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

ドキュメント

ClaudeでBlenderフィルム制作

10秒の夜間FPVドローンショット(都市を飛び抜ける)のワークフロー:1つのストーリーボード、実際の物理パス、1つのピボット(最初のヒーローは機能しなかった)、夜間照明、モーションからのサウンド、3.5時間のレンダリング、そしてクレイビルドアップリビール。以下の各ステップはscripts/内のスクリプトで、実際にそのショットで実行されたものです。スクリプト内の名前(Drone Empty、Street Asphalt、Building_1...)はそのシーンに由来しますので、あなたのシーンに合わせて名前を変更してください。

0. セットアップ

  • Blender 4.4以降(5.2で制作)、Cycles用GPU、Python 3とffmpegがPATHに含まれていること(+ サウンドステップ用のnumpy、scipy)。
  • ライブブリッジ(Claudeが開いているBlenderを操作し、あなたはその様子を見守る):Blenderのテキストエディタでtools/bridge.pyを実行します(127.0.0.1:9876で待機)。その後、ターミナルから:python tools/send.py scripts/06_night.py または python tools/send.py -c "print(bpy.data.filepath)"。
  • FILM_ROOTをプロジェクトフォルダに設定します(デフォルトは~/blender-film):scene/、render/、audio/、research/がそこに格納されます。 tools/lib.pyはすべてのスクリプトで読み込まれます(ヘルパー:coll()、save()、snap()...)。
  • コピーで作業する。 マテリアルを編集するスクリプトを再生または再実行する前に、.blendファイルのコピーを作成してください。いくつかのパスは、途中でクラッシュした場合に冪等ではありません(孤立したノードリンクが再実行されます)。

1. まずストーリーボード

Blenderに触れる前に、Claudeに10秒のストーリーボードを依頼します:ショットリスト(タイミング付き)、ショットごとのカメラ、ヒーローの位置、視聴者の感じる印象。それを1枚の画像シート(任意の画像モデル)にまとめて開いておきます。以降のすべての決定は、これと照合してチェックされます。

2. 都市

所有している都市アセットパック(建物、道路、小道具)またはフリーのCC0アセット(Poly Haven)を使用します。Claudeに上面図の地図から+X方向に1本の大通りと1つの交差点をレイアウトさせ(ヒーローの経路を小道具で塞がないようにする)、その後装飾します:車(駐車中/走行中/停止中)、街灯、木、消火栓。すべての外部アセットを.blendファイルにベイクします。

3. 手動キーフレームカーブではなく、物理によるモーション

scripts/01_swing_sim.pyは動き(重力、空気抵抗、伸びないロープ、ストーリーボードからのウェブアンカー)をシミュレーションし、経路が通り道を通るまでアンカータイミングを探索します。02_path_empty.pyはそれをパスカーブと、フレームごとにオフセットがキー入力されたFollow Path上のエンプティに変換します(実際の速度、リニアではない)。ヒーローはエンプティにペアレント化され、カメラは独自のパスに従います(03_camera.py、+ 微妙な揺れのための03b_camera_noise.py)。

4. ヒーロー — そしてピボットのタイミング

最初のヒーローは、Mixamoクリップでアニメーションさせたリグ付きスパイダーマンでした。しかし失敗しました:モーションキャプチャは地面で記録されるため、空中では操り人形のようにぶら下がり、ポーズは硬く、フレーム内で小さすぎました。もし手足のあるキャラクターがおかしく見えるなら、ヒーローを交換してください。都市、カメラ、パスはそのまま維持します。 Claudeに選択肢を尋ねてください(私たちは:タカ、スーパーカー、手動修正、FPVドローンを提案されました)。

FPVドローンは、何も硬く見えないため機能します。04_drone_attitude.pyは実際のクアッドコプターのように飛行させます:

  • 物理からの姿勢:推力軸 = 加速度 + 重力、ノーズを速度方向に向ける → 加速時に傾き、急旋回で強くバンクし、減速時に機首を上げてフレアします。
  • 経路が弾道軌道を描くところでスロットルカット → その上にフリースタイルトリックを重ねます:パワーフリップ、バレルロール、バックフリップ。
  • ホバリングへのブレーキフレア、そしてゆっくりとしたヨーでレンズを見つめます。回転するプロペラとシアン/マゼンタのLEDストリップ。

5. リアリズムパス(05_realism.py)

欠けていると誰も気づかない小さなもの:AgX露出(グレーディングなし)、薄いかすみボリューム、テクスチャの繰り返しが途切れたアスファルト、わだち跡、各車線のオイルドリップライン、補修パッチ、摩耗したペイント、そしてすべての壁の根元の汚れとかすかな流れ跡。

6. 夜と読める夜(06_night.py)

ルール:夜は空がシーンを照らさず、実用的な光源が照らす。 暗いグラデーションの空と都市のグロー、LED街灯、明るい窓、車のヘッドライト/テールライト、赤い信号、青みがかったフォグ(少し発光)、濡れたアスファルトと水たまり。

  • 最初の試みは失敗しました(至る所にオレンジのフォグ、窓ではなく光るブロック)。
  • 修正方法:ファサードテクスチャはすでにガラスの位置を知っています — ガラスは滑らか、壁は粗い。ラフネスマップをウィンドウマスクとして使用し(roughness < 0.3)、各ウィンドウセルにランダムなサブセットを割り当てます:暖色、寒色、オフ。

7. 実際のオペレーターのようなカメラ(07_shakify_cams.py)

手続き型ノイズをShakify(実際のカメラモーションを記録した無料アドオン)に置き換え、すべてのショットカメラに適用します。クローズショットを追加:濡れた道路から約0.45mの高さの街頭カメラ、ドローンがレンズに向かって急降下し、そのすぐ前で停止します。 08_lens_look.py:光源周辺のブルーム、わずかなバレル歪みと分散 — カラーグレーディングなし、見た目は照明そのものです。

8. モーションからデザインされたサウンド

フリーのCC0録音(BigSoundBank:DJIドローン、夜の都市、濡れた道路の交通、クラクション、遠くのサイレン、風、水たまりの雨、エアコン)。11_motion_data.pyはフレームごとのアニメーション(ドローンの距離/ラジアル速度/横方向/スロットル、近くの車)をaudio/motion.jsonに読み込みます。12_build_sfx.pyはそれからミックスを駆動します:

  • スロットル → モーターRPM → ピッチ;ラジアル速度 → ドップラー効果(レンズを通過するときにピッチが下がる);横方向 → 等パワーパン;
  • 距離ゲインと空気吸収、スロットルパンチ時のプロップウォッシュバースト、濡れた道路の低空ホバリング時のスプレー、屋上ショットのみの屋上エアコン、最も近づいたときの車の通過音、ストリートキャニオンリバーブ;
  • 2つのバージョン(静かな夜/完全な都市の混沌)を作成し、耳で選びます。静かな夜が勝利しました:ヒーローを主役にしましょう。ラウドネスは -14 LUFS。

9. 一晩のレンダリング — 安全に

  • 09_render_opt.py:隠れた重複ジオメトリを削除(ツリーアセットに余分なコピーがありました)、すべてのショットカメラから遠くにあるものには軽量LODを使用、GPUデノイズ。見た目の変化はありません。
  • 最終品質で6枚のテストスチルをレンダリングし、確認します。
  • 10_render_edit.pyは編集で使用するフレーム(ショットリスト = カメラ + フレーム範囲)のみをレンダリングし、再開可能で、render/status.jsonを書き込みます。tools/render_window.ps1(Windows)はクリーンな進捗パネルを表示します:%、残り時間、最後に終了したフレーム。
  • レンダリング後:すべてのフレームが存在するか確認し、黒や壊れたフレームがないか確認し(フレームごとの明るさ、計画されたカットのみでジャンプ)、サウンドが承認されたミックスと一致し、ラウドネスがYouTubeに対応していることを確認します。その後にのみエンコードし、(依頼があれば)PCをシャットダウンします。

10. クレイビルドアップリビール(本物の3Dである証明)

13_aerial_cam.pyは大通りを見下ろす高いカメラを追加します。シーンの新しいコピーで、14_clay_build.pyはすべてを白いクレイに変え、カメラと交通を1フレームで固定し、各ピースをその順番になるまで非表示にしてから空から落下させます:最初に車、次にカメラに最も近い建物、次に遠くの都市、最後に街灯と消火栓(約500ピース)。それぞれの落下は加速し、着地時に少し跳ね返ります。tools/clay_assemble.sh:夜間 | ハードカット | クレイビルド | 0.25秒のワイプ | 夜間、同じカメラ、同じフレーム。クレイと夜間の分割スチルは優れたサムネイルになります。

学んだ教訓(時間がかかったこと)

  • 画面キャプチャは、ウィンドウの仕様が間違っていると黒く録画されます — 立ち去る前に最初の録画フレームを確認してください。
  • ビューポート録画:マテリアルプレビューではモーションブラーをオフにし、ボリュームのリンクを解除する必要があります。そうしないと、画像がにじみます。Cyclesビューポートにはデノイザーが必要です。
  • blender -bでの相対出力パスはドライブルートに解決されます — 常に絶対パスを渡してください。
  • 長時間のGPUジョブの前に確認を取ってください。最初に低品質でテストし、最後に最終品質で行います。

ライセンス:MIT。Abdullah Formuliが単独でメンテナンスしています。外部からのコントリビューションは受け付けていません。

関連スキル