さて、Blenderで共同編集できるアドオンを探してみると、2023年現在、現行で開発・メンテされているものはなさそうです(僕の探し方が甘い可能性は大なので、良いのがあったら教えてください)
見つけた中で1番新しかったのが、Mixerというアドオンです。
紹介記事を読む限りなんだか最高な予感がしますが、GitHubリポジトリを見てみると、Blender3.0に対応した(?)バージョン1.0.1で開発・サポート終了、リポジトリはアーカイブ状態となってしまっています。
開発終了は残念ですが、ソースをオープンにしてくれてるのはありがたいことです。
動かなかった...
まあ3系なら動くでしょと思い、いま使っている3.4にインストールしてみたところ、こんなエラーが出てしまいました。
AttributeError: 'bpy.app' object has no attribute 'binary_path_python'
幸い、原因不明のエラーとかじゃないので、このエラーメッセージを頼りにして、できるところまで頑張ってみることにしました。
さて、見ての通りbpy.app.binary_path_python
が無いよと言われているので、少し調べてみるとこの書き方は3.0で廃止されたようです。要はPythonのパスを取得できればいいので、代わりにsys.executable
を使えるとのこと。
ほう、それだけなら簡単そうじゃあないか、それだけならね...。
ちょっとだけ改造
エラーの出どころを辿ると、震源地はこのファイルです。
Blenerのアドオンフォルダ/MIXER/connection.py
先頭の方にimport sysを追加しておいて、例の行は124行目あたりの一箇所だけだったので、これを
[bpy.app.binary_path_python, "-m", "mixer.broadcaster.apps.server", "--port", str(get_mixer_prefs().port)],
こう書き変えて上書き保存します。
[sys.executable, "-m", "mixer.broadcaster.apps.server", "--port", str(get_mixer_prefs().port)],
動いた!
あとはBlenderを再起動して、Mixerを立ち上げてみると...
あっさり動きましたー!
もしアドオンがCとかで書かれてたら、きっと開発環境のセットアップで心折れてたし、Rustとか出てきても心折れてたと思うので、BlenderがPythonを採用してくれてほんとうに良かった。
もしかすると他にも不具合が出るかもしれないけれど、とりあえず動きはしたので、しばらく使ってみようと思います。