見出し画像

Blenderでプラグイン等の外部ファイルの参照エラーが起きる場合の解決策(クラウドレンダリングやWindows/Mac並用)

Blenderで、WindowsからMacのようにPC環境を変えてプロジェクトファイルを開くと、「Botaniq」や「Material Library Materialiq」などプラグインの一部のオブジェクトが描画されなかったり、マテリアルが無効化しているケースがありました。同時に「Sheep it」などでクラウドレンダリングをかけた際に、クラウドレンダリングの管理画面で「files not found」が表示され、そのままクラウドレンダリングすると当然ながらエラーが出ているオブジェクトは描画されないというケースがありました。

ネットで調べると、パッケージ化したり外部ファイルを相対参照したりして解決できると書かれていましたが、自分の場合はその方法だけでは解決しませんでした。

自分の場合は、プラグインをインストールするドライブと、Blender本体のドライブが異なっている事が関係していたのかもしれません。それに、WindowsとMacの両方でBlenderファイルを開くなど、そもそものパスが異なっていたりもします。

結果的に、下記の方法で解決しました。1ヶ月ほど、解決策が見つからずに困っていたので、メモ的に解決策を記録しておきます。

発生する現象とエラー内容

自分がこの現象に気づいたのは、Blenderで、樹木や草花を生やすのに便利な「Botaniq」を使っていた時です。クラウドレンダリングしたり、別のPCでプロジェクトを開いた際に、描画されていない事に気づきました。具体的にはクラウドレンダリング時にこういったエラーが出ます。

Sheep itのクラウドレンダリング管理画面のエラー

また、ファイルから「外部データ → リソースの自動パック、リンクライブラリをパック」とチェックを入れると「絶対パスのファイルがパックできません」と表示されます。

よく紹介されている解決策
絶対パスのファイルがパックできませんと表示される

そして「外部データ」から「全て相対パス化」としても、エラーが出てログに

「パス「C:\Users\******\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons\blenderkit\thumbnails\blenderkit_logo.png」が相対パスにできません」

Blenderのログより

と表示されています。ちなみに「Botaniq」のアドオン設定画面から、アドオンのインストール先を変更してみると、pythonのロードエラーが発生するのでそのアプローチは断念しました。

インストール先を変えても解決にはならなかった

また、Windowsで制作したこのBlenderプロジェクトファイルをMacで開くと、同様にファイルパスの問題でエラーが発生します。「Botaniq」であれば普通にビューポート上にも描画されていないし「Material Library Materialiq」などプラグインのマテリアルを適用したオブジェクトは、そのオブジェクトごと透明になってしまいます。

解決策

クラウドレンダリングで同じようなエラーが起きていないか調べてみると、3S Farm社によるこの記事が解決の糸口になりました。実際に「Botaniq」が入ったプロジェクトをアップロードした際に発生するエラーについて言及していました。

Select all linked collections (all botaniq assets) and make them Local by going into Objects > Relations > Make Local > All Upload projects using Botaniq Addon Then you Pack All into .blend as usual.

Upload projects using Botaniq Addon / 3S Cloud Render Farm

すべてのリンクされたコレクション(すべてのbotaniqアセット)を選択し、Objects > Relations > Make Local > Allに移動してローカルにします。「オブジェクト > 関係 > ローカル化 > 全て」です。

これにより「Botaniq」や「Material Library Materialiq」がプロジェクトファイルに梱包され、クラウドレンダリングや、WindowsとMacでの並行作業が可能になりました。同時に、パッケージ化と外部ファイルを相対参照も並行してチェックを入れています。

同じようなエラーで困っている方がいれば、解決の参考になれば幸いです。


この記事が気に入ったらサポートをしてみませんか?