使用Unity Sentis 通过 AI 模型创建下一代功能

我们创建了 Unity Sentis,让开发人员能够将 AI 模型引入 游戏 和应用程序。Sentis 目前处于预发布公开测试阶段,可在所有类型的项目中使用对象识别、语音识别和智能 NPC 等复杂功能。
一旦通过 ONNX 文件标准导入,这些 AI 模型就可以在所有支持 Unity 的平台上直接运行。这意味着您可以在用户设备上的Unity Runtime 中直接运行大多数 AI 模型,而无需云基础设施。
最终,您选择在项目中使用的模型完全取决于您。每个模型都依赖于您要解决的任务。您可以先在市场上浏览一些有趣的模型,例如 Hugging Face、Keras或 PyTorch。如果您有机器学习背景,您还可以训练自己的模型,或者使用 Unity ML-Agents 满足强化学习需求。主要要求是模型必须转换为 ONNX 文件格式。如果需要,您可以使用像 TF2ONNX这样的 ONNX 转换器。
请参阅 Sentis 文档中的 导入模型 以获取代码示例。
将模型加载到Unity中需要遵循与任何资产相同的流程。只需将其拖放到编辑器内项目窗口的 Assets 文件夹中即可。Sentis 将自动优化导入的模型。然后,创建一个运行时模型对象。
请参阅 Sentis 文档中的 加载模型 以获取代码示例。
创建输入相当简单,只需在 ONNX 模型导入设置中检查所需模型输入的形状和大小。然后您可以从数据源创建一个张量。如果需要多个输入,则将它们全部存储在字典中。
请参阅 Sentis 文档中的 为模型创建输入 以获取代码示例。
最后一步是测试和部署您的游戏。像在任何Unity Runtime 平台上通常那样执行此操作。你有几种在游戏二进制文件中运送模型的选项:它可以嵌入在构建中,或者您可以将其作为流资产运行,以便仅在需要时下载。您还可以考虑出于安全原因加密您的模型。
请参阅 Sentis 文档中的 加密模型 以获取代码示例。
此初学者示例 展示了如何通过运行对象检测模型来解锁上锁的房间中的门,从而将 Sentis 的基础知识与神经网络结合使用。它运行一个名为 MNIST 的手写数字检测 AI 模型,该模型可以读取书面数字并识别出最可能的数字。
此示例 使用 Sentis 为名为 Othello 的棋盘游戏构建机器人对手,该游戏具有可配置的难度。它运行一个根据游戏规则训练的神经网络,确定每次移动后游戏获胜的概率,然后预测最有可能获胜的未来移动。与使用复杂启发式和树遍历的传统方法相比,这是一个更简单的解决方案。
此示例 展示了如何将 Sentis 集成到增强现实 (AR) 体验中。它使用深度估计神经网络让现实世界的物体遮挡游戏场景中的物体。深度是通过处理来自摄像头的视频帧来确定的,因此与使用仅限于昂贵手机的激光雷达传感器的传统方法相比,它是一种更具可扩展性的解决方案。
这适用于带有摄像头的移动设备,不需要激光雷达传感器。
人工智能模型可以帮助您创建引人入胜的功能,而这些功能使用传统代码可能无法实现或非常耗时。用例涵盖所有 类别的 AI 模型,应用取决于您选择实施的模型。不过,这里有一些 Sentis 可以协助开发过程的例子。
开发人员选择Unity 的一个重要原因是能够更轻松地在多个平台上发布 - 但优化仍然是一个挑战。使用 TensorFlow 的 Super Resolution 等升级模型,您可以升级游戏中的低分辨率图像或纹理以达到生产质量,或者仅在需要时帮助在不同设备上优化资产。
当涉及到与 NPC 和其他玩家互动时,玩家互动是联网在线游戏的关键。借助 OpenAI 的 Whisper等语音转文本模型,您可以将实时语音转换为游戏内文本。您还可以引入 AI 模型来自动化对话并在玩家和 NPC 之间创建有意义的互动,而不受手动脚本的限制。
虽然人工智能的重点是创造新功能,但我们在提高游戏性能方面也看到了很好的应用。其中一个例子是使用 AI 模型来改进移动设备上的光线追踪,方法是使用升级的 GANAI 模型来产生游戏场景的预渲染帧的幻觉。使用这样的应用程序,您可以在较小的项目中实现路径追踪功能,例如光折射和焦散区域光,而不会影响用户设备的性能。
增强现实和虚拟现实 (VR) 也是将 AI 模型与 Sentis 结合使用的巨大潜在用例。例如,您可以在VR中使用 UltralyticsYOLO 模型 来检测游戏场景中的物体,或者在 AR 中使用设备摄像头馈送来检测现实世界的物体。这可以为用户提供只有人工智能才能实现的超级视觉感。
Unity Sentis 现已通过包管理器免费向所有使用Unity 2021.3 或更高版本的Unity开发人员提供公开测试版。
