本日は Blender の技術調査です。
前回記事では 2.79b の Blender をビルドすることができました。
今回はビルド設定を変更し、Blender を ptyon のモジュールとしてビルドする手順を記事にします。
前回記事の続きです。
bluebirdofoz.hatenablog.com
ビルド設定の変更
CMake にて[Configure]を実行するところまでの手順は同じです。前回記事を参照ください。
Blender を python 用モジュールとしてビルドするには以下の設定を変更します。
WITH_PYTHON_INSTALL:OFF WITH_PYTHON_MODULE:ON WITH_PLAYER:OFF
この状態で[Generate]をクリックします。
これでプロジェクトファイルの作成が完了しました。
Blenderのビルド
指定したバイナリの保存ディレクトリを開くと、sln ファイルが生成されています。
sln ファイルを開き、プロジェクトの読み込みが完了するまで待ちます。
読込が完了したらメニューから ビルド -> ソリューションのビルド を実行します。
次に INSTALL をターゲットにビルドを実行します。
INSTALL は Blender.exe が利用する DLL などをコピーします。
SVN ライブラリを更新した際は必ずこの手順を行うようにします。
bin ディレクトリに bpy.pyd が生成されていれば、ビルド成功です。
利用可能なpythonバージョン
blender 2.79b の場合、動作可能な python のバージョンは python 3.5 になります。
以下の公式ページの過去ライブラリから ptyhon 3.5 を取得してインストールを行います。
www.python.org
筆者環境では以下のバージョン 3.5.4 で動作確認を実施しています。
www.python.org
pythonへの組み込み
以下の手順でビルドした Blender バイナリを python に組み込みます。
1.Python ディレクトリの Lib\site-packages 配下に blender ディレクトリを作成する。
2.Lib\site-packages 配下に blender ディレクトリへのパスを記述する blender.pth ファイルを作成する。
3.blender.pth ファイルに以下の通り、blender ディレクトリへのパスを記述する。
blender
4.blender ディレクトリに bpy.pyd ファイルをコピーする。
5.blender ディレクトリに pythonXX.dll 以外の *.dll ファイルをコピーする。
6.バージョン番号(2.79)のディレクトリを Python ディレクトリの直下にコピーする。
これで python への組み込みは完了です。
動作確認
Blender を組み込んだ Python ディレクトリの python.exe を起動し、以下のコマンドを実行してみます。
import bpy print(bpy)
bpy.pyd の参照パスが表示されれば bpy のインポートに成功しています。
module 'bpy' from '(参照パス)\lib\site-packages\blender\bpy.pyd'
python スクリプトからの読み込みも試してみます。
以下のような初期画面のレンダリング画像を出力するスクリプトを作成します。
・rendertest.py
# bpy インポート import bpy # レンダリングの実行と画像ファイルの出力 bpy.ops.render.render() bpy.data.images['Render Result'].save_render(filepath = 'C:\\WORK\\PythonWithBlender\\TestTmp\\image.png')
以下のコマンドでスクリプトを実行します。
・(Pythonディレクトリ)\python.exe .\rendertest.py
以下の通り、レンダリング結果の画像が出力されれば成功です。
次は組み込みの Blender でアドオンを利用する方法についてです。
bluebirdofoz.hatenablog.com