アーティストは物語を形にするために、Blender、Maya、Houdini のようなデジタル・コンテンツ・クリエイション(DCC)ツールに頼っています。
しかし、クリエイティブ作業はこれらのツールの中で行われる一方で、制作のトラッキングは別の場所で行われます。この断絶は、バージョン不一致、繰り返し作業になる手動アップロードで失われる時間、そして結果的に「作る時間」が減ることにつながり得ます。DCCソフトと制作トラッカーの間にスムーズな接続がないと、パイプラインが損なわれてしまいます。
そこで役立つのが、カスタム連携です。
この記事では、Kitsu Publisherと同様の考え方で、BlenderからKitsuへ3Dモデルのプレビュ―を公開するためのKitsuにおけるBlender連携の基本を解説します。
DCC連携とは?
DCC連携とは、クリエイティブ用ソフトと、別のソフトウェアツールの間をつなぐ「ブリッジ」のことです。たとえば制作トラッカーのようなものです。
例えば、ファイルを書き出し、ウェブブラウザを開いて、バージョンを手作業でアップロードする代わりに、連携によって 選んだツールから直接公開できるようにすることが可能になります。
連携は、 複雑なレンダリングパイプラインの管理
, アセットの保存とバージョン管理、あるいはプレビュー画像の生成など、さまざまな作業を担えます。面倒な制作工程を自動化することで、アーティストが「物語を伝える」ことに集中できるようになります。
なぜDCC連携なのか?
どのスタジオも、いずれは同じボトルネックに突き当たります。プロジェクトが成長するほど、手作業のプロセスは破綻しやすくなるのです。
連携は時間を節約します。ソフト間で文脈を切り替える必要がなくなるためです。
また、命名規則、フォーマット、メタデータの整合性を強制することで、繰り返し作業によるエラーを減らすことにもつながります。
最後に、監督者やプロデューサーへリアルタイムの更新を届けることで、プロジェクト管理とコミュニケーションを改善することができます。
すべてのプロのアニメーションスタジオはパイプラインに依存しており、DCC連携は不可欠です。
具体例として、BlenderからKitsuへプレビューをアップロードするスクリプト連携を作って、チームでの作業レビューを簡単にしてみましょう。
1. はじめに
このガイドで紹介している、Blender–Kitsu連携の完全なソースコードは、GitHubで確認できます:
🔗 github.com/cgwire/blender-kitsu-dcc-integration-example
スクリプトに取りかかる前に、安全に連携をテストできるローカルのKitsuインスタンスを用意しましょう。
Kitsuをローカルで最も簡単に動かす方法は、kitsu-dockerリポジトリを使うことです。リポジトリをマシンにクローンし、手順に従ってください:
git clone <https://github.com/cgwire/kitsu-docker.git>
cd kitsu-docker
docker build -t cgwire/cgwire .
docker run --init -ti --rm -p 80:80 -p 1080:1080 --name cgwire cgwire/cgwireこれで、Kitsu、postgresデータベース、そしてそれを支えるコンポーネントがすべて起動します。
コンテナが動き出したら、ブラウザで http://localhost:80 を開いてください。デフォルトの認証情報は以下です:
- Email: admin@example.com
- Password: mysecretpassword
Kitsuのダッシュボードに移動します。
プレビューをアップロードする前に、アップロード先が必要です。Kitsuでは:
- サイドバーの "Productions" ページからアクセスして、新しい制作(例:Blender Test Project)を作成します。


- 制作の中でアセットを作成します。

