Unityでイベントシーンの作り方について解説していきます。長くなるので何回かに分けて解説します。開発環境はWindows11でUnity6です。
動画はこちらから↓
イベントシーンをつくるにあたってUnityの3つの機能を使いました。
一つ目はタイムラインです。これは動画編集ソフトのようにトラックとクリップをおいてイベントシーンをつくれます。
二つ目はTextMeshProです。これは字幕をつくるのに使いました。
三つ目はLocalizationです。これでTextMeshProをローカライズします。ローカライズとは簡単にいうと言語設定のことです。言語選択を日本語にしていいたら日本語の字幕が、英語にしていたら英語の字幕が表示されるようにしました。まだゲーム開発初期の段階でローカライズする必要はありませんが、簡単にできてしまうので、最初から導入することにしました。
それぞれの機能をUnityで導入してみましょう。
タイムラインの導入
まずはタイムラインです。projectウィンドウに適当に「Timeline」というようなフォルダを作ってください。そのフォルダの中で右クリックをしてcreate→Timeline→Timelineとクリックしてください。そうするとタイムラインがプロジェクトウィンドウに作られますので任意の名前を付けてください。画像ではSecondTimelineとしています。

次にヒエラルキーウィンドウで左上の+ボタンを押してcreate emptyで空オブジェクトをつくってわかりやすいように先ほどと同じタイムラインの名前に変更してください。画像ではSecondTimelineとしています。タイムラインを複数つくる際はまとめてあげるとヒエラルキーが整理されて見えます。

つくった空オブジェクトにプロジェクトウィンドウでつくったタイムラインをdrag and dropしてください。そうすると空オブジェクトのInspectorにPlayable Directorというコンポーネントが追加されます。Playable DirectorのPlay on Awakeというチェックボックスはゲームがスタートしたらタイムラインが流れるか流れないかを設定できます。今回はゲームがスタートした時に流したいのでチェックを入れます。

Window→Sequencing→Timelineでタイムラインウィンドウを開けます。

タイムラインウィンドウが表示された状態で先ほどのヒエラルキー上にあるSecondTimelineオブジェクトをクリックしてください。そうするとタイムラインウィンドウにタイムラインが表示されます。そしたら、ウィンドウの右上にある鍵マークをクリックしてロックしてください。そうすることで別のオブジェクトを選択してもSecondTimelineのタイムラインが表示されたままでタイムラインウィンドウが切り替わることはありません。

タイムラインの導入は以上です。
TextMeshProの導入
次にTextMeshProを導入します。TextMeshProは字幕をつくるのに用いますのでその設定をします。
ヒエラルキー上で左上の+ボタンからUI→CanvasをつくってそのCanvasの中でまた+ボタンUI→TextMeshProをつくってください。一番最初だとimportしてくださいというような表示がされますので表示に従ってimportしてください。

TextMeshProをつくりましたら一旦GameウィンドウでTextMeshProを確認してください。自分の場合はこのように真ん中にNew Textと表示されています。既にアウトラインがついていますが、初めての場合は小さい文字でアウトラインもついていないと思います。

実はこのTextMeshProですが、日本語フォントが2025年1月現在では存在しないらしいです。そのため、自分でネットから日本語フォントをダウンロードして導入しなければいけません。やり方に関しては別の記事で何れ紹介しようと思いますので今回は省略します。
つくったTextMeshProは字幕にするのでGame画面の下の方に配置するようにRect TransformのPosYやHeghtをいじってください。さらにフォントや文字の大きさ、アウトラインなど自分の好きな設定にしてください。画像ではHeightを-270にしています。

字幕をの位置や大きさなどの設定ができましたら、表示されてある文字(画像の場合はNew Textという文字)を消してください。後の記事で解説しますが、このTextMeshProにはスクリプトから動的に文字を表示させます。そのため字幕の数だけTextMeshProをつくらなくても一つだけつくればいいのです。そうすることでおそらく動作も軽くなります(誤差)。ただし、文字の大きさや位置、フォントなどが大きく変わる場合は別のTextMeshProを用意する必要が出てきます。TextMeshProの導入は以上です。
Localizationの導入
Unityの機能のLocalizationで字幕をローカライズさせます。今回は字幕だけですが、Localizationは字幕だけではなく、アセットなどもローカライズできます。
まずはLocalizationをダウンロードしてインポートする必要があります。Window→Package Managerを開いてください。

そして、Unity RegistryからLocalizationと検索したらLocalizationがでてきますのでそれをDownloadしてImportしてください。

Importが完了したらLocalization Tablesを開きます。Window→Asset Management→Localization Tablesをクリックしてください。

Localization Tablesを表示させたら、画像ではすでにtable Collectionをつくってあるのですが、最初はないので左上の+New Table Collectionをクリックします。

次に言語を選びます。Locale Generatorをクリックします。

言語一覧が表示されますので導入したい言語に全てチェックしてください。自分は日本語、英語、中国語、韓国語を選びました。この時に言語のCodeを覚えておいてください。日本語の場合はja、英語の場合はenなどです。このCodeを指定することで日本語選択できたり、英語選択できたりします。チェックしたらAdd Localesボタンをクリックしてください。

次にNameのところにお好きなテーブルの名前を入れて、Createボタンをクリックしてください。

テーブルがつくられますのでKeyという欄に任意のKeyの名前を入力してそれぞれの言語のところに文字を入れてください。New Entryボタンを押すことで増やせます。このKeyをTextMeshProに指定することで文字を表示することができます。

以上でタイムラインとTextMeshProとLocalization導入の解説をしました。次回以降の記事は今回の内容を踏まえたうえで解説します。次回はタイムラインの使い方を説明していきます。
次回の記事です。↓
https://tanciatco.com/uakglbjn8/