本文转载自 Unity 中文社区季度博主 AnimeKing,阅读博主分享的更多 Unity 学习心得、技术干货,请访问 AnimeKing 在 Unity 中文社区的个人主页:
https://developer.unity.cn/u/animeking-1
我们都知道,随着人工智能的蓬勃发展,ChatGPT 应运而生。ChatGPT 在自然语言处理能力上真切的强大让我们惊叹不已。如果要比知识面、记忆力,人类可以说是被全面碾压。但是无论如何,我们都应该顺“智”而下,让 ChatGPT 与我们和平共处,将它的智能为我们所用,让它成为我们生活重要的一部分。智能用得好,相信未来生活也能有一个新的跨度。
诚然,最近各行各业的大牛都在深入研究应用,随着 ChatGPT 兼容性扩大,各种强大的插件也是层出不穷。作者也想和大家一起深入学习应用一番,所以便有了这一次的主题:应用 ChatGPT 让 Unity Chan 成为一名拥有智慧的虚拟角色。
步骤一:接入“智能”
在 Unity 中利用 UnityWebRequest 接入 ChatGPT,调用 OpenAI 开放的接口。这是为了实现 Unity Chan 拥有“智能”形态的重要一步。
首先我们从字面定义上了解 ChatGPT。ChatGPT(全名:Chat Generative Pre-trained Transformer),是美国 OpenAI 研发的聊天机器人程序 ,于 2022 年 11 月 30 日发布 。ChatGPT 是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,实现真正像人类的聊天交流。
1.1 在官方网站注册 ChatGPT 账号:
Introducing ChatGPT
1.2 ChatGPT 提供了开放接口,通过个人版账号的 API Key 接入 ChatGPT,API Key 获取入口(本项目测试模型 GPT-3.5):
https://platform.openai.com/account/api-keys
来自三方大大的分享,基于 Unity Editor 接入 ChatGPT 的项目(非常适合了解接入的流程):
GitHub - sunsvip/ChatGPTForUnity: ChatGPT for unity
步骤二:赋予声音
我们都知道通过 ChatGPT 能返回文本信息,所以利用文本转语音,能让 Unity Chan 拥有“声音”形态。
为了实现文本转语音,作者专门调研了一些常用的 TTS 技术方案,最终选定 RT-Voice PRO Unity 插件,它支持所有平台,支持中文,其中包含实际的案例,应用起来也简单便捷。作者还关键做了一步处理,把获取的文本信息实时传给 RT-Voice SDK。
2.1 Unity 插件-RT-Voice PRO:
https://assetstore.unity.com/packages/tools/audio/rt-voice-pro-41068
2.2 其他三方的 TTS 技术方案:
微软 Azure 文本转语音:
文本转语音 – 真实 AI 语音生成器 | Microsoft Azure
百度 AI :
https://ai.baidu.com/tech/speech?track=cp:ainsem|pf:pc|pp:878-chanpin-yuyinjishu|pu:yuyinshibie-SDK|ci:|kw:10521820
谷歌云服务:
https://cloud.google.com/text-to-speech#section-2
步骤三:“开口”说话
获取 Unity Chan 的模型资源(附带有口型 BlendShape 的动画),集成 SyncLip 口型动画插件,利用声音驱动模型口型。
操作步骤二后,获取到音频 Clip,就把音频 Clip 实时传给 SyncLip 插件 SDK,从而让 Unity Chan 获取到 ChatGPT 信息后在虚拟世界中拥有相应的嘴部“形”态。
步骤四:场景调试
在项目中可以找到 AIDemo.unity 场景,直接填入获取到的 ChatGPT API Key,便能直接运行调试预览。
项目还在完善中,现阶段是文本输入代替“问”,后面作者还会利用语音识别技术作为“输入端”,从而实现和 Unity Chan 进行语音对话式聊天,最终便能完整拥有一个“智能”虚拟人形化 Chan Chan 酱。
源码已经上传 大家可以自行下载
https://download.csdn.net/download/jiafuyong/87786196