SONYの空間再現ディスプレイELF-SRをBlenderで使いたかった話―空間再現ディスプレイ Plugin for Preview(BL)のインストールエラーを解決する―

しばらく前から、仕事でSONY製の空間再現ディスプレイELF-SR2を触っていました。 3DCGを裸眼で見ることができる、ちょっと未来なガジェットです。

裸眼でこれだけ綺麗に立体視(空間視?)できるデバイスというのはまだ目新しさがあるので、シンプルに3DCADモデルを回転させるだけのようなものでも、目を惹くコンテンツとしてけっこう成立します。

そんなでしばらくは、使い慣れたUnityで展示会向けの飛び道具的コンテンツを作ったりして楽しんでいたんですが、いつのまにかBlender用のプラグインがリリースされていました。

www.sony.net

これは使うっきゃない!

Blenderアドインがエラーを吐く

対応バージョンはBlender 3.4~3.6(LTS)とのことなので、3.6を使うことにしました。 マニュアルはいかにも日本製!という感じのしっかりとしたもので安心感があります。 マニュアル通り順調にインストールを進めて、Blenderでアドインを有効化…あれ、できない...??

Traceback (most recent call last):> File "C:\Program Files\Blender Foundation\Blender 3.5\3.5\scripts\modules\addon_utils.py", line 333, in enable> mod = import(module_name)> File "C:\Users\********\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons\SpatialRealityDisplayPluginBle_1_0_0__init__.py", line 35, in > import utils.CheckModal as CheckModal> ModuleNotFoundError: No module named 'utils.CheckModal'; 'utils' is not a package

import文がUtilsフォルダにあるCheckModal.pyにたどり着けていないようです。

しばらく試行錯誤しながらポチポチやって、無事動くようになりました。Pythonのimportについてはふわっとした理解でやってるので、これが正攻法なのかはよくわからんのですが、動いたのでとりあえずヨシ!

アドインスクリプトの書き換え

アドインのインストールフォルダを探して、Pythonスクリプトを2行書き換えるだけです。

SpatialRealityDisplayPluginBle_1_0_0__init__.py 35行目の import utils.CheckModal as CheckModalfrom .utils import CheckModal に書き替える

SpatialRealityDisplayPluginBle_1_0_0\SRDViewer\srdViewer.py 15行目の import utils.CheckModal as CheckModal をコメントアウトする


これで上書き保存して、Blenderでアドインの有効化をすると無事に動きました!

この記事が同じ轍を踏む人の助けになれば幸いです。

ではでは。