ChatdollKit:让您的3D模型焕发生机
在这个人工智能和虚拟现实快速发展的时代,如何让静态的3D模型拥有生命力和互动性成为了许多开发者关注的焦点。ChatdollKit应运而生,它是一款功能强大的3D虚拟助手SDK,能够帮助开发者轻松地将3D模型转变为具有语音对话能力的聊天机器人。无论您是想开发一个虚拟接待员、一个个性化的AI助手,还是一个互动性强的游戏角色,ChatdollKit都能满足您的需求。
ChatdollKit的核心特性
ChatdollKit拥有许多令人印象深刻的特性,使其成为开发3D虚拟助手的理想选择:
-
原生支持生成式AI:ChatdollKit支持多种大型语言模型(LLM),如ChatGPT、Anthropic Claude、Google Gemini Pro和Dify等。它不仅支持这些模型的基本功能,还包括函数调用(适用于ChatGPT和Gemini)以及多模态能力,让您的虚拟助手更加智能和多样化。
-
3D模型表情控制:该工具可以同步语音和动作,自主控制面部表情和动画,支持眨眼和唇形同步等细节,使您的3D模型更加生动自然。
-
对话控制:ChatdollKit集成了语音转文本和文本转语音的功能,支持OpenAI、Azure、Google、Watson、VOICEVOX和VOICEROID等多种服务。它还能管理对话状态(上下文或记忆),提取意图并路由话题,甚至支持唤醒词检测,让交互更加流畅。
-
多平台兼容:无论是Windows、Mac、Linux、iOS还是Android,ChatdollKit都能完美运行。它甚至支持Unity的其他平台,包括VR、AR和WebGL,为您的创作提供了广阔的应用空间。
快速上手ChatdollKit
想要开始使用ChatdollKit创建您的虚拟助手吗?以下是一个简单的入门指南:
-
导入必要的包: 首先,您需要下载最新版本的ChatdollKit.unitypackage,并将其导入到您的Unity项目中。别忘了还需要导入一些依赖项,如Burst、UniTask、uLipSync等。如果您打算使用VRM模型,还需要导入UniVRM和VRM Extension。
-
准备资源: 将您喜欢的3D模型添加到场景中,并调整到您满意的效果。同时,别忘了导入所需的动画剪辑。
-
放置ChatdollKit预制体: 将
ChatdollKit/Prefabs/ChatdollKit
或ChatdollKit/Prefabs/ChatdollKitVRM
放入场景中,并创建EventSystem以使用UI组件。 -
配置ModelController: 在ModelController的上下文菜单中选择"Setup ModelController"。如果不是使用VRM模型,请确保在设置后正确设置了用于眨眼的形状键。
-
设置Animator: 在ModelController的上下文菜单中选择"Setup Animator",并选择包含动画剪辑的文件夹。这一步将帮助您设置角色的idle动画和其他动作。
-
配置DialogController: 在DialogController的检查器中,设置用于开始对话的"Wake Word"(例如"你好"),结束对话的"Cancel Word"(例如"再见"),以及提示用户语音请求的"Prompt Voice"(例如"有什么可以帮您的吗?")。
-
设置ChatdollKit组件: 选择您要使用的语音服务(如OpenAI、Azure、Google或Watson),并在ChatdollKit的检查器中设置API密钥和其他必要的属性。
-
添加技能: 为了使用LLM,您需要添加一些通用组件,如LLMRouter和LLMContentSkill。此外,还需要添加特定的LLM供应商组件,如ChatGPTService、ClaudeService或GeminiService,并设置相应的API密钥。
-
设置面部表情(仅适用于非VRM模型): 如果您使用的不是VRM模型,您需要在VRC FaceExpression Proxy的上下文菜单中选择"Setup VRC FaceExpression Proxy"来设置面部表情。
-
运行测试: 按下Unity编辑器的播放按钮,您应该能看到模型开始进行idle动画和眨眼。尝试说出您设置的唤醒词,看看您的虚拟助手是否能正确响应!
进阶应用:构建您自己的应用
一旦您掌握了ChatdollKit的基本用法,就可以开始构建更复杂的应用了。ChatdollKit提供了一个名为MultiSkills
的示例,展示了如何实现更丰富的功能:
- 对话路由:使用
Router
组件来决定用户想要谈论的话题。 - 对话处理:
TranslateDialog
示例展示了如何处理对话内容。
这些高级功能让您能够创建更智能、更个性化的虚拟助手。
在WebGL上运行ChatdollKit
如果您想将您的虚拟助手部署到Web平台,ChatdollKit也提供了WebGL支持。不过,在WebGL平台上运行时需要注意以下几点:
- 构建时间可能需要5-10分钟,取决于机器配置。
- 调试可能比较困难,错误信息可能不会显示完整的堆栈跟踪。
- 由于JavaScript不支持线程,内置的Async/Await不起作用,需要使用UniTask替代。
- HTTP请求需要CORS支持。
- 不支持麦克风输入,需要使用兼容WebGL的ChatdollMicrophone。
- 不支持压缩音频格式(如MP3),TTS加载器中需使用WAV格式。
- 不支持OVRLipSync,需要使用uLipSync和uLipSyncWebGL替代。
结语
ChatdollKit为开发者提供了一个强大而灵活的工具,让创建生动、互动的3D虚拟助手变得前所未有的简单。无论您是想开发一个简单的聊天机器人,还是一个复杂的AI驱动的虚拟角色,ChatdollKit都能满足您的需求。
随着AI技术的不断进步,ChatdollKit也在持续更新和改进。开发团队正在准备更多内容,以帮助用户创建更丰富的虚拟助手。如果您对3D模型动画、人工智能对话或虚拟现实感兴趣,不妨尝试一下ChatdollKit,开启您的虚拟助手开发之旅!
最后,让我们向为ChatdollKit做出贡献的开源项目表示感谢:uLipSync提供了出色的唇形同步功能,UniTask优化了异步/等待集成,而UniVRM则为VRM模型提供了支持。正是这些优秀的开源项目的支持,才使得ChatdollKit能够如此强大和易用。
现在,是时候开始您的ChatdollKit之旅了。让我们一起探索虚拟助手的无限可能吧!🚀✨