# 3D Game Development with AI：課程設計

## 課程定位

以「AI 加速、人工驗證、Unity 落地」為核心，讓學員由概念開始，完成一個可遊玩的 3D vertical slice。課程不把 AI 當成一鍵出成品，而是訓練學員建立可重複、可審核、可整合的 asset pipeline。

## 建議形式

- 12 週，每週 3 小時：1 小時概念、1.5 小時實作、0.5 小時 review
- 每組 2–4 人
- 最終作品：5–10 分鐘可遊玩的 Unity 3D vertical slice
- 建議題材：小型 sci-fi 探索、第三人稱收集、地牢解謎或環境敘事

## 學習成果

完成後學員可以：

1. 將遊戲概念拆成可生成、可驗證、可匯入的 asset brief。
2. 使用 AI 產生 2D concept、UI、環境圖、角色參考和宣傳圖。
3. 使用 Meshy / Tripo 等工具產生、修整及匯出 3D asset。
4. 在 Blender 做 topology、尺度、UV、材質、LOD、pivot 和碰撞清理。
5. 用 Mixamo 或其他動畫流程處理 rigging、retargeting 和基本 locomotion。
6. 在 Unity 6 專案中建立場景、材質、光照、動畫、物理、NavMesh 和 UI。
7. 用 ElevenLabs 等工具生成 SFX / ambience，並以 Unity AudioSource、Mixer、事件系統整合。
8. 用 Unity Inference Engine（原 Sentis）把 ONNX 模型部署到 runtime；理解 CPU/GPU、延遲和裝置限制。
9. 以 Git LFS、命名規範、asset manifest、授權紀錄和版本化 prompt 管理 AI 產物。
10. 進行效能、可玩性、版權、資料來源和生成內容品質檢查。

## 課程模組

### M01｜AI 遊戲製作全景與專案規格

- 生成式 AI 在 concept、asset、audio、code、testing 的角色
- Human-in-the-loop、可重現性、prompt / seed / model version 記錄
- 建立 Game Bible、Style Bible、Asset Manifest
- 實作：每組完成一頁 game pitch 和資產清單

### M02｜2D 概念、圖像與視覺語言

- text-to-image、image-to-image、inpainting、reference image
- concept sheet、character turnaround、environment mood board、UI wireframe
- 角色一致性、構圖控制、負面條件、後製與去除 artefact
- 工具比較：ChatGPT / OpenAI image workflow、Adobe Firefly、Midjourney、Stable Diffusion / FLUX、Scenario
- 實作：產生一套可供 3D 建模使用的 concept package

### M03｜AI 3D 模型生成

- text-to-3D、image-to-3D、multi-view、texturing、remesh、low-poly
- Meshy：圖片／文字轉 3D、PBR 貼圖、角色自動綁骨、600+ 動作庫、FBX / GLB / OBJ / USDZ
- Tripo：文字、圖片、草圖到 production-ready asset 的工作流
- 何時用 AI 生成、何時用 kitbash、何時由 Blender 手工建模
- 實作：生成一個 prop、一個可動畫角色、一個 modular environment piece

### M04｜Blender 清理與遊戲化資產

- scale、pivot、法線、拓撲、UV、材質槽、PBR map
- poly budget、LOD、簡化碰撞體、lightmap UV
- GLB / FBX / OBJ 匯出差異與 Unity import 設定
- 生成模型常見問題：浮面、非流形、穿插、貼圖接縫、比例錯誤
- 實作：將 AI asset 清理至可放入 Unity 的標準

### M05｜角色、Rigging 與動畫

- Mixamo 自動綁定、人形骨架、motion capture 動畫、FBX 匯出
- Unity Animator Controller、Blend Tree、root motion、animation event
- AI 動畫的接縫、腳滑、碰撞和 gameplay readability
- 實作：idle / walk / run / attack 四狀態角色控制器

### M06｜Unity 6 基礎整合

- Unity 6 專案結構、URP、Package Manager、Prefab、Scene、ScriptableObject
- import AI asset、材質、光照、後處理、camera、input、physics
- Addressables、Git LFS、命名與資料夾規範
- 實作：建立第一個可行走的 3D sandbox

### M07｜世界、導航與 NPC

- Unity AI Navigation：NavMesh、Agent、Obstacle、Link、runtime dynamic obstacle
- waypoint、感知、狀態機、簡單 utility AI
- 使用 LLM 輔助寫 C#，但以測試、profiling 和 code review 驗證
- 實作：NPC 巡邏、追蹤、避障和互動

### M08｜AI 圖像到遊戲 UI / VFX

- UI icon、card、map、loading screen、quest marker、sprite sheet
- Shader Graph、VFX Graph、粒子材質與生成圖像的切圖流程
- 一致性：限制色板、比例、邊框、透明背景和命名
- 實作：完成 HUD、互動提示與一套遊戲 icon

### M09｜AI 聲效、音樂與互動音訊

- ElevenLabs Sound Effects：text-to-SFX、四個樣本快速生成、環境聲、foley、UI、戰鬥聲
- 音效 prompt 的距離、材質、動態、尾音、循環和乾濕聲描述
- Unity AudioSource、AudioMixer、snapshot、spatial blend、優先級與壓縮
- 實作：腳步、開門、受擊、魔法、環境 loop、UI click；做出一個 audio event system

### M10｜Runtime AI：Unity Inference Engine

- Unity 文件已將 Sentis 改名為 Inference Engine；以 ONNX 匯入及 runtime inference 為主
- CPU / GPU backend、tensor、worker、模型大小、延遲和記憶體
- 遊戲應用：分類、姿態、視線、語音意圖、NPC 感知；避免把 cloud API 放入 frame-critical loop
- 實作：在 Unity 中部署一個小型 ONNX 分類模型並顯示結果

### M11｜生成式工具鏈、品質與法律

- Scenario：custom model、LoRA、跨 image / video / audio / 3D workflow、API / MCP / agent 概念
- 生成資產的來源、訓練資料、商用權、品牌／角色相似風險
- 開源模型 license、服務條款、第三方素材、voice likeness、音效使用限制
- QA checklist：visual、technical、performance、license、reproducibility
- 實作：完成 asset manifest、license log、prompt log 和 provenance note

### M12｜整合、優化與展示

- profiling：CPU、GPU、batches、memory、draw calls、audio voices、loading
- mobile / low-end fallback、LOD、texture compression、Addressables
- build pipeline、bug bash、playtest、展示敘事
- Final：交付 playable build、source repo、asset manifest、AI usage report、3 分鐘 demo video

## 最終評分

| 項目 | 比例 | 核心要求 |
|---|---:|---|
| 可玩性 | 25% | 核心 loop 清晰，能完成一段體驗 |
| 3D 資產品質 | 20% | 比例、拓撲、材質、動畫及效能合理 |
| Unity 整合 | 20% | 場景、互動、導航、UI、音訊完整 |
| AI 工作流 | 15% | prompt、版本、選擇與人工修整有紀錄 |
| 工程品質 | 10% | 結構、可重現 build、Git LFS、文件 |
| 版權與責任使用 | 10% | provenance、license、風險說明完整 |

## 課堂固定交付物

- `docs/GameBible.md`
- `docs/StyleBible.md`
- `docs/AssetManifest.csv`
- `docs/PromptLog.md`
- `docs/LicenseLog.md`
- `Assets/Art/Generated/`
- `Assets/Audio/Generated/`
- `Assets/Models/Generated/`
- `Assets/Scenes/`
- `Builds/`
