这个官方机器人通常被称为 “InfinityEngine”机器人 或 “ML-Agents” 示例机器人。
下面我为你详细介绍一下它。
这个机器人是什么?
它是一个高质量的、完全可定制的3D机器人模型,并且附带了一整套完整的AI行为示例,它不仅仅是静态的模型,更是一个可以学习、移动、与环境交互的智能体。
它的主要目的是作为 Unity ML-Agents (Machine Learning Agents) 框架的“代言人”和教学工具,通过这个机器人,开发者可以直观地理解和实践强化学习等AI技术。
如何获取这个机器人?
获取这个机器人非常简单,它直接包含在Unity编辑器中,但需要通过一个专门的示例项目来访问。
步骤如下:
- 打开 Unity Hub。
- 在项目列表页面,点击左下角的 “NEW” 按钮创建一个新项目。
- 在模板选择界面,不要选择默认的“3D”或“2D”模板。
- 在顶部的搜索框中输入 "ML-Agents"。
- 你会看到一个名为 "3D (with ML-Agents)" 的模板,选择它并创建项目。
创建这个项目后,你会在场景中看到一个默认的机器人,并且项目文件夹中包含了所有相关的示例场景和代码。
机器人有哪些特点?
这个机器人不仅仅是外观好看,其强大之处在于它的“大脑”和功能。
外观与模型
- 高质量3D模型:具有精细的机械细节,看起来非常专业。
- 完整的动画:包含了行走、跑步、待机等多种动画状态。
- 可定制性:你可以轻松地更换它的材质、贴图,甚至修改模型来适应你的游戏。
AI与行为 (核心功能)
这是这个机器人的灵魂,它通过 Unity ML-Agents 框架实现智能,你可以通过各种示例场景看到它不同的能力:
-
3D Ball Catcher (3D球类接球)
- 场景:机器人站在一个平台上,天上会随机掉落球。
- 行为:机器人会自主移动,用头部去触碰并接住掉落的球,这是一个经典的连续控制和物体追踪的AI示例。
-
Crawler (爬行者)
- 场景:一个四足机器人(类似蜘蛛)在崎岖的地形上行走。
- 行为:展示了如何训练一个四足机器人学会在复杂地形上保持平衡并前进,这涉及到物理模拟和平衡控制。
-
Push Block (推箱子)
- 场景:机器人需要将一个箱子推到指定的目标区域。
- 行为:这是一个任务导向的AI示例,机器人需要学会规划路径、与物体交互(推箱子)来完成指定目标。
-
Visual Agent (视觉智能体)
- 场景:机器人通过摄像头观察环境,并根据看到的图像来做出决策。
- 行为:展示了如何训练AI直接从视觉输入(图像)中学习,而不是依赖物体的位置信息,这是迈向更通用AI的重要一步。
如何使用这个机器人?
使用它主要分为两种情况:
作为学习工具
如果你是AI和强化学习的新手,这是最好的起点。
- 打开 "3D (with ML-Agents)" 项目。
- 打开任何一个示例场景(
Assets/Scenes/3DBallCatcher)。 - 在场景中选中机器人(通常名为
3DBallAgent)。 - 在Inspector窗口中,你会看到一个名为
3DBallAgent的脚本,点击 "Check Brain" 按钮,查看它的“大脑”(Brain)配置。 - 你可以点击编辑器上方的 “Play” 按钮,直接运行一个预训练好的模型,观察机器人的行为。
- 通过阅读场景中的说明文档和代码,你可以理解它是如何工作的,甚至可以尝试修改奖励函数,重新训练它。
作为你项目的起点
如果你想在你的游戏中加入一个智能NPC或可控制角色,你可以直接使用这个机器人。
- 创建一个你自己的新Unity项目。
- 通过 Package Manager (窗口 -> Package Manager),安装 "ML-Agents" 包。
- 将官方示例项目中的机器人模型(
Assets/ML-Agents/Examples/3DBall/Prefabs/3DBallAgent.prefab)拖拽到你的场景中。 - 复制相关的脚本和配置到你的项目中。
- 根据你的需求,修改机器人的外观、行为逻辑和环境,让它成为你游戏的一部分。
| 特性 | 描述 |
|---|---|
| 名称 | InfinityEngine 机器人 / ML-Agents 示例机器人 |
| 获取方式 | 通过Unity Hub创建 "3D (with ML-Agents)" 示例项目 |
| 核心功能 | 作为Unity ML-Agents框架的演示和教学工具 |
| 主要能力 | 追踪物体、完成任务(如推箱子)、在复杂地形移动、基于视觉决策 |
| 适用人群 | AI学习者(绝佳的教学案例)、游戏开发者(需要AI NPC的项目) |
Unity自带的机器人是一个功能强大、资源丰富的“AI样板间”,无论你是想入门强化学习,还是想快速为你的游戏项目添加一个具有高级AI行为的角色,它都是一个绝佳的起点。
标签: Unity内置机器人组件使用教程 Unity机器人角色控制方法 Unity自带的机器人动画控制器设置