CGBoxの一部の記事にはアフィリエイト広告が含まれております。
UnityとChatGPTをAPIで連携してみよう
こんにちは!一時期非常になった話題になったChatGPT、使っていますか?
実はUnityでの開発においてもChatGPTはとても便利に使えるんです。
本記事では、ChatGPTのUnityでの使い方から、APIを用いた連携方法まで解説していきます!
ChatGPTとは
ChatGPTとは、OpenAIによって開発されたチャットボットです。
2022年の11月にリリースされ、世界中で大きな話題となりました。
ChatGPTの最大の特徴は、会話形式であらゆる質問に回答してくれる点でしょう。
学習データとして無料版では2021年までのデータを使用しているため、最新の技術や情報については回答できないという点にさえ気を付ければ、非常に便利なサービスです。
Unityでのゲーム開発に役立つ使い方
ChatGPTはUnityでのゲーム開発においても非常に役立ちます。
ここでは、具体的にいくつか便利な使い方を紹介します。
ChatGPTを利用する前に、以下のリンクからアカウントを登録しておきましょう。
アカウントがある場合は「Log in」、ない場合は「Sign up」からアカウントを作成しておきましょう。
実装したい内容を伝えるとコードを生成してくれる
ページ最下部にあるテキストボックスからChatGPTに実装したい内容を伝えることで、実装コードを教えてくれます。
例えば、Unity上でキャラクターを矢印キーを使って移動させる方法が知りたいとします。
下のようにChatGPTに「スクリプトを書いて」と頼めば…
このように具体的な実装コードを生成してくれます。
Unityに戻り新たにPlayerMovementファイルを作り、右上にあるCopy codeからChatGPTが生成したスクリプトをコピー&ペーストで貼り付けましょう。
このファイルを適当なキャラクターにアタッチし実行すると確かに矢印キーで動くようになりました。
このように単純なプログラムであれば、自分で作るよりも時間を節約できるので、非常に効率よく開発を進めることができます。
エラーが出た時に修正箇所を教えてくれる
ChatGPTはエラーが出た時の修正箇所も教えてくれます。
先ほどのスクリプトの一部をあえて書き間違えし、ChatGPTに修正箇所を聞いてみましょう。
今回はVerticalのつづりの間違いと、文末のセミコロンを省いてみました。
このメッセージをChatGPTに送ると、以下のように修正点を2点提示してくれ、修正後のスクリプトまで教えてくれました。
基本的な構文を教えてくれる
Unityで開発をしていると「あの構文はどう書くんだったっけ」となることがよくあります。
そんなときグーグルで検索してもいいのですが、ChatGPTに聞くとより効率的です。
例えばRigidbodyコンポーネントを取得するコードが知りたいとしましょう。
ChatGPTに聞くとこのような答えを返してくれます。
RigidbodyはGetComponentメソッドを使って取得できること、さらに具体的な使い方までコード例で示してくれました。
このように質問が具体的で、よくありそうな質問の場合はほぼ確実に知りたい答えを返してくれる印象です。
APIを使う料金は?
ここまではChatGPTのサイトとUnityとを往復することで、ChatGPTを利用してきました。
このようにChatGPTとUnityを往復し開発に役立てる使い方であれば、無料で利用することができます。
しかしChatGPTのサイトを経由せずに、Unity内で完結させてChatGPTを使いたいのであれば、有料でAPIを利用することになります。
例えばゲーム内でAIキャラクターを実装し、会話を行いたい場合などはこのAPIが必要です。
ChatGPTのAPIの利用料金については以下のようになっています。
- 1,000トークンあたり0.002ドル。
- 英語より日本語の方がトークン使用料が多くなる。
- 英語は1単語=1トークンだが、日本語は1文字=1トークン。
- 5ドル分の無料枠でお試しができる。
- 商用利用が可能。
無料枠がついてはいますが、日本語で何度も利用しているとトークンがかさんでしまいます。
翻訳サイトなどを利用し、まずは英語でお試ししてみるのがオススメです。
UnityとChatGPTの連携方法
ここでは、ChatGPTのAPIを使ってUnityと連携させる方法を解説します。
APIを発行する
まずはChatGPTのAPIを発行しましょう。
OpenAIのAPIキー発行サイトを開きます。
上手く開かない場合は左のメニューからAPI keysを開きましょう。
+Create ne secret keyからAPIキーを発行できます。
クリックし、キーの名前をつけてからCreate secret keyを押しましょう。
するとAPIキーが表示されますのでコピーしておきましょう。
クラスを作成する
APIが発行できたら、UnityでChatGPTを利用する準備が整いました。
ここからは、どのような会話をするAIかを定義したクラスを作成する必要があります。
具体的なクラスの作成方法について、参考になるサイトを紹介します。
「冒険者ギルドの受付の人に挨拶をする」というテーマでAIを作成しているサイトです。
「猫耳美少女に魚料理を聞く」というテーマでAIを作成しているサイトです。
クラス内のAPIキー記入欄に、先ほど取得したAPIキーを記載することで利用することができます。
VOICEVOXで会話できるAIキャラクターを実装する
VOICEVOXとは
テキストの読み上げができる無料のソフトウェアです。
VOICEVOXを利用することで、音声による会話ができるAIキャラクターが実装できます。
実装方法
VOICEVOXで会話できるAIキャラクターを実装する手順は以下の通りです。
- UnityEngine.Windows.Speechで自分の声をテキストに変換する
- APIを利用してChatGPTにテキストを渡す
- ChatGPTからの返答をVOICEVOXで音声に変換する
具体的なスクリプト、実装方法については下の記事が参考になります。
ChatGPTのおすすめプラグイン
OpenAI ChatGPT
OpenAI ChatGPTは、Unity内でChatGPTを利用することを可能にするアセットです。
画像のようなテキストボックスに説明を入力することでスクリプトを生成することもできますし、変更点を説明すれば既存のスクリプトを編集することもできます。
Unityエディタ上で利用できることでサイトと往復する必要が無くなり、開発効率が上がる便利なアセットです。
Easy AI Chat Integration
Easy AI Chat Integrationは、ChatGPTを利用したAIキャラクターを導入する際に役立つ無料アセットです。
プレーヤーからのテキストの入力に応じて、AIキャラクターがどのように対応するかを定義することができます。
無料なので、ChatGPTの導入時にぜひ試してみたいアセットです。
まとめ
以上、UnityとChatGPTをAPIで連携する方法について解説してきました!
ChatGPTは開発の効率を上げたり、AIに会話させたりとUnityでの開発においても非常に便利ですのでぜひ導入したいですね!