見出し画像

GPTStoreが無料公開されたので、 ゲーム制作に特化したチャットGPTを使ったり、 普通のチャットGPTと比較したりする

最近チャットGPTの一部の機能が無料公開されたって話題ですよね。

その中でとうとう、GPT Storeの利用(作成は有料版のみ)が無料公開されました。

この記事がチャットGPTの無料公開された機能とかについて、詳しく書かれてました。

GPT Storeは、他の人がカスタマイズしたチャットGPTを使える機能です。(多分)

そこで今回は、Unityというゲームエンジンでゲームを作るためにカスタマイズされたチャットGPTを使ってみようと思います!

今回は Unity講師 という名前のこちらの方が作られた、カスタムされたチャットGPTを使っていきます!


Unity講師は、こちらの動画の概要欄のリンクをクリックすると使えます。


まずは普通のチャットGPTとどう違うのか聞いてみます。

あなたは普通のチャットGPTと比べてどのようにカスタマイズされてますか

私はUnity講師としてカスタマイズされており、Unityとゲーム開発に特化した支援を提供することができます。以下の点で普通のChatGPTと異なります:

1. **専門知識**:
- UnityとC#を使ったゲーム開発に関する深い知識を持っています。
- ゲームデザイン、スクリプティング、デバッグ、パフォーマンス最適化など、ゲーム開発の各側面についてアドバイスを提供できます。

2. **教育的アプローチ**:
- 初心者や子供でも理解できるように、簡単で詳細な説明を心がけています。
- 複雑な概念や操作もステップバイステップで丁寧に解説します。

3. **具体的な例とコードスニペット**:
- 必要に応じて、具体的なUnityプロジェクトやコードスニペットを提供し、実際の操作方法を示します。
- スクリプトには詳細なコメントを付けて、各行が何をしているのか理解しやすくします。

4. **インタラクティブなサポート**:
- ユーザーの入力が不完全な場合、適切な質問をして必要な情報を引き出します。
- ユーザーのニーズに合わせてカスタマイズされたアドバイスを提供します。

これらの点を踏まえて、Unityやゲーム開発に関する質問に対して、より専門的で役立つ回答を提供するよう設計されています。

なんかすごそう            

てことで簡単に何か質問してみます。

unityで2dでポーズ画面が作りたいです

2Dゲームでポーズ画面を作成するのは、ゲーム開発の基本的な部分です。ここでは、簡単なポーズ画面を作成する手順を説明します。

1. ユーザーインターフェースの設定
まず、Unityエディタでポーズ画面用のUIを作成します。

ステップ 1: Canvasの作成

Unityエディタの上部メニューから GameObject > UI > Canvas を選択します。これで新しいCanvasがシーンに追加されます。
Canvasの子オブジェクトとして、ポーズ画面用のUI要素を追加します。
ステップ 2: パネルの作成

Canvasを右クリックし、UI > Panel を選択します。これでポーズ画面の背景となるパネルが作成されます。
パネルの名前を「PausePanel」に変更します。
PausePanel の Rect Transform を調整し、画面全体を覆うようにします。例えば、Anchor Presets を Stretch に設定し、Left, Right, Top, Bottom をすべて0にします。
ステップ 3: ポーズメニューの作成

PausePanel の子オブジェクトとして、いくつかのボタンを追加します。これらは「再開」「メニューに戻る」「終了」などのアクションに使用します。
PausePanel を非表示にしておきます。PausePanel を選択し、Inspector の Canvas Renderer コンポーネントの Enabled チェックボックスをオフにします。
2. スクリプトの作成
次に、ポーズ機能を制御するためのスクリプトを作成します。

ステップ 4: スクリプトの作成

Assets フォルダ内で右クリックし、Create > C# Script を選択して新しいスクリプトを作成します。スクリプトの名前を PauseController にします。
スクリプトをダブルクリックして開き、以下のコードを追加します。

unityの操作をちゃんと分かってる感じがするね     
using UnityEngine;

