Unity の Timeline 機能では、時間経過に合わせてゲームオブジェクトの有効・無効化、アニメーション・サウンドの再生などをスクリプトを作成しないで制御できます。
![](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-タイムラインで一時的に表示するゲームオブジェクトの-Active-を-OFF-にしてから再生するとタイムラインの再生が終了した後に表示されなくなりました。WrapModeNone1.png)
![](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-タイムラインで一時的に表示するゲームオブジェクトの-Active-を-OFF-にしてから再生するとタイムラインの再生が終了した後に表示されなくなりました。WrapModeNone2.png)
![](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-タイムラインで一時的に表示するゲームオブジェクトの-Active-を-OFF-にしてから再生するとタイムラインの再生が終了した後に表示されなくなりました。WrapModeNone3.png)
今回は、Unity の Timeline の中にネストした Timeline をクリップとして配置する手順を紹介します。
これにより、何度も使う小さなタイムラインを、様々なタイムラインの中に入れ子でクリップとして効率よく配置できます。
※ Unity のバージョンは 2021.3.25f1 Personal <DX11> です。
※表示されている 3D モデルは無料アセット「Old Sea Port」を使用しています。
※ゲームのテキストのフォントには「水面字」を使用しています。
ネストとは
入れ子構造、タイムラインで言えば、タイムラインのクリップとしてタイムラインが入っている状態です。
これにより、何度も使うタイムラインを作っておいて、様々なタイムラインの中で用いることができます。
ネストとは、あるものの中に、それと同じ形や種類の(一回り小さい)ものが入っている状態や構造のこと。ITの分野では、コンピュータプログラムやデータ構造において、ある構造の内部に同じ構造が含まれている状態のことを指す。
ネスト(入れ子)とは – 意味をわかりやすく – IT用語辞典 e-Words
ネストさせるタイムラインの作成
画面に「Ready」「Go!」と 2 つのメッセージを時間で分けて表示するタイムラインを作成します。
Project ウィンドウの作成したいフォルダの余白で右クリックして、メニュー「Create」→「Timeline」を選択してタイムラインアセットを作成します。
#わかりやすいように名前を変更します。例では ReadyGo にします。
![Unity 入れ子にするタイムラインアセットを作成します.](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-入れ子にするタイムラインアセットを作成します-1-1024x534.png)
作成したタイムラインアセットを Hierarchy ウィンドウにドラッグ&ドロップしてシーンのゲームオブジェクトとして作成します。
![Unity 作成したタイムラインアセットを Hierarchy ウィンドウにドラッグ&ドロップします.](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-作成したタイムラインアセットを-Hierarchy-ウィンドウにドラッグ&ドロップします.png)
追加したタイムラインのゲームオブジェクトを選択して Timeline ウィンドウを表示します。
※ Timeline ウィンドウが表示されていない場合は、メインメニュー「Window」→「Sequencing」「Timeline」で表示しましょう。
![Unity Timeline ウィンドウをメニューから表示します.編集したいタイムラインのゲームオブジェクトを選択します.](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-Timeline-ウィンドウをメニューから表示します.編集したいタイムラインのゲームオブジェクトを選択します.png)
Ready と Go! の 2 個の Text ゲームオブジェクトを作成します。
Inspector ウィンドウでそれぞれの Text プロパティに「Ready」「Go!」を設定します。
Inspector ウィンドウの左上のチェックボックスのチェックを外して、初期状態では非アクティブ、非表示の状態にしておきます。
![Unity Timeline で順番に表示させる Text ゲームオブジェくを二つ作成してTextプロパティに文字列を設定してアクティブのチェックを外しておきます.](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-Timeline-で順番に表示させる-Text-ゲームオブジェくを二つ作成してTextプロパティに文字列を設定してアクティブのチェックを外しておきます.png)
先ほど追加したタイムラインのゲームオブジェクトを選択して、作成した二つの Text ゲームオブジェクトを、 Timeline ウィンドウの同じ行にドラッグ&ドロップして Control Track に並べて配置すれば完成です。
※ Text ゲームオブジェクトを Timeline ウィンドウの空の部分にドラッグ&ドロップすると Control Track が自動的に作成されます。
![Unity Timeline に先ほど作成した二つの Text ゲームオブジェクトをドラッグ&ドロップで追加して Control Track に並べて配置します](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-Timeline-に先ほど作成した二つの-Text-ゲームオブジェクトをドラッグ&ドロップで追加して-Control-Track-に並べて配置します.png)
Timeline ウィンドウ内の再生ボタンを押すと、テキストが順番に表示されました。
![Unity 入れ子のタイムライン Ready Goの再生 SS1](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-入れ子のタイムライン-Ready-Goの再生-SS1.png)
![Unity 入れ子のタイムライン Ready Goの再生 SS2](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-入れ子のタイムライン-Ready-Goの再生-SS2.png)
タイムラインをネストする
作成したタイムラインを、別の上位のタイムラインの中に配置します。
上位のタイムラインのゲームオブジェクトは、先ほどと同じ手順でタイムラインのアセットとゲームオブジェクトを作成して、Timeline ウィンドウで、メッセージを画面下側に表示する Text ゲームオブジェクトを、 Control Track にドラッグ&ドロップして再生時間の前半に配置したものです。
※タイムラインの長さの設定については、後述する関連記事を参照してください。
上位のタイムラインのゲームオブジェクトを選択してから、先ほど作った Ready Go! 2 つのテキストを順番に表示するタイムラインのゲームオブジェクトを Timeline ウィンドウの空行にドラッグ&ドロップします。
![Unity 入れ子の上位のタイムラインゲームオブジェクトを選択してから、入れ子のタイムラインゲームオブジェクトを Timeline ウィンドウにドラッグ&ドロップして追加します.](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-入れ子の上位のタイムラインゲームオブジェクトを選択してから、入れ子のタイムラインゲームオブジェクトを-Timeline-ウィンドウにドラッグ&ドロップして追加します-1024x620.png)
これで、先ほど作成したタイムラインが上位のタイムラインの中の Control Track にネストされました。
テスト
Timeline ウィンドウ内の再生ボタンを押して Game ウィンドウで表示すると、上位のタイムラインのクリップの再生と同じように、入れ子にした Ready Go のタイムラインもクリップとして再生されました。
![Unity タイムラインに入れ子のタイムラインを入れた再生の例 SS1](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-タイムラインに入れ子のタイムラインを入れた再生の例-SS1.png)
![Unity タイムラインに入れ子のタイムラインを入れた再生の例 SS2](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-タイムラインに入れ子のタイムラインを入れた再生の例-SS2.png)
![Unity タイムラインに入れ子のタイムラインを入れた再生の例 SS3](https://compota-soft.work/wp1/wp-content/uploads/2023/11/Unity-タイムラインに入れ子のタイムラインを入れた再生の例-SS3.png)
関連記事
タイムラインの長さの設定については以下を参照してください。
![Unity Timeline の Duration Mode を Fixed Length に変えると終了位置のマーカーを移動して設定できます](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-Timeline-の-Duration-Mode-を-Fixed-Length-に変えると終了位置のマーカーを移動して設定できます.png)
まとめ
今回は、Unity の Timeline の中にネストした Timeline をクリップとして配置する手順を紹介しました。
これにより、何度も使う小さなタイムラインを、様々なタイムラインの中に入れ子でクリップとして効率よく配置できます。
参照サイト Thank You!
- Unity のリアルタイム開発プラットフォーム | 3D/2D、VR/AR のエンジン
- Timeline エディターウィンドウ – Unity マニュアル
- タイムライン設定 – Unity マニュアル
記事一覧 → Compota-Soft-Press
コメント