Blender

Blender 4.2 Extensions 入門とGitHub Pagesでの配布方法

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
デザイン本が読み放題

Figma・UI/UX・配色の深いノウハウを

動画・記事の断片情報より、1冊の体系書籍のほうが圧倒的に速い。Kindle Unlimited対象のデザイン書籍が豊富です。

Kindle Unlimited 30日無料▶ Audible|デザイン発想本を耳で▶

▶ デザイン→エンジニアリングの橋渡しに興味があれば プログラミング / エンジニア転職 もどうぞ。


タイプ別にすぐ選べる

クリエイティブの引き出し、どう増やす?

Figma・UI/UX・配色・タイポグラフィ。"手を動かす"学びと"発想力を磨く"学びは、使うサブスクが違います。

▷ Figma・UI/UX・配色の具体テクニックを体系化したい実務デザイナー

Kindle Unlimited 30日無料|デザイン本読み放題▶

▷ ブランド・発想・ディレクション系のインプットを"耳で"増やしたい人

オーディオブックAudible

※無料期間中の解約で料金発生なし

▶ デザイン→エンジニアリングの橋渡しに興味があれば プログラミング / エンジニア転職 もどうぞ。


スポンサードリンク

Extensions の基本的な仕組み

Blender 4.2 には Chromium Embedded Framework (CEF) をベースにした内部 Web ビューアが組み込まれており、外部ブラウザや別プロセスを起動せずにカタログページを表示できます。公式ドキュメント(Blender Manual → Extensions)では「安全なサンドボックス環境でリモートコンテンツを取得」すると説明されており、インストール操作はすべて Blender の UI 内で完結します。

  • カタログへのアクセス
    ユーザーは Edit → Preferences → Add‑ons から「Extensions カタログ」を開き、キーワード検索やカテゴリ絞り込みが可能です。

  • インストールフロー
    カタログ上の項目を選択すると、manifest に記載された URL から zip アーカイブまたは直接コードが取得され、Blender が自動的に展開・有効化します。

出典要約(app‑tatsujin.com)
本サイトのガイドは、Extensions の UI が CEF を利用している点と、インストール時に外部プロセスが起動しないことを強調しています。公式情報と照らし合わせても記述内容に大きな相違はありません。

従来のアドオンとの主な違い

従来の Blender アドオンは、bl_info 辞書にメタ情報を埋め込み、ユーザーが zip ファイルを手動で配置する方式でした。一方 Extensions は次の3点で根本的に異なります。

  1. 配布形態 – Web カタログ(manifest + アセット)で一元管理。
  2. メタ情報形式bl_info ではなく、TOML 形式の blender_manifest.toml を使用。
  3. 更新通知 – カタログ側がバージョンを監視し、Blender が自動で「アップデートがあります」と提示します。

公式チュートリアル(blender.jp の Extensions 解説ページ)でも、「Web‑ベースの配布へ移行することで、開発者はリリース手順を簡略化できる」点が強調されています。


bl_info から blender_manifest.toml への移行手順

既存アドオンを Extensions 形式に変換する際のポイントと具体的な作業フローを示します。以下の手順は、機能ロジック自体は変更不要である点が最大の利点です。

必須項目と記述例

blender_manifest.toml には最低でも次の7項目が必要です。すべて文字列または配列で記述し、UTF‑8 エンコードのファイルとして保存します。

  • version[メジャー, マイナー, パッチ] の形で記述し、SemVer 互換性を保証します。
  • blender_version_min が未設定の場合、Blender 4.2 未満でもインストールが許可されてしまうため必ず記入してください。

出典要約(extensions.blender.org)
公式リポジトリの「Manifest Specification」ページでは、上記項目が必須であることと、TOML パーサが提供する検証ツールが推奨されています。

既存コードの調整ポイント

bl_info を削除した後でも、register() / unregister() 関数やクラス定義は従来通り機能します。主に確認すべき点は ファイルパス相対インポート です。

  • アイコンやリソースの配置
    manifesticon フィールドで指定した相対パス(例: icons/my_icon.svg)が、リポジトリのルートから正しく参照できることを確認します。

  • フォルダ構造
    多くの場合、src/ ディレクトリ以下に Python パッケージを置くと、GitHub Pages で公開した際にも URL がシンプルになります。


自前 GitHub Pages リポジトリで Extensions カタログを構築する方法

社内向けやプライベート配布用に 静的なカタログ を作成すれば、公式リポジトリに依存せず自由にバージョン管理できます。

