Unity開発における Generative AI 活用フロー資料


1. サンプルコードの読み込み・動作確認

  • 従来ワークフロー
    • Unity マニュアル、Asset Store、GitHub のサンプルを手動で探してダウンロード
    • プロジェクトに組み込み、手動でエラー修正
  • AI 活用例
    1. ChatGPT に「Unity 6 での 2D タイルマップ生成サンプルを書いて」とプロンプト
    2. 生成された C# スクリプトを貼り付けて実行
    3. エラー時は「このエラーを直して」と再プロンプト
  • メリット
    • サンプル探し→組み込み→動作確認が1サイクルで完結

2. ユースケースの洗い出し・要件定義

  1. ユースケース例
    • 3D キャラクター移動&衝突判定
    • DOTween でのアイテム取得アニメーション
    • UI インベントリ開閉
  2. AI プロンプト例「①キャラ移動、②アイテム取得アニメーション、③インベントリ開閉 のユースケースに必要な機能要件と非機能要件を書き出してください」
  3. 想定出力
    • 機能要件:CharacterController/Rigidbody/ScriptableObject
    • 非機能要件:60 FPS 維持、モバイル対応

3. アーキテクチャ図・画面遷移図

  • Mermaid 記法例
graph TD
  GameManager --> Scene1[Title Scene]
  GameManager --> Scene2[Main Scene]
  Scene2 --> UI[Inventory UI]
  • AI 補助
    • 「メインシーン→インベントリUI→設定画面 の遷移図を Mermeid で生成して」

4. データモデル設計

  • Unity 固有パターン
    • ScriptableObject でアイテム定義
    • JSON フォーマットでセーブ/ロード
  • AI プロンプト例「ScriptableObject を使ったアイテム管理の UML クラス図を示してください」

5. 実装計画・タスク分割

  1. PlayerMovement スクリプト作成
  2. DOTween アニメーション実装
  3. インベントリ UI 実装・開閉ロジック
  • AI 補助
    • 各タスクごとに「サンプルコードを出してください」と依頼
    • NUnit + UnityTest のテストコードまで自動生成

6. テストコード生成

  • Unity Test Framework (EditMode/PlayMode)
[UnityTest]
public IEnumerator PlayerMovesCorrectly() {
  // Arrange
  var go = new GameObject().AddComponent<PlayerMovement>();
  // Act
  go.Move(Vector3.forward);
  yield return null;
  // Assert
  Assert.AreEqual(Vector3.forward, go.transform.position);
}
  • AI 活用メリット
    • テスト雛形を即時生成
    • コードレビュー用サンプルも自動作成

7. ドキュメント整備・ナレッジ共有

  • RAG(Retrieval-Augmented Generation)
    • 自前の Unity マニュアル抜粋をベクトル検索
    • 「Rigidbody vs CharacterController の違いは?」と質問すると事例つきで回答
  • Function Calling
    • Unity Scripting API ドキュメントへ自動アクセス

8. ビルド/デプロイパイプライン

  • Unity Cloud Build + GitHub Actions
  • AI 補助例
    • CI/CD YAML 雛形を「GitHub Actions 用に生成して」と依頼
    • リリースノートやデプロイ手順書も自動作成

まとめ

このフローを通じて、従来の「探す → 書く → 動かす」が「Prompt → 生成 → 実行」の一連サイクルへと変わり、Unity 開発効率を大幅に向上させることができます。

AI,AI,Unity,生成AI

Posted by hidepon