图书目录

︱目 录︱

第1 章 AIGC 游戏编程与Unity 基础 / 1

1.1 游戏编程与AIGC 概述 / 1

1.1.1 游戏编程 / 1

1.1.2 AIGC 辅助编程 / 2

1.2 游戏开发环境和AI 辅助 / 4

1.2.1 开发环境 / 4

1.2.2 Qwen 大模型 / 5

1.3 使用Unity 的优势 / 7

1.3.1 关于Unity / 7

1.3.2 关于团结引擎 / 7

1.3.3 集成开发环境 / 9

1.3.4 支持多个平台 / 9

1.3.5 开放的社区 / 9

1.3.6 Asset Store / 9

1.4 运行Unity / 10

1.4.1 Unity 的安装与激活 / 10

1.4.2 创建并保存Unity 工程 / 15

1.4.3 打开Unity 工程 / 17

1.5 Unity 编辑器的结构 / 18

1.5.1 Scene 视窗 / 18

1.5.2 Game 视窗 / 20

1.5.3 Project 视窗 / 21

1.5.4 Hierarchy 视窗 / 22

1.5.5 Inspector 面板 / 23

1.5.6 Console 视窗 / 23

1.5.7 其他视窗工具 / 24

1.6 IDE 与AIGC 工具集成 / 26

1.7 实例:使用Unity 与AIGC 快速原型

   开发 / 32

思考与练习 / 36

第2 章 游戏引擎的基础功能 / 37

2.1 灯光 / 37

2.1.1 创建灯光 / 37

2.1.2 平行光 / 38

2.1.3 点光 / 39

2.1.4 聚光灯 / 40

2.1.5 区域光 / 40

2.2 游戏元素 / 41

2.2.1 创建3D Object / 41

2.2.2 创建空游戏对象 / 42

2.2.3 创建游戏预置体——Prefab / 43

2.2.4 创建2D Object / 44

2.3 纹理 / 44

2.4 材质 / 45

2.4.1 创建材质 / 46

2.4.2 材质着色器 / 47

2.4.3 渲染模式属性 / 47

2.4.4 反照率属性 / 47

2.4.5 金属属性 / 47

2.4.6 法线贴图 / 48

2.4.7 视差高度贴图 / 48

2.4.8 环境闭塞贴图 / 49

2.4.9 放射属性 / 50

2.4.10 细节遮罩和二次贴图 / 50

2.5 游戏地形 / 51

2.5.1 地形高度工具 / 51

2.5.2 添加地表附属物 / 52

2.5.3 地形设置 / 55

2.6 天空盒子 / 55

2.7 资源导入 / 55

2.7.1 3D 模型的导入 / 56

2.7.2 骨骼动画的导入 / 56

2.7.3 资源包的保存与导入 / 57

2.7.4 音频和视频资源导入 / 59

2.8 创建、保存和打开游戏场景 / 60

2.9 Camera 组件 / 61

2.10 实例:使用AIGC 辅助编程实现自由

   视角的3D 空间 / 63

思考与练习 / 67

第3 章 AIGC 增强的游戏交互与动画 / 68

3.1 游戏脚本与AIGC 优化 / 69

3.1.1 创建脚本 / 69

3.1.2 使用AIGC 辅助编程工具创建

   脚本 / 72

3.2 键盘事件 / 72

3.2.1 按下事件 / 72

3.2.2 抬起事件 / 73

3.2.3 长按事件 / 74

3.2.4 按任意键事件 / 75

3.3 鼠标事件 / 76

3.3.1 按下事件 / 76

3.3.2 抬起事件 / 77

3.3.3 长按事件 / 78

3.4 输入管理器 / 79

3.4.1 自定义输入控制 / 79

3.4.2 自定义按键输入 / 81

3.4.3 自定义轴输入 / 82

3.4.4 自定义操纵杆输入 / 84

3.5 Mecanim 动画系统 / 85

3.5.1 Legacy 动画系统 / 86

3.5.2 Generic 动画类型和状态机 / 88

3.5.3 Humanoid 动画类型 / 94

3.5.4 反向动力学 / 98

3.6 实例:AIGC 辅助制作逃出迷宫

   游戏 / 101

思考与练习 / 105

第4 章 物理世界模拟与AIGC 优化 / 107

4.1 组件 / 107

4.1.1 Unity 引擎的内建组件 / 108

4.1.2 自定义组件 / 109

4.1.3 添加和修改组件 / 110

4.1.4 动态获取游戏对象 / 112

4.2 Transform 组件 / 115

4.2.1 三维向量 / 115

4.2.2 使用Transform 组件改变游戏

    对象的位置 / 116

