Unity Timeline の中に他の Timeline を入れ子で活用する

UnityTimeline 機能では、時間経過に合わせてゲームオブジェクトの有効・無効化、アニメーション・サウンドの再生などをスクリプトを作成しないで制御できます。

今回は、UnityTimeline の中にネストした Timeline をクリップとして配置する手順を紹介します。
これにより、何度も使う小さなタイムラインを、様々なタイムラインの中に入れ子でクリップとして効率よく配置できます。
※ Unity のバージョンは 2021.3.25f1 Personal <DX11> です。
※表示されている 3D モデルは無料アセット「Old Sea Port」を使用しています。

※ゲームのテキストのフォントには「水面字」を使用しています。

ネストとは

入れ子構造、タイムラインで言えば、タイムラインのクリップとしてタイムラインが入っている状態です。
これにより、何度も使うタイムラインを作っておいて、様々なタイムラインの中で用いることができます。

ネストとは、あるものの中に、それと同じ形や種類の(一回り小さい)ものが入っている状態や構造のこと。ITの分野では、コンピュータプログラムデータ構造において、ある構造の内部に同じ構造が含まれている状態のことを指す。

ネスト(入れ子)とは – 意味をわかりやすく – IT用語辞典 e-Words

ネストさせるタイムラインの作成

画面に「Ready」「Go!」と 2 つのメッセージを時間で分けて表示するタイムラインを作成します。

Project ウィンドウの作成したいフォルダの余白で右クリックして、メニュー「Create」→「Timeline」を選択してタイムラインアセットを作成します。
#わかりやすいように名前を変更します。例では ReadyGo にします。

Unity 入れ子にするタイムラインアセットを作成します.

作成したタイムラインアセットを Hierarchy ウィンドウにドラッグ&ドロップしてシーンのゲームオブジェクトとして作成します。

Unity 作成したタイムラインアセットを Hierarchy ウィンドウにドラッグ&ドロップします.

追加したタイムラインのゲームオブジェクトを選択して Timeline ウィンドウを表示します。
※ Timeline ウィンドウが表示されていない場合は、メインメニュー「Window」→「Sequencing」「Timeline」で表示しましょう。

Unity Timeline ウィンドウをメニューから表示します.編集したいタイムラインのゲームオブジェクトを選択します.

Ready と Go! の 2 個の Text ゲームオブジェクトを作成します。
Inspector ウィンドウでそれぞれの Text プロパティに「Ready」「Go!」を設定します。
Inspector ウィンドウの左上のチェックボックスのチェックを外して、初期状態では非アクティブ、非表示の状態にしておきます。

Unity Timeline で順番に表示させる Text ゲームオブジェくを二つ作成してTextプロパティに文字列を設定してアクティブのチェックを外しておきます.

先ほど追加したタイムラインのゲームオブジェクトを選択して、作成した二つの Text ゲームオブジェクトを、 Timeline ウィンドウ同じ行ドラッグ&ドロップして Control Track に並べて配置すれば完成です。
※ Text ゲームオブジェクトを Timeline ウィンドウの空の部分にドラッグ&ドロップすると Control Track が自動的に作成されます。

Unity Timeline に先ほど作成した二つの Text ゲームオブジェクトをドラッグ&ドロップで追加して Control Track に並べて配置します

Timeline ウィンドウ内の再生ボタンを押すと、テキストが順番に表示されました。

タイムラインをネストする

作成したタイムラインを、別の上位のタイムラインの中に配置します。

上位のタイムラインのゲームオブジェクトは、先ほどと同じ手順でタイムラインのアセットとゲームオブジェクトを作成して、Timeline ウィンドウで、メッセージを画面下側に表示する Text ゲームオブジェクトを、 Control Track にドラッグ&ドロップして再生時間の前半に配置したものです。
※タイムラインの長さの設定については、後述する関連記事を参照してください。

上位のタイムラインのゲームオブジェクトを選択してから、先ほど作った Ready Go! 2 つのテキストを順番に表示するタイムラインのゲームオブジェクトTimeline ウィンドウの空行にドラッグ&ドロップします。

Unity 入れ子の上位のタイムラインゲームオブジェクトを選択してから、入れ子のタイムラインゲームオブジェクトを Timeline ウィンドウにドラッグ&ドロップして追加します.

これで、先ほど作成したタイムライン上位のタイムラインの中の Control Track にネストされました。

テスト

Timeline ウィンドウ内の再生ボタンを押して Game ウィンドウで表示すると、上位のタイムラインのクリップの再生と同じように、入れ子にした Ready Go のタイムラインもクリップとして再生されました。

関連記事

タイムラインの長さの設定については以下を参照してください。

Unity Timeline の Duration Mode を Fixed Length に変えると終了位置のマーカーを移動して設定できます

まとめ

今回は、UnityTimeline の中にネストした Timeline をクリップとして配置する手順を紹介しました。
これにより、何度も使う小さなタイムラインを、様々なタイムラインの中に入れ子でクリップとして効率よく配置できます。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました