みずー工房

気ままライフを綴るブログです

【BlenderAPI】開発環境を用意しよう - Windows編

BlenderAPIの開発のために、VScodeを使った開発環境を用意しましょう!
Blender自身にエディタは付属していますが、日本語が入力できないなどの問題があるので導入をお勧めします。



Blender用の開発環境を作ってみよう!

どうして開発環境が必要なの?

Blenderにはテキストが入力できるエリアがあります。
基本的には、そこで入力したPythonコードを実行する形になります。


けれども、ここで入力をするにはいくつかの問題があります。 1つは簡単に日本語が打てません。
プログラムする上で日本語を入力する機会はあまりありませんが、コメントできないのは不便です。
どうしても入力したい時は、メモ帳などで打ち込んだ内容をコピペするしかなさそうです。


他にも、別のエディタで使える便利なモジュール(例えばminimapとか)を追加したりはできないので、
Blender内部のエディタではなく、別のエディダで一度書いてからコピペするのをおすすめします。


導入の方針

Pythonの導入から行おうと思います。基本的にはこれらの流れで行います。
もしすでに環境が整っている場合は、適度にスキップしてください。
紹介する方法以外にも、別の環境や別のエディタで構成できると思います。臨機応変におねがいしますね!

  • パッケージ管理ツール「Chocolatey」を導入する
  • Chocolatey」を使って「vscode」と「pyenv-win」をインストールする
  • Python環境管理ツール「pyenv-win」を使って「Python」をインストールする
  • Pythonモジュール導入ツール「pip」を使って「fake-bpy-module」を導入する


もしかしたら「?」と思われているかもしれませんが、順を追って説明していくので大丈夫です。
図にするとこんな感じですね。

f:id:exe_3Z1K:20201217211401p:plain


「pyenv」と言う文字を見て「conda」の方が良いと思われる方もいるかもしれませんが、
私は安定して使えているので、今回はこれで導入させてください。condaでもできると思います。


Chocolateyを導入する

Chcocolateyは、 既存ソフトをコマンドラインから一括で導入できる便利なソフトです。
通常は、Pythonインストーラーで導入することが普通かなと思うのですが、
いくつも環境を作ったりするとパスを通すのが面倒だったりするので、今回はこれを使います。


黒い画面に白い文字が苦手だ...というのはわかります。けど、絶対に便利なのでこっちに慣れましょー。
なお、個人使用の無償利用の場合は機能が制限されているようですが、全く問題ないです。


まずは「Chocolatey」のページに行きます。英語ですが翻訳ツールとかを使って読み進めてください...!
Installing Chocolatey - Chocolatey (外部ページ)


利用規約等も読みつつ、ページにしたがって導入を進めていきます。
Step1のメール購読は "optional" なので、購読したければ入力してください。Step2からいきます。


Step2に書いてあるシステム要件を確認しましょう。
執筆現在では「 windows7以降 」になっていました。


続けます。まずは、 PowerShellを「管理者権限」で開始します。
Windows Terminal」を利用している人は、「Windows Terminal」を管理者権限で開きます。

f:id:exe_3Z1K:20201217213230p:plain


Chocolatey Install: 2 に書かれているコマンドをコピーします。
このコマンドを今さっき開いたPowerShellで実行します。コピペをしたらEnterを押すとインストールが開始します。 執筆時点ではこんな感じ。少し時間がかかるかもしれません。

f:id:exe_3Z1K:20201217213720p:plain
PowerShell - 管理者権限
> Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))


導入が終わったら「choco」と打ってみてください。
バージョンが表示されたらChocolateyの導入完了です。

PowerShell - 管理者権限
> choco
Chocolatey v0.10.15
Please run 'choco -?' or 'choco <command> -?' for help menu.


Chocolatey で vscode と pyenv-win を導入する

vscode」とは「Visual Studio Code」というテキストエディタ です。メモ帳の超拡張版と思ってください。
「pyenv-win」とは「Python」を管理してくれるソフト です。いろいろ便利なのでこちらを導入します。
後に pyenv-win を使って Python を導入します。


さきほどのPowerShellで、このようにコマンドを入力します。一度にインストールが開始されます。
途中、スクリプトを続けるかどうか聞かれるので「y」(実行)か「a」(すべて実行)をしてください。

PowerShell - 管理者権限
> choco install VisualStudioCode pyenv-win


これで完了です。
以下のコマンドを実行すると、インストールされているソフトが確認できます。

PowerShell - 管理者権限
> choco list -lo


pyenv で Python を導入する

pyenvでPythonを導入しましょう。まず、どのバージョンのPythonを導入するか選択します。
Blenderに付属しているPythonと同じバージョンを選ぶと良いと思います。
Pythonコンソールにバージョンが書かれてます。

f:id:exe_3Z1K:20201217220958p:plain


私のBlenderは「3.7.7」だったので、このバージョンのPythonを導入しようと思います。
さきほどのPowerShellから、以下のコマンドを実行します。導入したいバージョンは適宜変更してください。
なお「pyenv」コマンドに「win」はつかないので注意してくださいね。

PowerShell - 管理者権限
> pyenv install 3.7.7


インストールが完了すれば、以下のコマンドからどのバージョンのPythonが入っているかを確認できます。

PowerShell - 管理者権限
> pyenv versions


今の方法を使えば、別のバージョンのPythonも同時にインストールしておくことができます。
同じバージョンのPythonを共存させることはできませんので、注意を。


pyenvでバージョンを切り替えるコマンドは以下です。

PowerShell - 管理者権限
> pyenv global 3.7.7


どのPythonを利用しているかを確認するコマンドは以下です。

PowerShell - 管理者権限
> pyenv version


vscode で fake-bpy-module を利用する

「fake-bpy-module」を導入します。
現在導入したPythonは、BlenderPythonとは一切関係がありません。
Blender専用で提供されている bpy などをプログラムに記述すると「存在しません」とエラーが出ます。


「fake-bpy-module」は、Fakeを読み込んで存在しないエラーを出ないようにしてくれます。
なお Fake (嘘)なので、実行まではできません。


まずpip自体のアップグレードを行います。PowerShellで以下を実行してみましょう。

PowerShell - 管理者権限
> pip install --upgrade pip


そして以下のコマンドを実行することで、導入することができます。
Blenderバージョンに合わせて、数字を変えてください。

PowerShell - 管理者権限
> pip install fake-bpy-module-2.90


以上で全てが完了しました。



おわりに

お疲れ様でした。非常にAPI開発が進むと思います。
書いたスクリプトを実行するには、vscodeからコピーしてBlenderに貼り付けてくださいねー


おすすめ記事