ChatGPTとUnityを連携するには?AIキャラクターの作り方を解説!

ChatGPTはアプリケーションと連携する目的でAPIキーを発行しています。そして、Unityと連携をすれば、キャラクターの性格を踏まえた会話や感情表現などができるため、よりリアルなキャラクター制作が可能です。そこで、今回はChatGPTとUnityを連携させることでできること、具体的な手順、AI搭載のキャラクターを作成する方法について解説します。

ChatGPT APIを使ってとUnityと連携しよう

ChatGPTとは、米国のOpenAIが開発した対話型AIです。自然言語処理に基づくコンピュータープログラムであり、言語モデル『GPT(Generative Pre-trained Transformer)』が採用されています。日本では、約100万人以上が利用しているとされており、今話題のAIチャットボットです。

ChatGPTは、Webサイトから使用することができますが、API(プログラム同士をつなぐインターフェース)キーを発行しているため、ほかのアプリケーションと連携させることができます。そして、今回のテーマであるUnityと組み合わせることで効率的によりリアルなキャラクター作成が可能です。

Unityは、3DゲームやVR、ARのアプリケーション開発に用いられるプラットフォームです。C#やJavaScriptなどのプログラミング言語で構築することができ、C++を使用した開発に比べて3Dゲーム構築ハードルが抑えられています。シンプルな操作性や拡張性の高さが主な特徴です。Unityに関する詳しい解説は『Unity入門!チュートリアルで学ぶ2Dアクションゲームの作り方』を参照してください。

ChatGPTのAPIは、OpenAI社によって2023年3月に公開されました。APIとは、ほかのアプリケーションと連携するために開発元が提供するプログラム及びシステムのことです。

例えば、APIがあることで、Twitterのトレンド情報を取得したり、特定のユーザーのフォロワーなどをプログラムで取得したりして、自身のアプリケーションに活用することができます。わかりやすく表現すると外部サービスの機能を共有できるインターフェースです。APIに関する詳しい解説は、『Web開発に役立つAPI連携とは?利用するメリットや実装手順を紹介』を参照してください。

そして、ChatGPTのAPIを取得し、Unityと連携させればUnityで開発するプログラムの中でChatGPTの機能を使用することができます。AIキャラクターを作成する場合、非常に効率的になるため開発者にとって大きなメリットです。

ChatGPTやUnityについて動画で体系的に学びたい方は、ぜひUdemyの講座を下記のリンクから 探してみてください。

\文字より動画で学びたいあなたへ/

Udemyで講座を探す >

ChatGPTとUnityを組み合わせてできること

ChatGPTとUnityを組み合わせることでできることは、大まかにわけて2つです。具体的にできることを詳しく解説します。

キャラクターの性格に合わせた話し方を実現できる

1つ目は、キャラクターの性格に合わせた話し方ができる点です。

ChatGPTは、事前に語尾や性格などの前提条件を指定すると、それに合わせて応答してもらうことができます。また、キャラクターとの会話を保存することもできます。これにより、文脈を汲み取ったリアルな会話を実現することも可能です。

会話に合わせてキャラクターの表情を変えられる

2つ目は、会話の内容に合わせてキャラクターの表情を変化させられることです。

あらかじめChatGPTに感情を数値化するように指示を出します。例えば、感情パラメーターを喜怒哀楽の4つの種類に設定し、それを数値で表すように指示を送ります。喜びの数値が大きい場合、キャラクターの表情を笑顔にしたり、怒りの数値が高いなら怒った表情に変化させたりすることが可能です。また、出力形式を指定することもできるため、Unityでも扱いやすいJSON形式で出力させることもできます。

ChatGPTとUnityの連携手順

ChatGPTとUnityを連携させるためには、まずChatGPT側でAPIキーを取得する必要があります。その後に、クラスを定義するという流れです。それぞれの連携手順を詳しく解説しますので、UnityにChatGPTを組み合わせて使用したいという方は、ぜひ参考にしてください。

API Keyの発行

はじめに、API Keyを発行する必要があります。具体的な手順は下記の通りです。

1.まずは「サイト」にアクセスします。

2.すでにアカウントを作成しているという方は『Log in』、これからアカウントを作成する人は『Sign up』をクリックしてください。

ログイン画面

3.ログインすることができたら、『+Create new secret key』をクリックします。

API発行画面

4.新しいシークレットキー作成のポップアップが表示されるため、シークレットの名前を入力してください。

新しいシークレットキー作成画面

5.『Create scret key』のボタンをクリックするとAPIキーが表示されるので、コピーするようにしてください。また、このAPIキーは今後二度と表示されませんので、必ずコピーするようにしましょう。

6.実際に、APIキーを作成することができました。

APIキー発行画面

7.APIは利用料に応じて課金されます。そのため、使いすぎると大きな金額になるので、あらかじめ『Usage limits』を設定し、上限額の設定を行ってください。

APIの利用上限の設定

クラスを定義する

ChatGPTとUnityを連携させるためには、APIとやり取りするクラスとモデルを定義するクラスの2つを用意します。しかし、今回はよりわかりやすく表現するため、クラスをひとつのファイルにまとめさせていただきました。

今回は、キャラクターを学校の先生として設定しています。Unityで実行するとChatGPTから返答が得られているのがわかります。

Unity画面でのChatGPT返答画面

UnityでAI搭載のキャラクターを作成する方法

UnityでAI搭載のキャラクターを作成する方法をご紹介します。

感情・性格を設定する

感情を設定するときは、ChatGPTに対してJSON形式でエモーションの設定を渡します。

次に、Emotionクラスを別途用意します。

ChatGPTからJSONデータを取得したら分岐を行いそれぞれの喜怒哀楽で適切なメソッドを実行します。

性格を設定するときは、下記のコードのcontent内に事前に伝えておきます。『あなたは優しい性格です。』などと入力することで、性格を事前に決めることが可能です。

また、roleは役割のことで、system・user・assistantに3種類から選択可能です。userはユーザーからの発話、assistantはユーザーの発話に対するAIの返答を意味します。

声を設定する

AIキャラクターの声は、VOICEVOXという無料読み上げソフトを使用するのがおすすめです。VOICEVOXには、事前にさまざまなキャラクターが準備されているため、お好みのものを選択することができます。

VOICEVOXをインストールして立ち上げるとAPIサーバーが利用できるようになります。HTTP経由で声を取得することが可能です。

口パクを設定する

キャラクターの口パクを設定するためには、OVRLipSyncを利用します。

また、AudioSourceを指定することで、マイクの音声等がなくても口パクをすることが可能です。しかし、OVRLipSyncを利用する場合は、VOICEVOXを利用するのが前提になります。

 

今回は、ChatGPT APIを使用してUnityと連携し、AIキャラクターの作成方法について解説しました。ChatGPTのAPIを利用することで、AIキャラクター開発の負担を大幅に減らすことができます。また、APIは無料期間があるため、はじめは無償で誰でも利用することが可能です。ぜひこの機会にChatGPTとUnityを連携させて自身のAIキャラクターを作成してみてください。