UE5.1でOTIOを使う
UEアドカレ その4、12/19の記事です。
今回もノンゲーム寄りです。
今回は OpenTimelineIO です。
Dev Communityの記事によると、「将来のリリースでは対応予定だけどまだサポートしてなくて、公開されているのを手動で使うことはできるよ」とのこと。
その公開されているプラグインとはこちらなようです。
OpenTimelineIO-Unreal-Plugin
今回はこれを使ってみようと思います。
pip install
こちらの解説を参考にインストールを試みます。
\Engine\Binaries\ThirdParty\Python3\Win64\python.exe -m pip install pyside2
\Engine\Binaries\ThirdParty\Python3\Win64\python.exe -m pip install opentimelineio
importできるようになりました。
Pluginsに設置
ダウンロードしてきたOpenTimelineIOUtilitiesを
プロジェクト以下にPluginsフォルダを作って設置します。
一応さきほどのgithub記事によると
当該プラグインフォルダのコンテンツ以下に ~site-packages作ってそこに依存モジュールを置いてもいいみたいです。手元にモジュールがあれば、前段のpip installはパスできますね。
プロジェクト起動
起動したらプラグインが有効状態になってました。
Actions
プラグイン有効状態で二つのアクションが使えるようになります。
- OTIO書き出し (OTIO Export)
- OTIOからシーケンスを更新 (OTIO Import)
この二つは、レベルシーケンスアセットのコンテキストメニューから、
もしくはツールバーのシーケンスオブジェクトメニューから使えます。
あとフックが四つ、
- otio_ue_pre_import
- otio_ue_pre_import_item
- otio_ue_post_export
- otio_ue_post_export_clip
環境変数が三つ、
- OTIO_UE_REGISTER_UCLASSES
- OTIO_UE_IMPORT_SUFFIXES
- OTIO_UE_EXPORT_SUFFIX
あるようで、このあたりは追って勉強という感じです。
まとめ
タイムラインを .otio
で外部化して、「外部ツールでタイムライン編集 > UE内シーケンスを更新」または「シーケンサー編集 > 外部編集ツールのタイムラインも更新」みたいなのがダイナミックにできるようになったら楽しそうですね。
一応将来リリース時にとのことでしたが、これだけ導入が容易だったらじきにExperimentalとかで組み込まれそうな気がしますね。
Discussion