バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事はunityでゲームのタイトル画面の作り方を模索したのでそのメモです。
以前JU TPS3やStarter Assetsを使ってゲームは少し動かせるようにできたので、ゲームの体裁を整えていきたいですね。
動作確認した最新のバージョンはUnity6000.0.32です。




とりあえず優秀なChatGPTパイセンに聞いてみる
とりあえずChatGPTパイセンに聞いてみますw




unityでゲーム製作をしていますが、タイトル画面の作り方が知りたいです。
とりあえず画像かテキストでタイトルをドーンと表示し、キー入力かクリックを検知したらゲーム画面に遷移するだけのシンプルなもので構いません。


Unityでシンプルなタイトル画面を作成する手順は以下の通りです。
1. 新しいシーンを作成
- File > New Scene で新しいシーンを作成します。これがタイトル画面になります。
2. 背景の設定(任意)
- 背景画像を使う場合は、スプライトやUIイメージを使用して画面全体に配置します。
3. タイトルの表示
- Canvas を作成します。UI > Text(または Text – TextMeshPro)を選び、Canvasの子オブジェクトとして配置します。
- テキストを「Game Title」などに設定し、Font Size や Color でデザインを調整します。
- テキストの位置を中央に調整します。Rect Transformを使って画面の中央に配置するのが一般的です。
4. キー入力またはクリックを検知してシーン遷移
タイトル画面用のスクリプトを作成し、キー入力やクリックを検知してゲーム画面に遷移します。
using UnityEngine;
using UnityEngine.SceneManagement;
public class TitleScreen : MonoBehaviour
{
void Update()
{
// 任意のキー入力を検知
if (Input.anyKeyDown)
{
// "GameScene" という名前のシーンに遷移
SceneManager.LoadScene("GameScene");
}
}
}
このスクリプトをCanvasなどにアタッチします。
5. シーンの追加
- File > Build Settings で、タイトルシーンとゲームシーンをBuild SettingsのScenes In Buildに追加します。
6. 実行してテスト
- ゲームを実行して、タイトル画面が表示され、キー入力またはクリックでゲーム画面に遷移するか確認します。
これで、シンプルなタイトル画面が作成できます。ゲームシーンの名前を適切に指定し、シーンが正しくロードされるようにしてください。
おお、なんと有能な…。
まぁシンプルなタイトル画面だからそこまで苦労せずにできるかな?
さっそくやってみる
そんなに難しくなさそうなのでとりあえずやってみます。
①タイトルシーンを作成する
新しいシーンでシーンを作成、名前をつけて保存しておきます。
②タイトル画面の背景を作って設定する
次にタイトル画面の背景の設定ですが…。
これ下手に画像とテキストを組み合わせるより、画像メインで作ったほうが見栄えは良いかな?
というか動画も表示できると思うので凝るならそっちのほうがいいか(;^_^A
とりあえずぱくたそで適当に背景を検索して作ってみます。




こういう画像はYMM4を使うと手軽に作れますね…。
とりあえず最低限の情報は入っているからまぁこんな感じでいいかな。


作った画像をアセットフォルダにインポート、スプライトにしてシーンに配置
作った画像をアセットフォルダにインポート、スプライト(2DとUI)を選んでシーンに配置します。
キャンバスを追加してテキストでタイトルを表示するのもアリ
これでも最低限はタイトル表示できるけど、まぁ画像や動画を使って見栄えを良くしたほうがいいかな?
③スクリプトを追加する
C♯スクリプトファイルを作成して以下のコードをコピペ、適当なオブジェクトにアタッチします。
今回は動画を貼り付けたplaneオブジェクトにアタッチしました。
TitleScreen.cs
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.SceneManagement;
public class TitleScreen : MonoBehaviour
{
private void Update()
{
// キー入力または左クリックを検知
if (Keyboard.current.anyKey.wasPressedThisFrame || Mouse.current.leftButton.wasPressedThisFrame)
{
SceneManager.LoadScene("simpletown-game");
}
}
}
SceneManager.LoadScene(“simpletown-game”); のところには遷移先のシーン名を指定します。
④ビルド設定でシーンを追加する
ファイル→ビルド設定 を開き、タイトルシーンと遷移先のシーンを追加しておきます。
⑤実行してテスト
これでちゃんとシーン遷移できましたね。
これで最低限ゲームの体裁にはなるでしょう。
Input関連のエラーが出た場合はプロジェクト設定⇒Player⇒アクティブな入力設定 を 両方 にしたら直った
最初やった時はこんな感じのエラーが出ていた。
InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.
TitleScreen.Update () (at Assets/TitleScreen.cs:9)
InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.
UnityEngine.EventSystems.BaseInput.GetButtonDown (System.String buttonName) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/InputModules/BaseInput.cs:126)
ChatGPTに聞いたら、どうもInput System関連のエラーみたいです。


ここを 両方 にしたら直った。


タイトル画面が動画でもいける
YMM4だとちょっとしたアニメーションとかはカンタンに作れて手軽です。




スタート画面のメニューなんてどのゲームも同じ感じになるだろうし、背景に自作の動画を流しておいたほうがインパクトがあって印象に残りやすいかもしれない。
アセットフォルダに放り込んで、動画を貼り付けるPlaneを追加、表示するレンダーテクスチャを作って動画と一緒にPlaneにD&Dする。
おお!これだとかなりゲームっぽくなったかな?w
ビルドしてみた
おお、最低限ゲームっぽくなりましたね( *´艸`)
ゲーム作成って大変そうだけど、こうやって少しずつ作っていけばそれっぽくなっていくかな?
なんとなく音をつけてyoutubeにアップしてみた。短いけど縦長じゃないからショート動画にはならなかったな…。
あとはオープニングムービーとかあるとクオリティが上がって良さそうだが…
あとはオープニングムービーとかあるとストーリー性が出て、クオリティが上がって良い感じになるかもしれない。
↓XR Animatorとか使うとWebカメラでモーションキャプチャーできるため、これでモーション作れば3Dアニメみたいな感じで作れるかもしれない。
あとuLipSyncとか使えば合成音声のリップシンクも良い感じにできる。
しかし映像制作となるとモーションだけではなく音声やカメラワーク、脚本など色々なスキルが要求されるため、個人製作ではあまり凝ったものは作れないと思うけども。
でもアセットで手軽にゲーム部分は作れる時代だし、ゲームとして差別化したいならこうやってストーリーを作っていくことは必要かな?
つづく?
案外簡単にできて良かった。
とりあえずタイトル画面⇒ゲーム画面までできればとりあえずゲームの体裁は整った気がする。
今度はタイトル画面で
- スタート
- コンティニュー
- オプション
などを選んで遷移させてみたいかな?
まぁぼちぼちいじってみます(*^-^*)