しばらく前から、仕事でSONY製の空間再現ディスプレイELF-SR2を触っていました。 3DCGを裸眼で見ることができる、ちょっと未来なガジェットです。
裸眼でこれだけ綺麗に立体視(空間視?)できるデバイスというのはまだ目新しさがあるので、シンプルに3DCADモデルを回転させるだけのようなものでも、目を惹くコンテンツとしてけっこう成立します。
そんなでしばらくは、使い慣れたUnityで展示会向けの飛び道具的コンテンツを作ったりして楽しんでいたんですが、いつのまにかBlender用のプラグインがリリースされていました。
これは使うっきゃない!
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 CheckModal
を
from .utils import CheckModal
に書き替える
②
SpatialRealityDisplayPluginBle_1_0_0\SRDViewer\srdViewer.py
15行目の
import utils.CheckModal as CheckModal
をコメントアウトする
これで上書き保存して、Blenderでアドインの有効化をすると無事に動きました!
この記事が同じ轍を踏む人の助けになれば幸いです。
ではでは。