4.2.3 控制游戏对象的旋转 / 117

4.2.4 平滑跟随 / 119

4.2.5 Transform 组件的层级关系 / 121

4.3 刚体组件 / 122

4.3.1 使用刚体组件 / 122

4.3.2 物理管理器 / 126

4.4 碰撞组件 / 129

4.4.1 箱体碰撞体 / 130

4.4.2 球形碰撞体 / 131

4.4.3 胶囊碰撞体 / 131

4.4.4 网格碰撞体 / 132

4.4.5 车轮碰撞体 / 133

4.4.6 地形碰撞体 / 135

4.4.7 物理材质 / 135

4.5 碰撞检测 / 137

4.5.1 碰撞事件 / 137

4.5.2 触发器事件 / 140

4.5.3 应用Tag / 142

4.6 角色控制器组件 / 146

4.6.1 使用角色控制器控制移动

   和跳跃 / 147

4.6.2 角色控制器的碰撞检测 / 150

4.7 关节组件 / 152

4.7.1 铰链关节组件 / 153

4.7.2 固定关节组件 / 155

4.7.3 弹簧关节组件 / 156

4.7.4 角色关节组件 / 157

4.7.5 可配置关节组件 / 158

4.7.6 布娃娃系统 / 160

4.8 布料组件 / 163

4.9 恒力组件 / 169

4.10 实例:AIGC 生成物理小游戏 / 169

思考与练习 / 175

第5 章 AIGC 驱动的游戏界面设计 / 177

5.1 图片精灵——Sprite / 178

5.2 画布——Canvas / 178

5.2.1 Canvas 组件 / 178

5.2.2 画布缩放器组件 / 182

5.2.3 射线投射器组件 / 183

5.2.4 渲染顺序 / 183

5.2.5 矩形变换组件 / 184

5.3 内容显示UI 元素 / 188

5.3.1 Text 组件 / 188

5.3.2 Image 组件 / 191

5.3.3 Raw Image 组件 / 194

5.4 交互UI 元素 / 194

5.4.1 Button 组件 / 194

5.4.2 Scrollbar 组件 / 197

5.4.3 Scroll Rect 组件 / 198

5.4.4 Input Field 组件 / 199

5.4.5 Dropdown 组件 / 201

5.4.6 Toggle 组件 / 203

5.5 Event System 对象 / 205

5.6 UI Toolkit / 205

5.7 实例:AIGC 生成音乐播放器界面 / 208

思考与练习 / 208

第6 章 AIGC 与游戏数据持久化 / 210

6.1 PlayerPrefs 类 / 210

6.1.1 数据的存储和读取 / 211

6.1.2 检查和删除数据 / 213

6.2 保存JSON 到本地 / 215

6.2.1 JSON 的语法规则 / 215

6.2.2 JSON 的对象和数组 / 216

6.2.3 生成JSON / 216

6.2.4 解析JSON / 217

6.2.5 保存JSON 到本地 / 219

6.3 Application 类 / 223

6.3.1 数据路径 / 223

6.3.2 场景索引 / 223

6.3.3 异步加载 / 225

6.3.4 退出游戏 / 227

6.4 打包与发布 / 227

6.5 实例:AIGC 生成保存进度功能 / 228

思考与练习 / 232

第7 章 AIGC 与在线游戏开发 / 233

7.1 网络协议 / 233

7.2 网络游戏 / 234

7.3 服务器与客户端通信 / 234

7.3.1 创建TCP 本地服务端 / 235

7.3.2 TCP 客户端的连接和断开 / 238

7.4 实例:AIGC 生成聊天服务端 / 242

思考与练习 / 248

第8 章 游戏开发中的AIGC 解决方案 / 249

8.1 从手工编码到AI 增强的开发模式

   演进 / 249

8.1.1 通义灵码的核心AI 能力 / 250

8.1.2 通义灵码对Unity 系统架构的

    理解能力 / 250

8.2 代码风格统一与规范自动检查 / 251

8.2.1 代码风格统一的传统做法 / 252

8.2.2 借助通义灵码实现规范自动

    检查 / 253

8.3 代码重构自动化 / 255

8.3.1 优化设计模式与解耦 / 255

8.3.2 代码复用性与模块化 / 256

8.3.3 Unity 项目自动化重构的通用

    策略 / 257

8.4 Lingma IDE / 258

8.4.1 通义灵码编程智能体 / 258

8.4.2 记忆与MCP 服务 / 259

8.5 实例:使用通义灵码智能体生成

   Unity 完整项目 / 262

思考与练习 / 266

参考文献 / 268