《Unity 3D人工智能编程》——导读

简介: 本书旨在帮助你把各种人工智能技术应用到你的游戏中。我们将会讨论决策技术,比如有限状态机和行为树;也将探讨运动、避开障碍和群组行为;还将演示如何跟随一条路径,如何使用A*寻路算法来创建一条路径,以及如何使用导航网格到达目的地。

910a2bca7fbec22b6b939fa9bc0c2b648bec0463

前 言

本书旨在帮助你把各种人工智能技术应用到你的游戏中。我们将会讨论决策技术,比如有限状态机和行为树;也将探讨运动、避开障碍和群组行为;还将演示如何跟随一条路径,如何使用A*寻路算法来创建一条路径,以及如何使用导航网格到达目的地。作为额外收获,你将详细了解随机性和概率,并把这些概念应用到最后一个综合项目中。

本书内容

第1章讨论什么是人工智能,如何将其应用到游戏中,以及游戏中使用的各种实现人工智能的技术。
第2章讨论人工智能中需要用到的一种简化决策管理的方法。我们使用有限状态机来确定人工智能在特定状态下的行为,以及这种状态下人工智能如何转换为其他状态。
第3章讨论概率论的基础知识,以及如何改变特定输出的概率。然后学习如何给游戏增加随机性,让游戏中的人工智能更难以预测。
第4章介绍怎样让游戏角色在某些情况下能够感知他们周围的世界。当他们具有视觉和听觉时,游戏角色会知道敌人就在附近,他们还会知道何时发起攻击。
第5章讨论多个对象组队同时行进的情况。该章将探讨两种实现群组行为的方式,以及这两种方式是怎样使这些对象同时行进的。
第6章学习人工智能角色如何跟随一条给定的路径到达目的地。我们将了解人工智能角色如何在不知道路径的情况下找到目标,以及如何使其移向目标的同时避开障碍。
第7章讨论一个流行的算法,即寻找从指定位置到目标位置的最优路径。有了A*算法,我们可以扫描地形并找到到达目标的最优路径。
第8章讨论如何利用Unity的能力使寻路更易于实现。通过创建一个导航网格(需要使用Unity Pro版),我们能够更好地表示周围的场景,然后就能使用图块和A*算法。
第9章讲解从有限状态机扩展而来的行为树,即使在最为复杂的游戏中我们也可以使用它。我们将使用免费插件Behave来帮助在Unity中创建并管理行为树。
第10章把我们在本书中所学的各种原理整合在最后一个项目中。在这里你能够应用所学的人工智能原理,设计出一个令人难忘的车辆战斗游戏。

目 录

前 言
第1章 人工智能导论
1.1 人工智能
1.2 游戏中的人工智能
1.3 人工智能技术
1.3.1 有限状态机
1.3.2 人工智能中的随机性和概率
1.3.3 感应器系统
1.3.4 群组、蜂拥和羊群效应
1.3.5 路径跟随和引导
1.3.6 A*寻路算法
1.3.7 导航网格
1.3.8 行为树
1.3.9 运动
1.3.10 Dijkstra算法
1.4 本章小结

第2章 有限状态机
2.1 玩家的坦克
2.1.1  PlayerTankController类
2.1.2 初始化
2.2 子弹类
2.3 设置航点
2.4 抽象有限状态机类
2.5 敌方坦克的人工智能
2.5.1 巡逻状态
2.5.2 追逐状态
2.5.3 攻击状态
2.5.4 死亡状态
2.6 使用有限状态机框架
2.6.1 AdvanceFSM类
2.6.2 FSMState类
2.6.3 状态类
2.6.4 NPCTankController 类
2.7 本章小结

第3章 随机性和概率
3.1 随机性
3.2 概率的定义
3.2.1 独立与关联事件
3.2.2 条件概率
3.3 人物个性
3.4 有限状态机和概率
3.5 动态人工智能
3.6 示例老虎机
3.6.1  随机老虎机
3.6.2 加权概率
3.7 本章小结
第4章 感应器的实现
4.1 基本的感觉系统
4.2 场景设置
4.3 玩家的坦克与切面
4.3.1 玩家的坦克
4.3.2 切面
4.4 人工智能角色
4.4.1 感观
4.4.2 视觉
4.4.3 触觉
4.5 测试
4.6 本章小结
第5章 群组行为
5.1 岛屿示例中的群组行为
5.1.1 个体的行为
5.1.2 控制器
5.2 替代实现
5.3 本章小结
第6章 路径跟随和引导行为
6.1 跟随一条路径
6.1.1 路径脚本
6.1.2 路径跟随
6.2 避开障碍物
6.2.1 添加定制图层
6.2.2 避开障碍
6.3 本章小结
第7章 A*寻路算法
7.1 回顾A*寻路算法
7.2 实现
7.2.1 Node
7.2.2 PriorityQueue
7.2.3 GridManager
7.2.4 AStar
7.2.5 TestCode类
7.3 场景设置
7.4 测试
7.5 本章小结
第8章 导航网格
8.1 简介
8.2 设置地图
8.2.1 Navigation Static
8.2.2 烘焙导航网格
8.2.3 导航网格代理
8.3 有斜坡的场景
8.4 NavMeshLayers
8.5 分离网格链接
8.5.1 生成分离网格链接
8.5.2 手动生成分离网格链接
8.6 本章小结
第9章 行为树
9.1 Behave插件
9.2 工作流
9.3 行为节点
9.4 与脚本的接口
9.5 装饰节点
9.6 Behave调试器
9.7 顺序节点
9.8 探索Behave的结果
9.9 选择节点
9.10 优先级选择节点
9.11 并行节点
9.12 引用
9.13 机器人与外星人项目
9.14 本章小结
第10章 融会贯通
10.1 场景设置
10.2 车辆
10.2.1 玩家控制的车辆
10.2.2 人工智能车辆控制器
10.2.3 有限状态机
10.3 武器
10.3.1 枪
10.3.2 子弹
10.3.3 发射器
10.3.4 导弹
10.4 本章小结

