【Unity】TimelineとCinemachineを連携して使ってみよう
初めまして、プログラム3課の水口です!
実は技術ブログを書くのは人生初になります。
4月から新生活を始めた方もたくさんいらっしゃると思いますが、新しい環境にはもう慣れましたか?
季節の変わり目ですので是非体調には気を付けながら日々を過ごしていきたいところです。
さて、今回のテーマはUnityのTimeline+Cinemachineでカメラの演出制御作成です。
プログラムの実装的な部分はあまり触れません。
目次
準備
今回紹介する内容は以下の環境で進めていきます。
・Unity 6000.3.12f1
・Timeline 1.8.12
・Cinemachine 3.1.6

また、Unity公式ラーニングプロジェクトの Get Started With Unityを使って今回紹介する機能を実際に動かしていこうと思います。
Timelineとは
Unity公式が提供しているアニメーションやオブジェクトの操作を時間軸にまとめて制御するための機能で、タイミングの指定を視覚的に編集できるようになっています。
主に演出の作成やアニメーション同士の連携に使用されます。
試しに簡単なタイムラインを設定してみましょう。
GetStarted_Sceneを開くとあらかじめこのようなステージが作成されています。
時間でオブジェクトが順番に表示されるようにしてみます。

導入~コンポーネントの作成
Get Started With UnityにはTimelineが最初から入っていなかったので、PackageManagerからTimelineをインストールしましょう。
Unity Registoryタブにパッケージの一覧があるので、検索して絞り込みます。

インストール後、Window > Sequencing > Timeline メニューが選択できるようになっているので、ここからTimelineWindowを表示できます。
適当な空のGameObjectを作成して、これにTimelineの設定ができるようにしていきます。(名前をわかりやすくTimelineにしました)
オブジェクトを選択してCreateを押すとPlayable Directorがアタッチされ、Timelineのトラックが設定できるようになります。

動かしてみる
今回は以下のような感じで設定してみました。
Activationトラックによって、オブジェクトのアクティブ<->非アクティブの切り替わりが制御されます。
ほかにもAnimatorを設定できるAnimationトラックやAudio, Signalなどがあり、カスタムトラックの作成もできますが、今回は説明を割愛します。


Cinemachineとは
こちらもUnity公式で提供されているパッケージで、カメラの追従や補完、可動範囲の制限などを行うことができる高度なカメラ制御システムです。
Cinemachine Camera(旧称Virtual Camera)とよばれる仮想のカメラを配置して、そのアクティブを切り替えることによってカメラ座標や画角を補完することができます。
導入~コンポーネントの作成
Get Started With UnityにはすでにCinemachineパッケージがインストールされているようです(2026/04/02現在)が、せっかくなのでアップデートしておきましょう。
Timelineの導入と同じように検索してアップデートを行います。

GetStarted_Sceneには最初メインカメラがないのでそれを作成して、Cinemacine Brainコンポーネントを追加しましょう。
Cinemachine Brainはカメラ本体にアタッチするコンポーネントで、これを通してCinemachineがカメラを制御します。

動かしてみる
では次にCinemachine Cameraを配置して遷移がどのように行われるか見てみます。
Hierarchyの右クリックメニューからCinemachine Cameraを1つ配置してみます。

すると、Cinemachine Cameraの位置にカメラが移動したのがわかると思います。
SceneViewでドラッグして動かしてみるとカメラもそれに合わせて動くようになっています。

Cinemachine Cameraは複数配置することができます。
その場合、アクティブなオブジェクトの中で一番優先度の高いものへ向かって遷移するように動作します。
もう1つCinemachine Cameraを作成して実行して、Hierarchyからアクティブ状態を切り替えてみると以下のような動作になります。
とても便利!

Cinemachineには前述したとおり追従の仕組みや可動範囲の制御など様々なコンポーネントがありますが、今回は説明を割愛します。
Timeline+Cinemachine
Trackの作成
では、先ほど作ったTimelineにCinemachineをのせて動かすようにしてみます。
Cinemachine Brainを持ったカメラをD&Dするとプルダウンが開くので Unity.Cinemachine > Cinemachine Track と選択します。
すると以下のようにCinemachine専用のトラックが作成されます。

Cinemachine Cameraを設定する
シーンに配置したCinemachine Cameraをそれぞれトラックの上にD&Dして配置します。

つぎに、この2つのカメラをどのように遷移させるかを設定します。
今回は順番に遷移させたいので上で配置したCinemachine Cameraをドラッグして遷移させたい時間分重ね合わせるだけでOKです。
重ねずに隣接させて配置することで瞬時に切り替えることもできます。

ここではさらにもう1つCinemachine Cameraを追加して、瞬時に切り替えるパターン(Cut)と、スムーズな遷移(EaseInOut)での切り替えを用意してみました。
これで再生確認してみましょう。


うまくいっていそうですね!
この仕組みを使うことでステージ開始時のカメラワークやオブジェクトの演出設定やイベントシーンなどを直感的な操作で設定することができます。
プログラマでなくても十分触ることができる機能なので、アーティストに方法をレクチャーして作成してもらうことができそうです。
まとめ
今回はTimelineとCinemachineを使ってカメラワークを作る方法を紹介しました。
2つのパッケージは両方とも多機能なもので、紹介した機能はほんの一部分になります。
実際にゲームに組み込む場合はもっといろんな考慮が必要になります。(開始処理、キャンセル処理、特定のタイミングでのイベント通知… etc)
また、今回紹介した方法は基本的にTimelineがオブジェクトの制御を握ることになるので、
ゲームロジックが密接に絡む場所やプレイヤーの操作の介入によって複雑に状況が変化する場所ではあまり向かないかもしれません。
ゲームのどの部分に取り入れるのかは、実現したいことと相談して適切な選択ができるとベストです。
ここまでお読みいただいてありがとうございます!
なにかの参考になれば嬉しいです。
以前Timelineと深い関係のあるPlayable API について弊社ブログで解説した記事がありますので、よろしければご覧ください!
→【Unity】Playable APIを使ってAnimationとUIを連携させてみる
参考資料
本記事の作成にあたって、以下のサイトを参考にさせていただきました。
・Unity’s Timeline
・Cinemachine
【免責事項】
本サイトでの情報を利用することによる損害等に対し、
株式会社ロジカルビートは一切の責任を負いません。