public class PauseController : MonoBehaviour
{
    // ポーズパネルのゲームオブジェクトを格納する変数
    public GameObject pausePanel;

    // ゲームがポーズ中かどうかを追跡する変数
    private bool isPaused = false;

    // 毎フレーム呼び出される更新関数
    void Update()
    {
        // エスケープキーが押されたときにポーズ状態を切り替える
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            TogglePause();
        }
    }

    // ポーズ状態を切り替える関数
    public void TogglePause()
    {
        // ポーズ状態を反転させる
        isPaused = !isPaused;

        // ポーズパネルを表示または非表示にする
        pausePanel.SetActive(isPaused);

        // ゲームの時間の流れを停止または再開する
        if (isPaused)
        {
            // ポーズ状態では時間を停止する
            Time.timeScale = 0f;
        }
        else
        {
            // ポーズ解除時には時間を通常通りに戻す
            Time.timeScale = 1f;
        }
    }

    // ボタンから呼び出される再開関数
    public void ResumeGame()
    {
        isPaused = false;
        pausePanel.SetActive(false);
        Time.timeScale = 1f;
    }

    // ボタンから呼び出されるメニューに戻る関数
    public void ReturnToMenu()
    {
        // メニューシーンに遷移する処理をここに追加
        // SceneManager.LoadScene("MenuScene");
    }

    // ボタンから呼び出されるゲーム終了関数
    public void QuitGame()
    {
        // エディタ内でゲームをプレイしている場合は停止
        #if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = false;
        #else
        // ビルド後のゲームを終了
        Application.Quit();
        #endif
    }
}

3. スクリプトのアタッチと設定

最後に、作成したスクリプトをゲームオブジェクトにアタッチし、必要な設定を行います。

ステップ 5: スクリプトのアタッチ任意のゲームオブジェクト(例えば、Main Camera)を選択し、PauseController スクリプトをドラッグしてアタッチします。
PauseController コンポーネントの Pause Panel フィールドに、PausePanel オブジェクトをドラッグします。


ステップ 6: ボタンの設定PausePanel の子オブジェクトとして追加したボタンを選択し、それぞれの On Click() イベントに適切な関数を設定します。
Resume ボタン: PauseControllerResumeGame 関数
Return to Menu ボタン: PauseControllerReturnToMenu 関数
Quit ボタン: PauseControllerQuitGame 関数


まとめ

これで、エスケープキーを押すことでゲームをポーズ状態にし、ポーズメニューを表示できるようになりました。ポーズメニューのボタンから、ゲームを再開したり、メニューに戻ったり、ゲームを終了したりすることができます。

質問一回だけで、これを返してくれるの凄くない⁈    

これUnityを触った人なら分かると思うのですが、
マジで分かりやすいです。

どのオブジェクトを作成して、どんな名前にして、
どこにアタッチするのか書いてくれてます。


Canvasを右クリックし、UI > Panel を選択します。

しかも!こんな感じで、どういう風に操作すれば良いかも教えてくれてます。

まぁしかしUnityを使ったことのない人は、
何がそんなに分かりやすいんだ⁈

と疑問になってると思うので、
普通のチャットGPTにも同じ質問をしてみて、
比較してみます。

unityで2dでポーズ画面が作りたいです

Unityで2Dゲームにポーズ画面を追加するには、以下の手順に従って実装できます。

ステップ1: ポーズメニューのUIを作成Canvasの作成:
Hierarchyウィンドウで右クリックし、UI > Canvasを選択します。
Canvasの設定を確認し、適切なRender Modeが選択されていることを確認します(通常はScreen Space - Overlay)。
パネルの作成:
Canvasの子オブジェクトとして、右クリックし、UI > Panelを選択します。
パネルのサイズを画面全体に合わせ、背景色や透明度を設定します。ポーズメニューの背景として機能します。
ポーズメニューのUI要素の追加:
パネルの子オブジェクトとして、UI > TextUI > Buttonを追加して、ポーズメニューのテキストやボタンを作成します。
例えば、「Resume」ボタンや「Quit」ボタンを追加します。