相关文章
|
28天前
|
人工智能 IDE 测试技术
利用AI技术提升编程效率
【10月更文挑战第6天】本文将探讨如何通过人工智能(AI)技术提升编程效率。我们将介绍一些实用的工具和策略,如代码补全、错误检测和自动化测试,以及如何将这些工具整合到你的日常工作流程中。无论你是初学者还是经验丰富的开发者,都可以从这些技巧中受益。让我们一起探索如何利用AI技术来简化编程过程,提高生产力吧!
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
构建智能化编程环境:AI 与代码编辑器的融合
在人工智能的推动下,未来的代码编辑器将转变为智能化编程环境,具备智能代码补全、自动化错误检测与修复、个性化学习支持及自动化代码审查等功能。本文探讨了其核心功能、技术实现(包括机器学习、自然语言处理、深度学习及知识图谱)及应用场景,如辅助新手开发者、提升高级开发者效率和优化团队协作。随着AI技术进步,智能化编程环境将成为软件开发的重要趋势,变革开发者工作方式,提升效率,降低编程门槛,并推动行业创新。
|
27天前
|
人工智能 JSON Java
【极速入门版】编程小白也能轻松上手Comate AI编程插件
【极速入门版】编程小白也能轻松上手Comate AI编程插件
28 0
|
28天前
|
人工智能 IDE Java
AI 代码工具大揭秘:提高编程效率的必备神器!
【10月更文挑战第1天】近年来,人工智能得到了迅猛的发展,并在各行各业都得到了广泛应用。尤其是近两年来,AI开发工具逐渐成为开发者们的新宠,其中 GitHub Copilot 更是引发了无限可能性的探索。
88 9
AI 代码工具大揭秘:提高编程效率的必备神器!
|
7天前
|
人工智能
新活动 热门 AI 编程 PlayGround 编程大玩家等你来
新活动 热门 AI 编程 PlayGround 编程大玩家等你来
31 4
|
1月前
|
Python 机器学习/深度学习 人工智能
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
【10月更文挑战第1天】本文通过构建一个简单的强化学习环境,演示了如何创建和训练智能体以完成特定任务。我们使用Python、OpenAI Gym和PyTorch搭建了一个基础的智能体,使其学会在CartPole-v1环境中保持杆子不倒。文中详细介绍了环境设置、神经网络构建及训练过程。此实战案例有助于理解智能体的工作原理及基本训练方法,为更复杂应用奠定基础。首先需安装必要库: ```bash pip install gym torch ``` 接着定义环境并与之交互,实现智能体的训练。通过多个回合的试错学习,智能体逐步优化其策略。这一过程虽从基础做起,但为后续研究提供了良好起点。
98 4
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
|
15天前
|
人工智能 搜索推荐 测试技术
AI 辅助编程的效果衡量
本文主要介绍了如何度量研发效能,以及 AI 辅助编程是如何影响效能的,进而阐述如何衡量 AI 辅助编程带来的收益。
|
13天前
|
机器学习/深度学习 人工智能 算法
人工智能浪潮中的编程教育革新
【10月更文挑战第21天】在人工智能飞速发展的今天,编程教育正面临着前所未有的变革。本文通过探讨AI技术对编程教育的深远影响,以及如何利用这些技术优化教学过程,旨在启发读者思考教育的未来方向。我们将一起探索从基础语法学习到复杂算法应用的转变,并讨论如何培养适应未来社会的创新人才。
|
20天前
|
人工智能 Python
AI师傅和通义灵码合作助力你学编程
湖北的一位股民通过AI学习了使用通义灵码制作股票浮动止盈点计算器,大幅提升了效率。通过描述需求、编写代码、解释代码和纠错等步骤,实现了从获取股票最高价到计算止盈价的全过程,简化了操作流程,提高了投资决策的准确性。
|
19天前
|
人工智能 运维 自然语言处理
通义灵码:体验AI编程新技能-@workspace 和 @terminal为你的编程插上一双翅膀
本文介绍了通义灵码个人版中的@workspace和@terminal功能,帮助运维工程师快速理解项目结构、实现需求和执行指令。@workspace通过RAG技术深度感知代码库,支持快速上手新项目和协助实现新需求;@terminal则提供智能指令生成和解释,提升开发效率。
123 5