GitHub Pages の有効化手順

  1. GitHub に新規リポジトリ(例: my-addon-extensions)を作成。
  2. Settings → Pages で「Source」を main ブランチ、フォルダーは / (root) に設定し保存。
  3. 保存後に表示される URL(例: https://username.github.io/my-addon-extensions/)がカタログのベースパスになります。

ポイント:Pages は CDN 経由で静的ファイルを配信するだけなので、サーバ設定や SSL 証明書の取得は不要です。

ディレクトリ構成と manifest の配置例

以下のようにディレクトリを整理すると、Blender が自動的に blender_manifest.toml を検出します。

blender_manifest.tomlicon = "icons/my_icon.svg" と記述すれば、Blender は
https://username.github.io/my-addon-extensions/icons/my_icon.svg を取得します。


GitHub Actions で CI / デプロイ自動化

手作業で Pages にプッシュするとヒューマンエラーが起きやすくなります。以下は manifest の構文チェックPages への自動デプロイ を実装したサンプル workflow です。

ワークフロー全体像

主なステップの解説

  • validate-manifest
    tomlkit を利用して TOML の構文エラーを検出。エラーがあれば workflow が即座に失敗し、PR のマージがブロックされます。

  • deploy-pages
    actions/upload-pages-artifactactions/deploy-pages により、リポジトリ全体(manifest・アイコン・src)をそのまま Pages にデプロイします。オプションで zip パッケージを生成すれば、ユーザーが手動ダウンロードできる形にも対応可能です。

出典要約(Qiita 記事)
「GitHub Actions で Extensions デプロイ」系の記事では同様の構成が推奨されており、本サンプルはベストプラクティスを踏襲しています。


公式 Extensions カタログへの登録手順と審査ポイント

自前リポジトリで配布した後、Blender Foundation が運営する official catalog にも掲載すれば、全ユーザーに可視化できます。

PR 提出までの流れ

  1. https://github.com/blender/extensions-catalog をフォーク。
  2. フォーク先の catalog/entries/ 配下に自リポジトリ情報を記載した YAML(例: my-addon.yaml)を作成。
  3. 作成したブランチでプルリクエストを送信し、タイトルは「Add MyCoolAddon to Extensions Catalog」のように分かりやすくする。
  4. PR がマージされると自動ビルドが走り、blender_manifest.toml の検証・ URL 到達テストが成功すれば公開完了です。

審査でチェックされる項目と対策

項目 よくある指摘 推奨対策
blender_version_min が未設定 「古いバージョンでもインストールできる」 必ず最低対応バージョンを明示
アイコン URL が 404 「icon が見つからない」 Pages の公開パスと完全一致させる
CI ステータスが失敗 「ビルドエラーがあります」 ローカルで ci.yml を手動実行し、すべて成功させてから PR
ライセンス表記が曖昧 「SPDX 形式が不明」 正式な SPDX 識別子(例: GPL-3.0-or-later)を使用

ポイント:公式カタログは全ユーザーに自動配布されるため、安全性・互換性・メタデータの正確さ が最重要項目となります。


バージョン管理・アップデート通知のベストプラクティス

Extensions の長期運用では、SemVer に基づくタグ付けGitHub Release を活用することで、ユーザーへの更新通知を自動化できます。

SemVer に基づくタグ付けとリリース作成

  1. 新機能やバグ修正が完了したらローカルでコミット。
  2. バージョン番号(例: v1.2.0)を付与し、Git タグとして保存。
    bash
    git tag -a v1.2.0 -m "Release 1.2.0 – Mesh cleanup improvements"
    git push origin v1.2.0
  3. GitHub 上で Create release を選択し、タグ v1.2.0 に紐付けてリリースノートを記入。自動生成された zip(例: my_cool_addon.zip)が添付されます。

リリースノートには必ず次の項目を列挙してください。

  • 追加機能
  • バグ修正内容
  • 対応 Blender バージョン

更新通知を自動化する仕組み

Blender の Extensions カタログは、manifest に記載された version とリポジトリの最新タグを比較し、新バージョンが利用可能な場合に UI 上で 「Update」 ボタンを表示します。したがって、以下を守るだけでユーザーへの通知は自動化されます。

  • タグ名と manifest の version が常に同期していること
  • GitHub Release に zip アーカイブを添付し、URL が正しく公開されていること

次に取るべきアクションまとめ

以下の手順を順番に実行すれば、Blender 4.2 の Extensions 機能をフル活用した安全・迅速なアドオン配布基盤が構築できます。

  1. GitHub リポジトリ作成 → Pages を有効化し blender_manifest.toml とアイコンを配置。
  2. manifest の必須項目を書き出す(名前・バージョン・最低対応 Blender バージョン等)。
  3. GitHub Actions に CI / デプロイ workflow を追加し、push 時に自動検証と Pages 更新を実行。
  4. 公式 Extensions カタログへ PR 提出 → CI が成功すればマージ完了。
  5. SemVer タグと GitHub Release でバージョン管理し、更新通知を自動化。

このフローを一度構築すれば、以後のアドオン追加・バージョンアップは数クリックで完了します。Blender 4.2 の Extensions 機能を最大限に活かし、開発効率とユーザー体験の両方を向上させましょう。

スポンサードリンク

お得なお知らせ

スポンサードリンク
デザイン本が読み放題

Figma・UI/UX・配色の深いノウハウを

動画・記事の断片情報より、1冊の体系書籍のほうが圧倒的に速い。Kindle Unlimited対象のデザイン書籍が豊富です。

Kindle Unlimited 30日無料▶ Audible|デザイン発想本を耳で▶

▶ デザイン→エンジニアリングの橋渡しに興味があれば プログラミング / エンジニア転職 もどうぞ。


タイプ別にすぐ選べる

クリエイティブの引き出し、どう増やす?

Figma・UI/UX・配色・タイポグラフィ。"手を動かす"学びと"発想力を磨く"学びは、使うサブスクが違います。

▷ Figma・UI/UX・配色の具体テクニックを体系化したい実務デザイナー

Kindle Unlimited 30日無料|デザイン本読み放題▶

▷ ブランド・発想・ディレクション系のインプットを"耳で"増やしたい人

オーディオブックAudible

※無料期間中の解約で料金発生なし

▶ デザイン→エンジニアリングの橋渡しに興味があれば プログラミング / エンジニア転職 もどうぞ。


-Blender