CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

Project PLATEAUの3DCGモデルをBlenderで読み込むときの進捗率を確認する方法

Project PLATEAUの3DCGモデルをBlenderで読み込んでBabylon.js Editorで簡単にWebXRコンテンツを作る方法を紹介しようと思ったのですが、3DCGモデルが重いため、複数のfbxファイルを指定すると長時間Blenderが固まってしまい、インポート中なのか失敗してフリーズしているのかが分からなくなりました。

そこで、今回はBlenderで進捗を確認する方法を調べました。WindowsとMacでやり方が異なるので、それぞれ書いています。

Blender 2.83 LTS (Windows10 Pro)
Blender 2.93 LTS (MacOS)

1. WindowsのBlenderで進捗を確認する方法

Windowsの場合は簡単で、Window > Toggle System Console を選択するだけです。

Show console window on Blender2.93 (Windows)

これでコンソールが表示されます。File > Import > Fbx でPLATEAUのデータを選択すると、インポート状況のログが表示されます。

Console Window is showing on Blender2.93 (Windows)

2. MacのBlenderで進捗を確認する方法

Macの場合、Toggle System Consoleのメニューはありません。Blenderのドキュメントやフォーラムをいろいろ調べたり、最新版の2.93に上げてみましたがありませんでした。

さらに調べると、Blender.appからではなく、Blender.appの中に含まれている"Blender"というバイナリから起動して、起動時に表示されるMacのターミナルがSystem Consoleの役割を果たすことがわかりました。

手順です。

Blender.appを右クリックして、「パッケージの内容を表示」を実行します。

contents configuration in Blender.app

この中にある、Contents > MacOS > Blender まで階層を進めます。"Blender"を右クリックし、"エイリアスを作成"をクリックします。
"Blender"のショートカットができるので、これを任意の場所に移動させます。あとは、"BlenderWithConsole"などのように、この"Blender"を好きな名称にリネームします。

リネームした"BlenderWithConsole"をダブルクリックすると、MacOSのターミナルが立ち上がり、その後Blenderが起動します。

あとは、Blender上の動作がこのターミナルに表示されるので、Fbxのファイルインポートも確認することができます。

Console is showing on Blender (MacOS)

具体的には、この動画の1:34付近で説明されています。 www.linkedin.com

3. Tips

3.1 Python Consoleは、Python関係の処理のみが表示される

BlenderはPythonをつかって処理の自動化やプラグイン作成が可能です。この中で実行したPythonスクリプトの処理結果を表示させることはできますが、File >importのような通常操作のログは表示されませんでした。

3.2 Delete処理の進行状況はターミナルに表示されない

オブジェクトを選択して右クリック>Delete、あるいは、選択してからXキーを押す、という処理を実行するとオブジェクトを削除できます。このときの処理はターミナルには表示されませんでした。
そのため、PLATEAUの多数のオブジェクトを同時に消すときは削除状況を把握できない可能性があります。

Delete objects results on terminal of Blender (MacOS)

3.3 大量のPLATEAUのfbxデータを読み込むと、ログ上のimport completedの後で画面が固まる

タイトルの通りです。インポート後に描画させる処理に時間がかかるようです。このときの処理はログには表示されませんでした。

4. おわりに

基本的な話ですが、PLATEAUのデータは重いので、そこまで高性能でないPCを使うときは役に立つかもと思って書いてみました。
次回は、PLATEAUのデータをWebXRで表示させる方法を書く予定です。