シリーズ: Unity 初心者が Cursor の AI エージェントと3DアクションRPGを作る
- 第0回: ゲームプログラムが書けない私が、生成AIでゲームを作り始めた ― Phaser で2Dを1本、次は Unity × Cursor で3Dへ https://qiita.com/yasuharusmooth/items/8e8bd09d7f111fffbe40
- 第0.5回: 作りたい3DアクションRPGを、AIで作ったイメージボード3枚で紹介します ― いまできていること/これから作ること https://qiita.com/yasuharusmooth/items/aa0a8e2de2dae070e180
- 第1回: Unity 初めてで、AI に使い方を教わったのは最初の2回だけ。あとはエディタ作業ごと任せた話(この記事)
- 第2回: インスペクターの参照設定を人がやる意味はなかった ― Cursor × Unity MCP でエディタ設定まで AI に任せる https://qiita.com/yasuharusmooth/private/d9357e3d4d59d3dd286a
- 第3回: AI エージェントを増やしたら数字の確認ばかりに ― 「判断だけ聞いて、数字は仮で入れて」にした話 https://qiita.com/yasuharusmooth/private/8ba5ce8473f161502950
- 番外編: ゲームのプログラムが書けなくても、主人公の3Dモデルは用意できた:Gemini → Meshy → Mixamo → Unity の流れ https://qiita.com/yasuharusmooth/private/35806e8a2ec0c0c94093
Unity を触るのは初めてでした。なので最初は、AI に使い方を教えてもらいながら始めました。ただ、最初の2回くらいの作業で大体わかったので、そこからは自分の作業をすっ飛ばして、エージェントに自分でやらせています。
この記事で分かること
- Unity 初心者が、AI に操作を教わるときのルールの書き方
- 「自分で手を動かす」から「エージェントに任せる」へ切り替えたときの分担
- それでも人に残したこと
結論(3行)
- 最初は操作の意味を教える AI(unity-coach)に聞きながら、カプセルにオブジェクトを追加する作業を自分でやりました。
- 2回くらいで大体わかったので、決まった仕様の配置や設定はエージェントに渡しました。
- 自分に残したのは、手触りと見た目の判断、素材の入手、実機での入力確認、Play での受け入れです。
はじめに
Unity 6(URP)で3DアクションRPGを個人開発しています。主人公が弓・短刀・杖の3つの戦い方を即時に切り替えて戦い、前町 → ダンジョン → 後町(精算)の流れで進むゲームを目指して制作中です。
ゲームのプログラムは自分では書けず、Unity エディタも初めてでした。開発には Cursor の Agent(AI がファイルを読み書きしながら作業するモード)を使い、役割ごとにサブエージェント(本チャットから呼び出す別の AI)を分けています。
- unity-coach: エディタ操作の意味を説明する、教える係
- programmer: C# を書き、Unity 上に配置する、作る係
- ほかに設計係(architect)と記録係(reviewer)
教える係(unity-coach)のルール
教わる側が初心者なので、説明の仕方をルールファイル(.cursor/rules/ に置く AI 向けの規約)に書きました。
ペルソナ: エディタ操作の意味を説明する指導役。専門用語は最初の出現で、画面上の名前と一緒に説明する。C# の本体、決まった配置の作成、仕様の採用はしない。次のロールは呼ばない。
(中略)
2. メニューは日本語 UI を先に書き、英語 UI を括弧で併記する。例: ヒエラルキー(Hierarchy)。
3. 各手順は「どの窓の、どの行を、何という値にするか」まで書く。まとめて「適切に設定」と書かない。
Hierarchy(シーン内の物の一覧)や Inspector(選んだ物の設定画面)の名前を、画面で探せる形で説明してもらうためです。unity-coach は読み取り専用で、自分では配置しません。
最初の2回くらいは、カプセルにオブジェクトを追加する作業
最初の2回くらいの作業は、カプセル(Unity にもともとある基本図形)にオブジェクトを追加する作業でした。
当時の記録でも、最初の段階(フェーズ0)の目標は「仮の人型が、専用シーンで歩き、ダッシュし、回避する」で、仮の形はカプセルで足りる、と教える係のルールにも書いてあります。動きを試すための勉強用スクリプトと本編は、別のシーンに分けました(ADR-0005)。ADR は、設計の判断を1件ずつ残すメモです。
ここで Hierarchy・Inspector・Prefab(使い回せる部品)・参照の割り当てが何かが、大体わかりました。
自分の作業を飛ばして、エージェントにやらせる
分かった時点で、作業分担の ADR をその日のうちに書き換えています。
- 背景: (前略)当初は Unity エディタが初めてだったため、配置と参照割当をユーザーが踏む方針だった。Hierarchy、Inspector、Prefab、Tag、Layer、参照割当が何かを理解したので、決まった仕様の作成はエージェントへ移す。
(中略)
- 捨てた案: 配置も参照もすべてユーザーがクリックする(改訂前)。シーンファイルをテキストとして直接編集する。ユーザーがスクリプトを書き、エージェントは方針だけ出す。
書き換えたあとの分担はこうです。
全部を一度に渡したわけではなく、動作確認のための装備の付け替えを自分でした記録もあります(ADR-0033)。見た目も、最初のカプセルから Mixamo の人型に替えました(ADR-0030)。
それでも人に残したこと
ADR-0004 には、人がやること・確かめることも書いてあります。
ユーザーが行うか確認するのは、手触りと見た目を採用するか、外部素材の入手、実機の入力、エージェントの配置を Play で見て受け入れるか、である。クリック手順は、ユーザーが操作の意味を聞いたときだけ書く。
Play は、エディタ上でゲームを動かして確かめることです。気持ちよさや手元のパッドの感触は、自分にしか判定できません。それ以外の決まった作業は、エージェントに任せています。
まとめ
- Unity 初めてでも、操作の意味を教える係をルールで作り、最初の2回くらいは自分で手を動かして覚えました。
- 分かった時点で、配置や設定はエージェントへ渡し、人は Play で判断する側に回りました。
- 次回は、エディタ上の設定(特にインスペクターでの参照の指定)をどう任せたかです。→ https://qiita.com/yasuharusmooth/private/d9357e3d4d59d3dd286a
アセットクレジット
このプロジェクトでは、Meshy の3Dモデル、Mixamo(Adobe)のリギングと一部のモーション、Unity Asset Store の複数の有料アセットを使用しています。
前作・SNS
- 前作の2Dゲーム「Princess Vanguard」(ブラウザで遊べます)
- 開発中の3Dアクション(YouTube): https://youtu.be/SGDOwYSBr2s
- X: https://x.com/PuddingAthlete