MRが楽しい

MRやVRについて学習したことを書き残す

Blenderのビルド手順 その8(Pythonモジュール向けのBlender2.8のビルド)

本日は Blender の技術調査です。
前回記事ではバージョン 2.8 の Blender をビルドすることができました。
今回はビルド設定を変更し、BlenderPython のモジュールとしてビルドする手順を記事にします。
f:id:bluebirdofoz:20191001090839j:plain

前回記事の続きです。
bluebirdofoz.hatenablog.com

ビルド設定の変更

CMake にて[Configure]を実行するところまでの手順は同じです。前回記事を参照ください。
BlenderPython 用モジュールとしてビルドするには以下の設定を変更します。

WITH_OPENCOLLADA=OFF
WITH_PYTHON_INSTALL:OFF
WITH_PYTHON_MODULE:ON

この状態で[Generate]をクリックします。
f:id:bluebirdofoz:20191001090852j:plain

Generate が完了したら、[Generating done]が表示されます。
これでプロジェクトファイルの作成が完了しました。
f:id:bluebirdofoz:20191001090943j:plain

WITH_OPENCOLLADAの設定項目について

WITH_OPENCOLLADA の OFF について、2019/9/26現在、本項目が ON だとビルド時に以下のエラーが発生します。

6>xml.lib(threads.obj) : error LNK2005: DllMain は既に LIBCMT.lib(dll_dllmain_stub.obj) で定義されています。
6>   ライブラリ D:/WORK/BlenderBuild_Target2.8/buildforpython-2.80/lib/Release/bpy.lib とオブジェクト D:/WORK/BlenderBuild_Target2.8/buildforpython-2.80/lib/Release/bpy.exp を作成中
6>D:\WORK\BlenderBuild_Target2.8\buildforpython-2.80\bin\Release\bpy.pyd : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。

f:id:bluebirdofoz:20191001091001j:plain

Blenderのビルド

指定したバイナリの保存ディレクトリを開くと、sln ファイルが生成されています。
f:id:bluebirdofoz:20191001091021j:plain

sln ファイルを開き、プロジェクトの読み込みが完了するまで待ちます。
今回は Release ビルドを試してみます。[Debug]の欄を[Release]に変更します。
f:id:bluebirdofoz:20191001091030j:plain

メニューから ビルド -> ソリューションのビルド を実行します。
f:id:bluebirdofoz:20191001091041j:plain

ビルドが完了したら bin ディレクトリに bpy.pyd ファイルが出力されます。
f:id:bluebirdofoz:20191001091050j:plain

次に INSTALL をターゲットにビルドを実行します。
INSTALL は Blender.exe が利用する DLL などをコピーします。
SVN ライブラリを更新した際は必ずこの手順を行うようにします。
f:id:bluebirdofoz:20191001091101j:plain

bin ディレクトリに DLL がコピーされました。これでビルド成功です。
f:id:bluebirdofoz:20191001091110j:plain

次は作成した Blender のモジュール(bpy.pyd)を Python へ組み込んでみます。
bluebirdofoz.hatenablog.com