UE5+ChatGPT实现3D AI虚拟人综合实战
第11章 综合实战:UE5+ChatGPT实现3D AI虚拟人
通过结合Unreal Engine 5(UE5)的强大渲染能力和ChatGPT的自然语言处理能力,我们可以实现一个高度交互性的AI虚拟人。本文将详细介绍如何在UE5中安装必要的插件,配置OpenAI API调用,以及实现文字转语音和语音识别功能,最终整合成一个能够进行智能对话的3D AI虚拟人。

11-1 UE5数字人插件及语音插件安装
首先,我们需要为UE5安装数字人插件和语音插件。这些插件通常可以在UE5的插件市场中找到,或者从第三方开发者那里获取。
# 假设你已经安装了UE5,并且打开了你的项目
# 在UE5编辑器中,导航到“插件”菜单,搜索并安装以下插件:
# - 数字人插件(例如MetaHuman插件)
# - 语音插件(例如TTS插件,用于文字转语音)
安装完成后,重启UE5编辑器,确保插件已正确加载。
11-2 UE安装OPEN AI插件
接下来,我们需要为UE5安装OpenAI插件,以便能够调用ChatGPT API。
# 在UE5编辑器中,导航到“插件”菜单,搜索并安装OpenAI插件。
# 如果官方没有提供,你可以从GitHub等平台上找到第三方开发的OpenAI插件。
安装完成后,同样需要重启UE5编辑器。
11-3 UE的蓝图配置OPEN AI API调用
在UE5中,蓝图是一种可视化脚本系统,可以用来配置游戏逻辑。我们将使用蓝图来配置OpenAI API的调用。
- 打开你的UE5项目,并导航到“内容浏览器”。
- 创建一个新的蓝图类(例如,一个继承自
Actor的类)。 - 在蓝图编辑器中,添加一个新的
Event Tick节点,用于每帧调用。 - 添加一个
Create HTTP Request节点,并配置其URL为OpenAI API的端点(例如,ChatGPT的生成文本端点)。 - 在请求体中,添加你的输入文本(例如,用户输入)。
- 添加一个
Receive HTTP Response节点,用于处理API的响应。 - 将响应文本解析并存储在一个变量中,以便后续使用。
+-----------------+
| Event Tick |
+-----------------+|v
+-----------------+
| Create HTTP Req |
| (OpenAI API) |
+-----------------+|v
+-----------------+
| Recv HTTP Resp |
+-----------------+|v
(Store response)
11-4 UE配置输入框与OPEN AI API交互
为了使用户能够与AI虚拟人进行交互,我们需要配置一个输入框来接收用户输入。
- 在UE5编辑器中,添加一个UI Widget(例如,一个
Text Box)到你的场景中。 - 将该Text Box的文本输入事件连接到蓝图中的一个自定义函数。
- 在该函数中,获取用户输入的文本,并使用之前配置的OpenAI API调用蓝图来发送请求。
- 将API的响应文本显示在UI中(例如,一个
Text Block)。
11-5 UE文字转语音
为了实现文字转语音功能,我们将使用之前安装的TTS插件。
- 在蓝图中,创建一个新的函数用于文字转语音。
- 使用TTS插件提供的节点,将需要转换的文本传递给TTS系统。
- 播放TTS系统生成的音频。
+-----------------+
| Convert Text to |
| Speech |
+-----------------+|v
+-----------------+
| Play Audio |
+-----------------+
11-6 UE语音识别及调用ChatGPT接口整合_1
为了实现语音识别功能,我们需要一个语音识别插件或API。这里假设你已经有一个可用的语音识别系统。
- 配置语音识别系统,使其能够接收用户的语音输入并将其转换为文本。
- 将转换后的文本传递给之前配置的OpenAI API调用蓝图。
- 将API的响应文本通过文字转语音系统播放出来。
11-7 UE数字人智能对话
最后,我们将整合所有部分,实现一个能够进行智能对话的3D AI虚拟人。
- 使用MetaHuman插件或其他数字人插件创建一个3D虚拟人。
- 将虚拟人的动画系统与文字转语音系统连接起来,使虚拟人能够根据API的响应文本做出相应的动作和表情。
- 将用户的输入和虚拟人的响应整合到一个流畅的对话流程中。
+-----------------+ +-----------------+ +-----------------+
| User Input | -> | OpenAI API Call | -> | TTS & Animation |
+-----------------+ +-----------------+ +-----------------+^ || v+-----------------+ +-----------------+| Virtual Human | Play Response+-----------------+
通过以上步骤,我们成功地在UE5中创建了一个能够进行智能对话的3D AI虚拟人。这个虚拟人不仅能够理解用户的输入,还能够通过文字转语音系统和动画系统做出响应,为用户提供一个高度交互性的体验。
课程推荐
诚邀你关注我的精品视频课程《ChatGPT+AI项目实战,打造多端智能虚拟数字人》。
课程以项目实战的方式,基于ChatGPT完成多端全栈式开发,实现AI绘画、智能语音、数字虚拟人等,从0到1手把手带你打造一个专属对话虚拟人。通过语音唤醒、识别及合成、安卓开发、前后端快速搭建等技术,使你具备将AI技术真实落地工作中,高效快速提高自身核心竞争力。

