ゆいブロ

自分の好きなことや知見をまとめていくブログです。

スポンサーリンク

【Unity】Unity上でカットシーンを作成できるTimelineの機能と作成方法

今回は、Unity上でカットシーンを作ることができる、Timelineの機能を紹介しようと思います。

Timelineとは

Timelineは、Unityが公式に提供しているカットシーンを作成するための機能です。

アニメーション、エフェクトやサウンドの再生、オブジェクトのアクティブ/非アクティブなどの機能を組み合わせた演出がTimelineEditor上で簡単に作成することができます。
また、UnityのCinemachineという機能と連携しているため演出中のカメラも簡単につけることが出来ます。

さらに、コードを書けばユーザー自身で機能を拡張できるのでプロジェクトに応じて必要な機能を随時追加することができます。
頑張れば、下記のような映像もTimelineで作成することができます。 (プロジェクトデータがUnity-chan!公式サイトで配布されていて中身を見ることもできます)


unity-chan! - The Phantom Knowledge

Timelineの作成方法

Timelineは、TimelineAssetというものをGameObjectに紐づけることで動作するため、まずは空のゲームオブジェクトを作成します。

その次にUnityのメニューバーから Window>Sequencing>Timeline を選び、TimelineEditorを開きます。

そして、作成したゲームオブジェクトを選択すると

f:id:yui-frapper:20191226003310p:plain

このような表示になりますので、Createボタンを押しTimelineAssetを作成します。

そうすると、GameObjectにPlayableDirectorというコンポーネントがアタッチされ、そのコンポーネントのPlayableという項目に先ほど保存したTimelineAssetの参照が入っています。

TimelineEditorの説明

f:id:yui-frapper:20191226001002p:plain

これがTimelineEditorです。

Track

左側にあるのがTrackです。
Trackは、左上のAddボタンを押すと作成することができます。 Trackは、参照を持っているオブジェクトに対して何を行うかを定義したものです。Trackにオブジェクトの参照を持つことをバインド、と呼びます。
Trackの列には時系列に沿って複数のClipと呼ばれるものを配置して、オブジェクトを操作します。

Clip

Clipは、Trackの操作をどのタイミングで、どういったパラメータで操作するかを定義することができます。Track上で右クリックすると、そのTrackに必要なClipを作成するメニューが出てきます。

f:id:yui-frapper:20200103000041p:plain

Add 〇〇 Clipで作成するか、Add From 〇〇Clipで作成元のアセットを指定して作成することができます。

Unityが用意しているTrackの機能

Animation Track

Animation Clipの再生や、Timeline上で作成したAnimationを再生することができます。

Record機能を使うと、オブジェクトの移動や回転・スケールアニメーションを簡単につけることができます。

Activation Track

GameObjectのActive/非Activeを切り替えることができます。 Clipが開始するタイミングでGameObjectをActiveにし、Clipが終了するタイミングで非Activeにする機能です。

Activation Trackには、Post-playback stateという設定があり、TimelineAssetの再生が終了した際に、バインドされているオブジェクトに対して何を行うかを設定することができる項目です。デフォルトはLeave As Isになっています。

Active

再生が終了したらバインドされているオブジェクトをActiveにします。

InActive

再生が終了したらバインドされているオブジェクトを非Activeにします。

Revert

再生が終了したら、バインドされているオブジェクトを再生が開始する前のActive状態に戻します。

Leave As Is(デフォルト)

再生が終了した時のActive状態を保持します。

Audio Track

サウンド・BGMを再生する機能です。
設定項目にVolumeやPanがありますが、このトラック上全てのクリップに対して反映されてしまうため、Audio Trackを分割するか、Volumeに関してはClipの設定の方で対応するなどの注意が必要です。

また、Loopに関してはClipで設定できます。

Cinemachine Track

Cinemacineというカメラのカットを簡単に作成する機能を扱う機能です。Cinemachineについてはこの記事では取りあげません。

Control Track

ParticleSystem、PlayableDirector、GameObjectのActivationを制御するTrackです。
ITimeControlインターフェースを実装しているMonoBehaviourを扱う時にもこのTrackを使用します。

Playable Track

カスタムトラックを自作するときに使用します。コードを書いてカスタムトラックを自作する方法は、別の記事でまとめます。

Signal Track

Unity2019から追加された機能です。こちらも別の記事でまとめます。

TimelineのTips

Timelineのロック

Timelineは、そのままだと他のゲームオブジェクトを触ったりした際にTimeline Editorの表示が消えてしまいます。これは、デフォルトで現在選択されているオブジェクトにアタッチされているTimeline Assetを表示しているため、選択が解除されると表示も解除されてしまうためです。

これを回避するためにはEditor右上の鍵マークをクリックすると、TimelineEditorをロックすることができます。ロックといっても、オブジェクトの選択が解除されても表示が解除されないようになるだけですので積極的に使用することをお勧めいたします。

TimelineAssetをアタッチしたオブジェクトがPrefab化できない

TimelineAssetをアタッチしたゲームオブジェクトをPrefab化しようとすると、うまくいかないことがあると思います。これは、TimelineEditorのPreviewボタンを押して、Previewを解除するとPrefab化できるようになります。

Trackのグループ化

TimelineEditor上でTrackを作成しているうちに、量が多くて分かりにくくなってくると思います。そういった場合は、Track Groupという機能で複数のTrackをまとめると見やすくなります。

f:id:yui-frapper:20200102235635p:plain

AddボタンからTrack Groupを選び、まとめたいTrackを作成したTrack Groupにドラッグアンドドロップするだけです。

終わりに

Timelineの作成方法と、公式が提供している機能をざっくりと説明しました。
後日、カスタムトラックを自作するPlayable Trackと、Signal Trackについて解説記事を書こうと思います。