テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】Unity2019.1から"Timeline"がPackage Managerへ移動、ソースコードの確認や変更が可能に

f:id:tsubaki_t1:20190121202409j:plain

Unity 2017から導入されたTimelineですが、ついにUnity 2019.1からPackage Managerへ移動になりました。

Timeline、Packageへ

Timelineは殆どC#で記述されている割に、何故か公開されたソースコードに含まれていない機能でした。カスタム出来る項目はPlayableやTrackといった若干局所的な部分で、もっと広範囲のカスタム…例えばクリップの表現といった部分のカスタマイズや実装の確認は出来ませんでしたが、

それが今回の変更で、Timelineの全面的なカスタマイズが一応可能になりました。

f:id:tsubaki_t1:20190121203916j:plain
Timelineのパッケージは、2019.1以降のPackageManagerで確認出来る

Timelineのソースコード確認とカスタマイズが可能に

TimelineのソースコードはUnity EditorのEditor\Data\Resources\PackageManager\BuiltInPackagesにあります。単純にソースコードを確認したい場合は、コレを見れば良いです。

一方、ソースコードを改変したい場合は、Packagesフォルダ以下にコピーすると、プロジェクト毎にカスタマイズしたパッケージを使用出来るようになります。*1

コチラの場合は、単純にカスタマイズが出来る他、スクリプトでバッグでデータを確認したり、ソースコードの参照を確認したりとTimelineの挙動を追うのに便利です。ただエディターの機能だけでパッケージのバージョンアップが出来なくなります。

f:id:tsubaki_t1:20190121204729j:plain
Packagesフォルダ以下にパッケージを配置

ただカスタムが出来るとは言えTimelineはソレナリに複雑な機能です。それに少しでも変更を加えるということは、その変更によってバグが起こる可能性がある事、そしてバージョンアップに追随する為の苦痛があることは一応考えておく必要があります。

tsubakit1.hateblo.jp

個人的に言えば、大体Timelineカスタマイズの要望は「ClipのGUI表現」が殆どな印象なので、そこを追加してくれれば殆ど用は無い気もしますが…

ライセンス

ライセンスはUnity Companion Licenseで提供されています。ざっくり言えば改造して使っても良いですがUnity以外では使えない…というものです。

関連

カスタマイズ…という点では、PlayableとTrackで十分という事も。大体の要望は「スクラブせずプレビューで確認出来ること」に集約してる気がします。

tsubakit1.hateblo.jp

メソッドを呼び出すならイベント

tsubakit1.hateblo.jp

その他、小技

tsubakit1.hateblo.jp

*1:移動した場合、どんな不具合が起こるかは不明なので、コピーがベターだと思われ