dskjal
広告
広告

バージョン 4.2 以降の Blender のアドオン(Extension)

カテゴリ:blender

公式ドキュメント

How to Create Extensions

Extensions

Blender 4.2 LTS: Python API

概要

スクリプトに直に書かれていたアドオンのメタデータは blender_manifest.toml ファイルに書くようになった。またアドオンは __init__.py が必須になった。

レガシーアドオンのインストール

ディスクからインストールすればレガシーアドオンもインストール可能。

ディスクからインストールの場所

ディスクからインストールの場所

How to Create Extensions

Extension は以下の5ステップで作成できる。

  1. extension のディレクトリにスクリプトもしくはテーマファイルを入れる
  2. メタデータを記述した blender_manifest.toml を extension のディレクトリに入れる
  3. そのディレクトリを zip ファイルに圧縮する
  4. ディスクからインストールして動作検証する
    ディスクからインストールの場所

    ディスクからインストールの場所

  5. Blender の Extensions のリストに登録する場合はここからアップロードする(要 Blender ID)

Blender の Extensions のリストに登録されるにはレビューを通過する必要がある。

アドオン

アドオンは blender_manifest.toml と __init__.py が必須となる。

my_extension-0.0.1.zip
├─ __init__.py
├─ blender_manifest.toml
└─ (...)

テーマ

テーマは blender_manifest.toml と .xml テーマファイルが必須となる。

my_extension-0.0.1.zip
├─ blender_manifest.toml
└─ theme.xml

マニフェスト

以下は blender_manifest.toml の例。オプション項目はなくてもいい。

schema_version = "1.0.0"

id = "my_example_extension"
version = "1.0.0"
name = "Test Extension"
tagline = "This is another extension"   # アドオンの短い説明
maintainer = "Developer name <email@address.com>"

# "add-on" か "theme" のみサポート
type = "add-on"

# オプション:ソース、サポート、ドキュメントなどのリンクがあればここに記述する
# website = "https://extensions.blender.org/add-ons/my-example-package/"

# Blender や server でカテゴリ分けするのに使われるタグ
# https://docs.blender.org/manual/en/dev/advanced/extensions/tags.html
tags = ["Animation", "Sequencer"]

blender_version_min = "4.2.0"

# # オプション:動作する最高のバージョンを指定できる
# # 問題が見つかってから指定することも可能
# blender_version_max = "5.1.0"

# https://spdx.org/licenses/ ("SPDX: プリフィックスを指定) に適合するライセンス
# https://docs.blender.org/manual/en/dev/advanced/extensions/licenses.html
license = [
  "SPDX:GPL-2.0-or-later",
]
# オプション:いくつかのライセンスで要求される
# copyright = [
#   "2002-2024 Developer Name",
#   "1998 Company Name",
# ]

# オプション:サポートしているプラットフォーム。書かなかった場合は Blender のサポートしているすべてのオペレーティングシステムで利用可能になる
# platforms = ["windows-x64", "macos-arm64", "linux-x64"]
# 上記の他には "windows-arm64", "macos-x64" がある

# オプション:バンドルするサードパーティ Python モジュール
# https://docs.blender.org/manual/en/dev/advanced/extensions/python_wheels.html
# wheels = [
#   "./wheels/hexdump-3.3-py3-none-any.whl",
#   "./wheels/jsmin-3.0.1-py3-none-any.whl",
# ]

# # オプション:アドオンが利用するリソースを列挙する
# # * files (ファイルシステムへのアクセス)
# # * network (インターネットアクセス)
# # * clipboard (クリップボードの読み書き)
# # * camera (カメラから写真やビデオの取得)
# # * microphone (マイクで録音)
# #
# # ネットワークを使う場合 `bpy.app.online_access` を忘れずにチェックすること
# # https://docs.blender.org/manual/en/dev/advanced/extensions/addons.html#internet-access
# #
# # 上記のリソースの利用許可を得る場合に、そのリソースへのアクセスが必要な理由を書くこと
# # 短い1文で記述し最後にピリオドをつけないこと
# # 長い説明が必要な場合はドキュメントや詳細ページを使うこと
#
# [permissions]
# network = "モーションキャプチャーデータをサーバーと同期する必要がある"
# files = "ディスクから FBX ファイルをインポート/エクスポートする"
# clipboard = "ボーンのトランスフォームをコピー・ペーストする"

# オプション:ビルド設定
# https://docs.blender.org/manual/en/dev/advanced/extensions/command_line_arguments.html#command-line-args-extension-build
# [build]
# paths_exclude_pattern = [
#   "__pycache__/",
#   "/.git/",
#   "/*.zip",
# ]

Windows でのアドオンのインストールパス

%userprofile%\AppData\Roaming\Blender Foundation\Blender\[Blender のバージョン]\extensions\user_default

exe のある場所にアドオンをインストールさせたい場合は、exe のある場所に portable フォルダを作ると、そこにエクステンションがインストールされるようになる。

Blender’s Directory Layout

関連記事

Blender 記事の目次


広告
広告

カテゴリ