Unityで簡単なゲームを作成!ChatGPTのAIを活用しよう!
プログラムをAIに任せてキャラクターを操作してみよう!
下記のような簡易的なものですが、プログラムをChatGPTに任せて、ゲーム制作の基本キャラクター操作ができるところまでを今回制作してみたいと思います。私もゲームをメインに業務をしているわけではないので、プログラムの知識はあまりありませんが、ChatGPTに書いてもらったプログラムが多少理解できるくらいです。プログラムがほとんど理解できない方でも、ChatGPTに書いてもらったプログラムの数値を変更するなどして、プログラムの知識を身に付けることができるかと思います。
まずは、Unityの下準備から
Unityのアセットストアなどで、お好みのキャラクターとステージを用意します。キャラクター素材はアニメーションもセットで販売されているものが多く、すぐにUnityで動かすことができて便利です。
ChatGPTにプログラムを書いてもらおう
chatGPTに以下のような指示をしてみると
「unityでC#使い、上矢印キーを押すとZ方向に前進させ、下方向キーを押したら前進の半分のスピードで後進させるプログラムを書いて」
プログラムを書いてくれます。プログラムの使用方法なども丁寧にコメントしてくれるので便利です。
では、こちらのプログラムをVScodeやVisual Studioのソフトでコピーペーストして保存しよう!
キャラクターに先ほどchatGPTで書いてもらったプログラムをプレイヤーのモデルにセットしよう。
上方向キーと下方向キーでプレイヤーが前進、後進するようになりました。
これだけでは、プレイヤーが地面を滑って移動しているので、操作に合わせてアニメーションするようにしましょう。
UnityのAnimtorでアニメーションをセッティングしよう
アセットストアなので購入した3Dのキャラクターに付属しているアニメーションデータをanimatorに配置し、アニメーションを繋いでいきます。今回の場合は、アイドル状態、前進、後進、ジャンプ、攻撃のアニメーションを繋いでいます。
次に、bool変数でwalk_f、walk_b、jump、attackの4つの変数を作ります。bool変数は「真(true)」か「偽(false)」の変数の方で、簡単に言うとスイッチのオンオフみたいなものです。
それぞれのアニメーションを切り替える変数の条件を割り当てていきます。
こちらでアニメーションのセッティングが出来ました。
プレイヤーにanimtorをセットするのを忘れずに!忘れたらアニメーション出来ないよ。
chatGPTでanimtorのBool変数を操作しよう
先ほどの設定したanimtorのbool変数をキーボードで操作するためのプログラムを書いてもらおう、に保護の文脈などはあまり気にしなくてもプログラムは大体いい感じで書いてもらえるよ!
chatGPTにお願いした指示
「先ほどのプログラムの追加で、animatorで上方向キーを押したらwalk_f boolがtrueになり、そうでなければfalseに、下方向キーを押したらwalk_b boolがtrueになり、スペースキーを押すとjump bool がtrueになり、Aキーを押したらattack boolがtrueにして」
GPTが書いてくれたプログラムです。
こちらのプログラムを先ほどのプログラムに上書きしてUnityで実行すると、上方向キーと下方向キー、スペースと、Aキーでキャラクターが動きました。
最後に、敵キャラも追加して、以下のような感じの指示をだすと
「Aキーを押したとき、もしPlayerタグとEnemyタグが接触していたら、Enemyタグのanimtor damage bool を1秒後 trueにして、」
以下のようなプログラムが生成されます。
プログラムを上書きしてUnityで実行するとAキーを押して敵キャラを倒すことが出来ました。
最後に。
今回は、ChatGPTを使用してプログラムを生成し、簡単なゲームキャラクターの操作を制作してみました。ChatGPTの指示によって生成されるプログラムは、さまざまな調整も可能です。ある程度Unityの操作に慣れている方でないと指示の出し方が難しいかもしれませんが、今回はAIに任せても基本的なことは可能という例をお見せしました。生成されたプログラムの内容をもとに数値を調整するなど、AIを活用したプログラムの勉強も可能です。
AIを利用することによって、今までWebや書籍を参考にすることに加え、AIも併せて学習するととても効率よく知識が身につくことを実感しました。日常業務でも、AIをうまく活用しながら新しい技術などを覚えていきたいと思っています。
制作のご依頼・ご相談はこちらから