Chapter 51

◽ 処理の最中にプログレスバーを表示する(Python)

ポコ太郎
ポコ太郎
2022.01.23に更新

Editor Utility Widget』などで時間がかかる処理を行う場合、UEエディタがフリーズしたようにも見えるため、進捗を表示した方が親切です(特にアーティストの場合、ログが流れている様子を確認しない人も多いので)。

しかし、ウィジェットにはプログレスバーが用意されていますが『Editor Utility Widget』の処理、例えばボタンクリックイベントで何かの処理を行っている最中は、ウィジェットも固まってプログレスバーの進捗表示を更新できません。

例えば C# でツールを作るような場合は非同期処理を組んであげることで対応できたりしますが、実は Python API で進捗バーの表示に対応している旨が公式ドキュメントに載っています。

https://docs.unrealengine.com/4.27/ja/ProductionPipelines/ScriptingAndAutomation/Python/#遅い操作に対する進捗ダイアログ

ただし、その場合は進捗バーを更新したい処理自身も Python コード内に書いてあげる必要があります。※筆者は Python API をほとんど試せていないため具体例は割愛します