AkshitIreddy/Interactive-LLM-Powered-NPCs

Interactive LLM Powered NPCs, is an open-source project that completely transforms your interaction with non-player characters (NPCs) in any game! 🎮🤖🚀

它解决了什么

此项目让玩家能在现有的开放世界游戏(如《赛博朋克2077》、《GTA 5》和《刺客信条》)中,与非玩家角色(NPC)进行实时、语音驱动的对话,而无需修改游戏的源代码。它以动态、由LLM生成的响应取代了预先编写的静态NPC对话,并与面部动画同步。

运作方式

此系统作为一个覆盖层运作,与游戏画面及玩家的硬件互动:

  1. 输入处理:通过麦克风(语音转文字)捕捉玩家语音,并通过网络摄像头捕捉玩家情绪。
  2. 角色识别:使用面部识别来识别画面上的NPC。如果是已知的次要角色,会加载特定特质;如果是背景NPC,则会生成独特的人格。
  3. 对话生成:大型语言模型(LLM)根据角色人格、存储在向量数据库(RAG)中的世界知识,以及包含经典台词以维持风格的 pre_conversation.json 文件,生成响应。
  4. 输出生成:响应被转换为语音(TTS),并用于驱动基于NPC面部图像的(通过SadTalker)面部动画视频。
  5. 集成:系统将游戏画面中NPC的面部像素替换为生成的动画,营造出NPC自然说话的错觉。

目标受众

游戏玩家和模组制作者,他们希望在先前发布的开放世界游戏中,与NPC进行更沉浸式、非脚本化的互动。

亮点

  • 无需修改源代码:通过替换屏幕上的像素来运作,而非修改游戏引擎。
  • 多模态交互:结合语音输入、面部识别和基于网络摄像头的情绪检测。
  • 动态记忆:使用向量存储为NPC提供无限的游戏世界记忆和角色特定知识。
  • 广泛兼容性:设计用于任何游戏,允许用户定义世界和角色数据文件。

相关

  • 项目
  • 项目
  • 项目
  • 项目