ステップ2: ポーズ機能のスクリプト作成スクリプトの作成:
Projectウィンドウで右クリックし、Create > C# Scriptを選択して、新しいスクリプトを作成します(例: PauseMenu)。
スクリプトの編集:

パッと見同じだけど、結構違う。        
using UnityEngine;

public class PauseMenu : MonoBehaviour
{
    public GameObject pauseMenuUI;
    private bool isPaused = false;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (isPaused)
            {
                Resume();
            }
            else
            {
                Pause();
            }
        }
    }

    public void Resume()
    {
        pauseMenuUI.SetActive(false);
        Time.timeScale = 1f;
        isPaused = false;
    }

    public void Pause()
    {
        pauseMenuUI.SetActive(true);
        Time.timeScale = 0f;
        isPaused = true;
    }

    public void QuitGame()
    {
        // Unityエディターの場合はエディターを停止、ビルドされたゲームの場合はアプリを終了
#if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = false;
#else
        Application.Quit();
#endif
    }
}

スクリプトの適用:
作成したスクリプトをCanvasまたは適切なゲームオブジェクトにアタッチします。
InspectorウィンドウでPauseMenuスクリプトのPause Menu UIフィールドに、先ほど作成したパネルをドラッグアンドドロップします。
ボタンの設定:
「Resume」ボタンを選択し、InspectorウィンドウでOn Clickイベントを設定します。
Resume関数を呼び出すように設定します。
同様に、「Quit」ボタンにはQuitGame関数を設定します。


ステップ3: テストとデバッグゲームを実行:
Playボタンを押してゲームを開始し、Escapeキーを押してポーズメニューが表示されることを確認します。
「Resume」ボタンを押してゲームが再開されること、「Quit」ボタンを押してゲームが終了することを確認します。


この手順に従うことで、基本的なポーズメニューを実装することができます。ポーズメニューのデザインや追加機能は、必要に応じてカスタマイズしてください。

ちょっと文字が多すぎて分かりにくいので、一部を切り取ってデフォルトのチャットGPTと Unity講師で 比較してみます。

ステップ 4: スクリプトの作成Assets フォルダ内で右クリックし、Create > C# Script を選択して新しいスクリプトを作成します。スクリプトの名前を PauseController にします。スクリプトをダブルクリックして開き、以下のコードを追加します。

Unity講師バージョン          


ステップ2: ポーズ機能のスクリプト作成スクリプトの作成:Projectウィンドウで右クリックし、Create > C# Scriptを選択して、新しいスクリプトを作成します(例: PauseMenu)。スクリプトの編集:

デフォルトのチャットGPTバージョン      


両方ほとんど同じに見えるのですが、Unity講師バージョンでは、この部分が付け足されてます。

スクリプトの名前を PauseController にします。スクリプトをダブルクリックして開き、以下のコードを追加します。

Unityを始めたばかりのころは、スクリプトをダブルクリックで開けることなど、基本的な操作にまだ慣れていないので、このように省略せずに書いてくれると、とても分かりやすいです。


こんな感じで、デフォルトのチャットGPTは、基本的な操作は手順を省略したり、コードにコメントを書いてなかったりしてます。

まぁ普通のチャットGPTに
もっと詳しく書いて!
コメント書いて!

と言えばちゃんと書いてくれるのですが、毎回そんなふうに命令するのは面倒臭いです。

ですが今回使用した、Unity講師 だと、なんも言わなくても、ちゃんとコードを書いてくれました。
たった命令一つで色々察して書いてくれるので、とても便利です。

まぁこんな感じで、デフォルトのチャットGPTを色々な人がカスタマイズして、使いやすくしたり、あるtoolに特化させたりした物が無料で使えるようになりました!

皆さんもぜひ無料公開されたGPT Storeを利用して、
自分好みのチャットGPTを探して見ましょう!

好きなアニメのキャラ風に答えてくれるチャットGPTとかもあるかもね。

では今回はここまで!


オススメ記事。


この記事が気に入ったらサポートをしてみませんか?