相关文章:
UE5+ChatGPT实现3D AI虚拟人综合实战
第11章 综合实战:UE5ChatGPT实现3D AI虚拟人 通过结合Unreal Engine 5(UE5)的强大渲染能力和ChatGPT的自然语言处理能力,我们可以实现一个高度交互性的AI虚拟人。本文将详细介绍如何在UE5中安装必要的插件,配置OpenAI…...
[图形学]smallpt代码详解(2)
一、简介 本文紧接在[图形学]smallpt代码详解(1)之后,继续详细讲解smallpt中的代码,包括自定义函数(第41到47行)和递归路径跟踪函数(第48到74行)部分。 二、smallpt代码详解 1.自…...
vmstat命令:系统性能监控
一、命令简介 vmstat 是一种在类 Unix 系统上常用的性能监控工具,它可以报告虚拟内存统计信息,包括进程、内存、分页、块 IO、陷阱(中断)和 CPU 活动等。 二、命令参数 2.1 命令格式 vmstat [选项] [ 延迟 [次数] ]2…...
linux部署NFS和autofs自动挂载
目录 (一)NFS: 1. 什么是NFS 2. NFS守护进程 3. RPC服务 4. 原理 5. 部署 5.1 安装NFS服务 5.2 配置防火墙 5.3 创建服务端共享目录 5.4 修改服务端配置文件 (1). /etc/exports (2). nfs.conf 5.5 启动nfs并加入自启 5.6 客户端…...
WPF RadioButton 绑定boolean值
<RadioButtonMargin"5"Content"替换"IsChecked"{Binding CorrectionOption.ReCorrectionMode}" /> <RadioButtonMargin"5"Content"平均"IsChecked"{Binding CorrectionOption.ReCorrectionMode, Converter{St…...
2024 ciscn WP
一、MISC 1.火锅链观光打卡 打开后连接自己的钱包,然后点击开始游戏,答题八次后点击获取NFT,得到有flag的图片 没什么多说的,知识问答题 兑换 NFT Flag{y0u_ar3_hotpot_K1ng} 2.Power Trajectory Diagram 方法1: 使用p…...
代码随想录--字符串--重复的子字符串
题目 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。示例 2: 输入: "…...
No.5 笔记 | 网络端口协议概览:互联网通信的关键节点
1. 常用端口速览表 端口范围主要用途1-1023系统或特权端口1024-49151注册端口49152-65535动态或私有端口 远程访问类(20-23) 端口服务记忆技巧安全风险21FTP"File Transfer Port"爆破、嗅探、溢出、后门22SSH"Secure Shell"爆破、…...
手机地址IP显示不对?别急,这里有解决方案
在当今的数字化生活中,手机已成为我们连接世界的重要工具。而手机的IP地址,作为我们在网络上的“身份证”,其准确性对于网络体验至关重要。然而,有时我们可能会遇到手机IP地址显示不正确的问题,这不仅会影响网络连接质…...
人工智能对未来工作影响的四种可能性
随着人工智能(AI)技术的迅速发展,其对人类工作的影响已成为讨论的热点话题。我们经常听到有关AI威胁论的观点,担心它将取代人类工作,但也有专家认为AI将成为一种辅助工具,帮助人类提升工作效率。宾夕法尼亚…...
SpringBoot+ElasticSearch7.12.1+Kibana7.12.1简单使用
案例简介 本案例是把日志数据保存到Elasticsearch的索引中,并通过Kibana图形化界面的开发工具给查询出来添加的日志数据,完成从0到1的简单使用 ElasticSearch职责用法简介 ElasticSearch用在哪 ElasticSearch在我这个案例中,不是用来缓解增…...
RESTful风格接口+Swagger生成Web API文档
RESTful风格接口Swagger生成Web API文档 文章目录 RESTful风格接口Swagger生成Web API文档1.RESTful风格接口RESTful简介RESTful详细图示常见http状态码springboot实现RESTfulRESTful springboot设计实例demo 2.Swagger生产Web API文档Swagger简介使用Swagger1.加入依赖2.配置S…...
性能测试学习2:常见的性能测试策略(基准测试/负载测试/稳定性测试/压力测试/并发测试)
一.基准测试 1)概念 狭义上讲:就是单用户测试。测试环境确定后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。 广义上:是一种测量和评估软件性能指标的活动。可以在某个时刻通过基准测试建立…...
【C++】—— 继承(上)
【C】—— 继承(上) 1 继承的概念与定义1.1 继承的概念1.2 继承定义1.2.1 定义格式1.2.2 继承父类成员访问方式的变化 1.3 继承类模板 2 父类和子类对象赋值兼容转换3 继承中的作用域3.1 隐藏规则3.2 例题 4 子类的默认成员函数4.1 构造函数4.1.1 父类有…...
【2024保研经验帖】东南大学计算机学院夏令营
前言 背景:末211,专业计算机科学与技术,rk前5%,无科研,只有几个竞赛 东南大学计算机学院夏令营需要老师推荐,一个老师的推荐名额感觉应该挺多的,因为学硕和专硕都进了两百多人,总共…...
dz论坛可可积分商城插件价值399元
界面简洁美观大方,适合各类站点。支持多用户商城,可让商家入驻站点发布商品,亦可站长自己发布商品。支持向商家抽佣抽成功能,可设置商家在成交商品后按一定比例扣除抽成,达到网站盈利目的采用队列技术处理,…...
python的extend和append
在Python中,list的append和extend方法都是用来向列表添加元素的,但它们之间有一些关键的区别: append方法: append方法用于将一个对象添加到列表的末尾。无论添加的对象是什么类型(整数、字符串、列表等)&a…...
贪心算法相关知识
目录 基础 定义 工作原理 步骤一:分解问题 步骤二:确定贪心策略 步骤三:求解子问题 步骤四:合并结果 适用场景 活动安排问题 找零问题 哈夫曼编码 局限性 高级 与动态规划的对比 决策方式 最优性保证 时间复杂度和…...
济南比较出名的人物颜廷利:全球最具影响力的思想家起名大师
颜廷利教授是一位在思想、哲学、教育、易学、国学、心理学、命名学等多个领域具有深远影响的学者。他被誉为“世界点赞第一人”,在国内外享有极高的声誉,被认为是现代易经三大泰斗之首。山东目前比较厉害的名人颜廷利教授的学术成就和影响力横跨哲学、思…...
第100+27步 ChatGPT学习:概率校准 Temperature Scaling
基于Python 3.9版本演示 一、写在前面 最近看了一篇在Lancet子刊《eClinicalMedicine》上发表的机器学习分类的文章:《Development of a novel dementia risk prediction model in the general population: A large, longitudinal, population-based machine-learn…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