- アセットを作成すると、制作作成時に選択したタスクカテゴリに応じて、自動的に新しいタスクが追加されます。これらを使ってプレビューをアップロードできます。
Kitsuをプログラム的に操作するには、 gazu(Kitsu API向けの公式Pythonクライアント)を使用します。認証、エンティティの作成、そしてスクリプトからのプレビューの直接アップロードが可能になります。
インストールは:
pip install gazu次に、ユーザー名とパスワードでKitsuインスタンスに認証します:
import gazugazu.set_host("<http://localhost/api>")
user = gazu.log_in("admin@example.com", "mysecretpassword")
print("Logged in as:", user['user']'full_name')
ログインできたら、 gazuを使って制作、アセット、タスクを取得し、それらにメディアファイルを紐づけます。
2. Blenderからプレビューを作成する
プレビュ―レンダ―を制作することは、アニメーターにとってよくある用途です。制作段階を通して定期的なフィードバックを得る必要があり、プレビューは、プロジェクト全体を読み込むよりも判断しやすいからです。
これは、BlenderのPython APIで自動化できます。ビューポートのキャプチャを設定して1フレームだけレンダリングし、出力を一時フォルダに保存し、さらにスタジオ全体のレンダリング設定(解像度、フォーマット、水印)を適用します:
import bpybpy.ops.wm.open_mainfile(filepath="./project.blend")
bpy.context.scene.render.resolution_x = 256 bpy.context.scene.render.resolution_y = 256 bpy.context.scene.render.resolution_percentage = 100
bpy.context.scene.render.image_settings.file_format = 'PNG' bpy.context.scene.render.filepath = "./preview.png"
bpy.ops.render.render(write_still=True)
import bpy: BlenderのPython APIを読み込みます- b
py.ops.wm.open_mainfile(filepath="./project.blend"):project.blendという既存のBlenderプロジェクトファイルを開きます bpy.context.scene.render.resolution_x = 256 ...We configure the render resolution to 256 pixels by 256 pixels with no downscale.bpy.context.scene.render.image_settings.file_format = 'PNG': 出力フォーマットをPNGに設定し、シーンのスティルレンダ―を実行する前に、出力先をpreview.pngに定義します。
このスクリプトにより、軽量なプレビュー用ファイルが生成されます。Kitsuに保存するのが簡単で、監督者が素早く確認できるようになります。

実行するには、bpyパッケージをインストールして、他のPythonスクリプトと同様にプログラムを起動するだけです:
python3 preview.py
3. プレビューをKitsuへアップロードする
プレビュー用ファイルの準備ができたら、最後のステップはgazuを使ってデータをKitsuに送り込むことです。
まず、先ほど作成したタスクを取得します:
projects = gazu.project.all_projects()assets = gazu.asset.all_assets_for_project(projects0)
tasks = gazu.task.all_tasks_for_asset(assets0) task_status = gazu.task.get_task_status_by_short_name("todo")
このために、まず利用可能な制作の一覧を取得し、次に新しく作成した制作のアセットを取得し、最後にこのアセットに割り当てられたタスクを取得します。
プレビュー用ファイルをタスクに紐づけながら、タスクに対するコメントを公開します:
(comment, preview_file) = gazu.task.publish_preview(
tasks0,
task_status,
comment="upload preview",
preview_file_path="./preview.png"
)そしてスクリプトを実行します:
python3 upload.pyアップロード後、ファイルはすぐにKitsuのWebインターフェースで利用可能になります。監督者はそれを確認し、フィードバックを残し、ステータスをマークできます。アーティスト側での手作業によるファイルのやりくりは一切不要です。

4. 配布
スクリプトが動くようになったら、使ったり共有したりする方法はいくつかあります:
- Blender内で直接実行する - Scripting ワークスペースを開き、そこからスクリプトを実行します。
- コマンドラインから実行する - 先ほどと同様に、任意のPythonプログラムと同じようにターミナルからスクリプトを起動できます。
- アドオンとしてパッケージ化する - Blenderの環境設定から有効化でき、さらに使いやすいように独自のユーザーインターフェースを設計することも可能です。
UI付きの完全なアドオンを作り、アーティストに対して連携を共有できるようにするのが理想ですが、これはかなり大きなテーマであり、ここでは扱いません。さらに詳しく知りたい場合は、 公式のBlenderアドオンチュートリアルをご覧ください。そして続報もお待ちください。将来の投稿で、これをさらに詳しく取り上げます!
まとめ
DCCパイプラインの連携は、効率的なアニメーションスタジオにとって基盤です。BlenderのようなツールをKitsuへ直接つなぐことで、摩擦を減らし、コミュニケーションを改善し、アーティストと制作管理者の双方にとって仕事を楽にできます。
連携の恩恵を見るために、大規模なパイプラインチームは必要ありません。小さなスタジオでも、まずはシンプルに始め、いくつかのつらいポイントを自動化し、必要に応じて時間とともに段階的に拡張していくことができます。
Kitsu Publisherのドキュメントを確認することで、Blender、Toon Boom Harmony、Unreal Engine向けの本番環境対応のDCC連携ソリューションを見つけられます。


