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)와 게임 소스 코드를 수정할 필요 없이 실시간 음성 기반 대화를 나눌 수 있습니다. 사전에 스크립트된 NPC 대화의 정적인 특성을 얼굴 애니메이션과 동기화된 동적 LLM 생성 응답으로 대체합니다.

작동 방식

이 시스템은 게임 화면 및 플레이어 하드웨어와 상호 작용하는 오버레이로 작동합니다.

  1. 입력 처리: 마이크(음성-텍스트)를 통해 플레이어 음성을, 웹캠을 통해 플레이어 감정을 캡처합니다.
  2. 캐릭터 식별: 얼굴 인식을 사용하여 화면의 NPC를 식별합니다. 알려진 조연 캐릭터인 경우 특정 특성을 로드하고, 배경 NPC인 경우 고유한 성격을 생성합니다.
  3. 대화 생성: 대규모 언어 모델(LLM)이 캐릭터 성격, 벡터 데이터베이스(RAG)에 저장된 세계 지식, 스타일을 유지하기 위한 상징적인 대사를 포함한 pre_conversation.json 파일을 기반으로 응답을 생성합니다.
  4. 출력 생성: 응답은 음성(TTS)으로 변환되고 NPC 얼굴 이미지를 기반으로 (SadTalker를 통한) 얼굴 애니메이션 비디오를 구동하는 데 사용됩니다.
  5. 통합: 시스템은 게임 뷰에서 NPC의 얼굴 픽셀을 생성된 애니메이션으로 대체하여 NPC가 자연스럽게 말하는 듯한 착각을 만듭니다.

대상

이전에 출시된 오픈월드 타이틀에서 NPC와 더 몰입감 있고 스크립트되지 않은 상호 작용을 원하는 게이머와 모더.

주요 기능

  • 소스 코드 수정 불필요: 게임 엔진을 모딩하는 대신 화면의 픽셀을 대체하여 작동합니다.
  • 다중 모달 상호 작용: 음성 입력, 얼굴 인식, 웹캠 기반 감정 감지를 결합합니다.
  • 동적 메모리: 벡터 저장소를 사용하여 NPC에게 게임 세계에 대한 무한한 메모리와 캐릭터별 지식을 제공합니다.
  • 다용도 호환성: 사용자가 세계 및 캐릭터 데이터 파일을 정의할 수 있도록 하여 모든 게임에서 작동하도록 설계되었습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트