はじめてのBlenderアドオン開発 (Blender 2.7版)

Last Update: 2019.4.2

1-1. Blenderって何?アドオンって何?

本書を読まれている方でBlenderを知らない方はほとんどいないと思いますが、本節ではBlenderとその拡張機能であるアドオンについて簡単に説明します。 基本的な内容かつ、アドオン関する最低限の説明に絞って説明していますので、既にBlenderを使われている方やすぐにアドオン開発に取り掛かりたい方は、本節を読み飛ばしても構いません。

Blenderって何?

Blenderはフリーで高機能な3DCG制作ソフト

Blenderはフリーソフトとして提供されている、3DCG制作のための総合環境です。

Blenderは元々オランダで開発されていたレンダリングソフトでした。 現在はオープンソース化され、3Dモデリングからマテリアル設定・アニメーション制作など、3DCG制作に必要なほとんどの作業をBlenderだけで行うことができるなど高機能化しています。 さらに最近ではゲームエンジン機能も強化されるなど、Blenderを用いてインタラクティブなコンテンツを制作することができるようになってきています。 Blenderの開発は現在も活発であることから、今後の発展が非常に楽しみなソフトの1つであると言えます。

Blenderはマルチプラットフォームを前提に設計されているため、WindowsだけでなくMacやLinux上でも動作します。 つまりOSをWindowsからMacに変えても、Blenderを使う限りは3DCG製作ソフトの使い方を覚え直す必要がありません。

上の画像は、Blender(バージョン2.75a)を起動した直後の画面です。

Blenderの特徴

3DCG制作ソフトはBlender以外にもあります。 以下に有名な3DCG制作ソフトをいくつか挙げてみましたが、世の中にはもっとたくさんの3DCG制作ソフトがあります。

3DCG制作ソフトにはそれぞれ長所・短所があり、ソフトごとに特徴があります。 Blenderはフリーで高機能なソフトであることも大きな特徴の1つですが、最も大きな特徴は何と言ってもその独特なUIです。

初めてBlenderを使い始めた方がつまづく箇所がBlenderの操作方法であると言われるほど、BlenderのUIは他の3DCG制作ソフトと比べて特殊です。 しかしこのUIは決してデタラメに決めたのではなく、CG制作会社が効率良く作業を進めるため に考えられたようです。 とは言っても、BlenderのUIは他の3DCGソフトに比べたら非常に奇妙で使いづらいと感じる方も多いと思います。 そのような方のためにBlenderは、キーボードやマウスのキーマップを他のメジャーな3DCG制作ソフト(3ds MaxやMaya)が採用するキーマップに変更する機能を標準で持っています。 また、キーマップを自由に変更したり削除したりすることもできるので、ユーザは自ら使いやすい制作環境を構築することもできます。

Blenderの将来性

高機能化が進むBlenderはここ最近、商用レベルの機能を持つと言われることが多くなりましたが、商用の3DCG制作ソフトである3ds MaxやMaya等に比べたら機能的に劣っている部分が少なからずあります。 しかしBlenderはオープンソースソフトウェアであり、ライセンスを守りさえすれば 誰でもBlenderの開発に参加できる という強みがあります。 このため要望を出せば、機能を追加してもらえる可能性が商用の3DCG制作ソフトと比較して高いのが特徴です。

またBlenderはPythonのスクリプトエンジンを内蔵し、Python向けのAPIをユーザに公開しているため、Blender本体のソースコードを読むことなく、提供されているAPIを使ってユーザが新機能を作成することができます。

アドオンって何?

BlenderはPythonのスクリプトエンジンを内蔵し、Python向けのAPIをユーザに公開しています。

アドオン(add-on)とは、これらBlenderが公開しているAPIを利用して作られた、Blenderの拡張機能 のことを指します。 他の3DCG制作ソフトとBlenderとのコンバータや作業効率化ツールなど、Blender本体では提供されていない機能を持つアドオンが有志の間で作成されています。

アドオンはプラグイン(plugin)やスクリプト(script)と呼ばれることもあります。
プラグインとアドオンは同じような意味で使う方が多いようですが、元から存在するBlender本体に対して新たな機能を追加(on=プログラムの上に機能を載せる)するための小さなプログラムという意味ではアドオンの方が正しいです。 また、Blender内では一貫してアドオンと呼んでいることから、本書でもアドオンと呼ぶことにします。 なおプラグインは、プログラム本体の機能を差し替える(in=プログラムの中に入れて機能を差し替える)ためのアプリケーションコードのことを指すため、厳密にはアドオンとは異なります。 Blenderは開発者に向けてBlender本体の動作自体を変えるための手順の規格化や公表を行っていないので、Blenderプラグインは存在しません。
スクリプトは、ソースコードを記述したらすぐに実行できるプログラムのことを指すため、曖昧になりがちなアドオンとプラグインに比べて明らかに用語の意味が異なります。

画像は、Blenderのアドオンを有効/無効化するための画面です。

アドオンは、Blender本体を持っている方なら誰でもすぐに開発を始めることができます。 しかしアドオン開発のチュートリアルが英語で書かれていることに加え、基本的なことから順を追って解説している資料がほとんどないためややハードルが高いのが現状です。

本書ではBlenderのインストールから始めて自らアドオンを作成して使用することで、アドオンの開発方法を習得していきます。 本書で紹介するサンプルは必ず実行して、作成したアドオンがどのように動作するか確認してください。 実際に手を動かすことでより理解が深まるはずです。 さらに一歩進んで、サンプルを改造できればより理解が進むと思います。

まとめ

簡単ですが、Blenderとアドオンについて説明しました。 本節を読み終えた段階では、Blenderやアドオンについて理解できていれば十分です。

次節からはBlenderアドオンの開発に焦点を絞って説明していきます。 いきなりアドオン開発の解説に入るのは厳しいと思いますので、まずは他の方が開発したアドオンをインストールして使うことでアドオンへの理解を深めていきましょう。

ポイント