掌桥专利:专业的专利平台
掌桥专利
首页

一种元宇宙场景非玩家角色的创建方法及计算机

文献发布时间:2024-04-18 19:58:53


一种元宇宙场景非玩家角色的创建方法及计算机

技术领域

本发明涉及图形视觉技术领域,尤其是涉及一种元宇宙场景非玩家角色的创建方法及计算机。

背景技术

元宇宙是一个虚拟的、跨越多个数字平台的虚拟世界,允许用户以数字形式参与、互动和探索。在元宇宙中,虚拟场景、虚拟物品和虚拟角色扮演着关键角色。其中,非玩家角色(NPC)是虚拟世界中的虚拟角色,它们可以是虚拟世界的居民、任务分发者、商人等,它们为用户提供了更加沉浸式的互动和体验。因此,非玩家角色的创建和交互在元宇宙中具有极其重要的作用。

目前,非玩家角色的特征一般由官方直接设定完成,用户只能被动地接受官方对非玩家角色的人物设定,导致了非玩家角色的单一和固化,减少了用户在虚拟世界中与非玩家角色的互动中缺乏参与感。

发明内容

本申请提供了一种元宇宙场景非玩家角色的创建方法方法及计算机,用于根据客户端在非玩家角色创建工具中确定的特征数据来创建自定义的非玩家角色,可以使得元宇宙中的用户能够根据自身的偏好和习惯创建一个自定义的非玩家角色,使用户在元宇宙中有更个性化的互动体验,增强了用户在元宇宙中的沉浸感和参与感。

第一方面,本申请提供了一种元宇宙场景非玩家角色的创建方法,该方法包括:

获取客户端在非玩家角色创建工具中的特征数据;

根据该特征数据创建自定义非玩家角色。

通过采用上述技术方案,根据客户端在非玩家角色创建工具中确定的特征数据来创建自定义的非玩家角色,可以使得元宇宙中的用户能够根据自身的偏好和习惯创建一个自定义的非玩家角色,使用户在元宇宙中有更个性化的互动体验,增强了用户在元宇宙中的沉浸感和参与感。

结合第一方面的一些实施例,在一些实施例中,该根据该特征数据创建自定义非玩家角色的步骤,该步骤具体包括:

根据该客户端上传的图片生成该自定义非玩家角色的外表;

根据该客户端输入的自定义描述建立该自定义非玩家角色的人物设定;

根据该客户端在角色声音库内选择的声音确定该自定义非玩家角色的声音;

根据该客户端在角色动作库内编辑的动作模板确定该自定义非玩家角色的动作;

根据该客户端选择的该自定义非玩家角色的摆放位置和行动轨迹确定自定义非玩家角色的活动范围;

根据该外表、该人物设定、该声音、该动作和该活动范围创建该自定义非玩家角色。

通过采用上述技术方案,根据客户端确定的非玩家角色的外表、人物设定、声音、动作和活动范围创建非玩家角色,使得用户能够从各个维度完全创作一个自己想要的非玩家角色,给用户提供了个性化的体验。

结合第一方面的一些实施例,在一些实施例中,该根据该特征数据创建自定义非玩家角色的步骤之后,该步骤还包括:

将该客户端与该自定义非玩家角色之间的历史互动行为输入到个性化用户互动模型中;

根据该个性化用户互动模型的输出内容确定该客户端与该自定义非玩家角色之间的当前互动行为;

将该当前互动行为通过非玩家角色与玩家角色进行互动。

通过采用上述技术方案,通过个性化用户互动模型,非玩家角色可以根据客户端的历史互动行为,为玩家提供个性化的互动体验,增强社交互动和代入感,从而提升用户在元宇宙内的体验。

结合第一方面的一些实施例,在一些实施例中,该根据该特征数据创建自定义非玩家角色的步骤之后,该步骤还包括:

当收到该客户端发送的对非玩家角色的当前对话内容时,将对非玩家角色的历史对话内容和该当前对话内容输入到语言大模型中;

将该语言大模型的输出内容通过非玩家角色进行回复。

通过采用上述技术方案,将用户与非玩家角色之间历史对话内容和当前对话内容输入到语言大模型中,非玩家角色可以通过语言大模型的输出内容对用户进行回复,语言大模型可以根据历史对话内容和当前对话内容理解上下文,使得非玩家角色能够更好地回应和参与互动,增加互动的深度和趣味性。

结合第一方面的一些实施例,该将该语言大模型的输出内容作为对该对话互动的回复的步骤之后,该步骤还包括:

检测该历史对话内容中的敏感信息;

根据该敏感信息对该历史对话内容进行脱敏处理,得到脱敏历史对话内容;

对该脱敏历史对话内容进行加密存储。

通过采用上述技术方案,对历史对话内容进行脱敏处理,可以使得历史对话内容符合合规要求,并有效保护用户的隐私信息不被泄露,有助于解决数据隐私和保密性要求,提高了元宇宙平台的安全性。

结合第一方面的一些实施例,在一些实施例中,该根据该特征数据创建自定义非玩家角色的步骤,该步骤具体包括:

根据预设制作格式中的标准非玩家角色制作格式和该特征数据创建自定义非玩家角色;

根据预设制作格式中的标准场景制作规则对元宇宙场景进行设定。

通过采用上述技术方案,根据预设制作格式对自定义非玩家角色和元宇宙场景进行设定,使得创建的所有自定义非玩家角色都能在所有元宇宙场景一致地呈现和互动。

结合第一方面的一些实施例,在一些实施例中,该根据该特征数据创建自定义非玩家角色的步骤之后,该步骤还包括:

获取所有渲染节点的资源利用率,该渲染节点用于对自定义非玩家角色进行渲染;

在产生渲染任务的情况下,将渲染任务分配给该资源利用率最低的渲染节点。

通过采用上述技术方案,根据渲染节点的资源利用率分配渲染任务,进行资源的合理分配和调度,避免某些节点过载而导致渲染性能下降,同时,也可以发现一些资源利用率较低的节点,将其资源分配给其他需要的节点以最大程度地利用资源。

第二方面,本申请实施例提供一种元宇宙场景非玩家角色的创建系统,该元宇宙场景非玩家角色的创建系统包括计算机,该计算机包括:获取模块,创建模块。

获取模块,获取客户端在非玩家角色创建工具中的特征数据;

创建模块,根据该特征数据创建自定义非玩家角色。

第三方面,本申请实施例提供了一种计算机,该计算机包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该计算机执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,包括指令,当上述指令在计算机上运行时,使得上述计算机执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

1.本申请通过根据客户端在非玩家角色创建工具中确定的特征数据来创建自定义的非玩家角色,可以使得元宇宙中的用户能够根据自身的偏好和习惯创建一个自定义的非玩家角色,使用户在元宇宙中有更个性化、更丰富、更深度的互动体验,增强了用户在元宇宙中的沉浸感和参与感。

2.本申请通过根据客户端确定的非玩家角色的外表、人物设定、声音、动作和活动范围创建非玩家角色,使得用户能够从各个维度完全创作一个自己想要的非玩家角色,给用户提供了个性化的体验。

3.本申请通过建立个性化用户互动模型,非玩家角色可以根据客户端的历史互动行为,为玩家提供个性化的互动体验,增强社交互动和代入感,从而提升用户在元宇宙内的体验。

附图说明

图1是相关技术中用户与非玩家角色交互的场景示意图。

图2是本申请实施例中一种元宇宙场景非玩家角色的创建系统的一个场景示意图。

图3是本申请实施例中一种元宇宙场景非玩家角色的创建方法的一个流程示意图。

图4是本申请实施例中一种元宇宙场景非玩家角色的创建方法的一个场景示意图。

图5是本申请实施例中一种元宇宙场景非玩家角色的创建方法的另一个流程示意图。

图6是本申请实施例中一种元宇宙场景非玩家角色的创建系统的功能模块结构示意图。

图7是本申请实施例中一种元宇宙场景非玩家角色的创建系统的实体装置结构示意图。

具体实施方式

本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“该”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。

以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。

如图1所示,为相关技术中用户与非玩家角色交互的场景示意图。

在相关技术中,用户通过客户端扮演玩家角色,一般被动接受由官方直接创建好的非玩家角色,这些非玩家角色的人物设定、外表、声音和动作都由官方直接设定,用户在与非玩家角色进行对话交互时,用户可从官方给出的对话选项中选择,完成和非玩家角色的对话交互。

上述是本申请相关技术中用户与非玩家角色交互的方案,下面对本申请中元宇宙场景非玩家角色的创建系统的场景进行描述:

如图2所示,为本申请实施例中一种元宇宙场景非玩家角色的创建系统的一个场景示意图。该创建系统包括用户使用的元宇宙客户端,例如VR眼镜或虚拟头盔等,安装在元宇宙客户端内的非玩家角色创建工具,和用户通过非玩家角色创建工具创建的自定义非玩家角色。用户可以通过安装在元宇宙客户端内的非玩家角色创建工具设置自定义非玩家角色的特征数据,从而创建一个自定义非玩家角色。

上述是本申请中元宇宙场景非玩家角色的创建系统的场景,下面结合图3,对本申请实施例中的元宇宙场景非玩家角色的创建方法进行描述:

如图3所示,本申请实施例中一种元宇宙场景非玩家角色的创建方法的一个流程示意图。

S301、获取客户端在非玩家角色创建工具中的特征数据。

非玩家角色创建工具用于给用户创建和设计在游戏或虚拟世界中的非玩家角色(NPC),让用户能够自定义一个想要的非玩家角色。

当用户使用客户端第一次进入到元宇宙场景时或用户还未创建过非玩家角色时,将弹出提示信息,询问用户是否需要创建非玩家角色,当用户选择需要创建非玩家角色时,则进入非玩家角色创建工具界面。

进入非玩家角色创建工具界面后,非玩家角色创建工具将通过提示信息引导用户对非玩家角色的特征数据进行上传、输入和选择,其中特征数据包括:非玩家角色的外表、人物设定、声音、动作和活动范围。

当用户上传、输入和选择完所有特征数据后,对特征数据进行打包输入到非玩家角色创建工具中,使得非玩家角色创建工具对特征数据进行处理。

可以理解的是,用户也可以选择跳过非玩家角色创建工具界面,直接选择非玩家角色创建工具提供的已创建好的非玩家角色。

S302、根据该特征数据创建自定义非玩家角色。

在一些可实现的实施方式中,该特征数据包括自定义非玩家角色的外表、人物设定、声音、动作和活动范围,在获取到这些特征数据后,建立自定义非玩家角色的外表模型,在将人物设定、声音、动作与自定义非玩家角色关联起来,最后将自定义非玩家角色放在确定好的活动范围中,即完成了自定义非玩家角色的创建。

在上述实施例中,根据客户端在非玩家角色创建工具中确定的特征数据来创建自定义的非玩家角色,可以使得元宇宙中的用户能够根据自身的偏好和习惯创建一个自定义的非玩家角色,使用户在元宇宙中有更个性化的互动体验,增强了用户在元宇宙中的沉浸感和参与感。

上述方案主要是通过获取客户端在非玩家角色创建工具中的特征数据创建自定义非玩家角色的方案,下文对创建自定义非玩家角色更加具体的方案进行描述。

上述是本申请实施例中一种元宇宙场景非玩家角色的创建方法的一个流程示意图,下面结合图4,对本申请中元宇宙场景非玩家角色的创建方法更加具体的方案进行描述:

如图4所示,本申请实施例中一种元宇宙场景非玩家角色的创建方法的一个场景示意图。

图4中的(a)对应获取用户输入的自定义描述,当用户在非玩家角色创建工具中输入对非玩家角色的描述时,会将用户的描述输入到语言大模型中,通过语言大模型对描述信息的分析,获得描述信息中的关键内容并且确定非玩家角色人物设定的维度信息。

例如,用户输入的描述信息为:大强,流浪动物救助站站长,28岁,睿智,且身体强壮,爱跑步,喝红茶,一起和救助的流浪动物快乐生活,平时经常爬山,还喜欢逛超市。

在一些可实现的实施方式中,将该描述信息输入到语言模型—ChatGPT中,对这段描述信息进行多个维度的理解和整理得出该非玩家角色的设定:

年龄:他是一个28岁的年轻人。

性别:男性。

性格:聪明、积极向上,并且具有很强的适应能力。

世界观:关爱动物,热爱自然。

职业:他是一个流浪动物救助站站长,一个专业的动物保护从业者。

将非玩家角色的设定存储在设定数据库中,并与非玩家角色的模型相关联。

图4中的(b)对应获取用户上传或拍摄的图片,当用户非玩家角色创建工具中上传关于非玩家角色外表的照片时,用户可以选择从本地上传或拍摄。

在一些可实现的实施方式中,非玩家角色创建工具获取到用户上传或拍摄的图片后,根据该图片生成非玩家角色的外表,生成外表一共分为四个阶段:建模阶段,部件装配阶段,绑定阶段和导出阶段。

建模阶段:首先对该图片进行预处理,其中包括图像的剪裁、滤波、去噪等操作,以便能够更加准确地提取图片中的人像部分;接下来,对提取出的人像部分进行人脸定位,定位人脸的位置和轮廓,将分离出来的人脸输入到3D建模软件中生成一个可调整变形的3D模型。

部件装配阶段:对人脸的器官进行装配,获取模型库中眼球和牙齿的3D模型,根据人脸模型的大小和比例,对眼球和牙齿模型进行调整。使用3D建模软件的缩放工具,将眼球和牙齿模型缩放到与人脸模型相匹配的大小,将眼球和牙齿模型的位置和角度与人脸模型的对应部位进行对齐,使用3D建模软件的移动和旋转工具,将眼球和牙齿模型调整到与人脸模型相匹配的位置和角度,再根据人脸模型的形状,对眼球和牙齿模型进行形状和曲面的调整,最终得到非玩家角色的头部。

绑定阶段:将人脸与骨骼和身体模型进行装配,通过3D建模软件获取身体模型的顶点位置信息,根据顶点位置确定骨骼偏移,重定位骨骼位置,完成骨骼身体模型与人脸的粗绑定,在根据模型库中自定义模型表情对人脸的表情进行修型,从而完成人脸与身体的绑定。

导出阶段:通过3D建模软件将生成的整个非玩家角色模型进行导出。

导出模型后,创建工具将会把非玩家角色的人物设定、声音和动作与该模型进行关联。

图4中的(c)对应获取用户选择的声音,当用户在非玩家角色创建工具中完成了对人物设定和外表的设定后,创建工具将提示用户选择该非玩家角色的声音,用户将从创建工具中提供的角色声音库中选择用户想要的声音,并点击其中的某条声音的试音进行播放试听,从而进行选择。

图4中的(d)对应获取用户选择的动作模板,当用户在非玩家角色创建工具中完成了角色的声音设定后,创建工具将提示用户在角色动作库内对角色不同状态下的动作进行设定,例如,静止动作:包括站立、坐下、躺下等基本的静止姿势,移动动作:包括走路、跑步、跳跃等动作,用于表现非玩家角色在场景中的移动,互动动作:包括与玩家或其他非玩家角色进行互动的动作,如打招呼、交谈、握手等。

将用户选择的动作模板存储在动作数据库中,并与非玩家角色的模型相关联。

图4中的(e)对应获取用户选择的非玩家角色的摆放位置和行动轨迹,当用户完成对非玩家角色的外表、人物设定、声音和动作模板的设定后,此时非玩家角色创建工具将提示用户选择非玩家角色在场景地图上的位置,同时用户也可以通过以下两种方式设置非玩家角色的活动范围:

第一种,为非玩家角色建立一条预设活动路径,非玩家角色可以通过用户建立的预设活动路径进行位移。

第二种,基于非玩家角色摆放的中心点,设定在半径为N的圆形区域内非玩家角色可以随机走动,其中半径N为用户自己设定。

用户不仅可以自定义非玩家角色的活动范围和位移方式,还可以定义行走时非玩家角色与玩家角色的交互方式,例如:用户可以将其设定为遇到玩家角色时不予理会,按照既定路线行动,或遇到玩家角色时与玩家角色停止走动并主动打招呼,打招呼的预料可以由用户自定义。

在一些可实现的实施方式中,用户点开提示消息中的地图控件后,可以通过调整自身的视角来选择非玩家角色在当前场景上的位置,该场景地图是指在虚拟世界中展示不同场景和区域的地图,例如当前的虚拟场景为一个繁华的商业区,而用户想要将非玩家角色放在商业区的一个购物广场上,则用户可以点击地图控件移动到该购物广场,然后固定非玩家角色的位置。

当非玩家角色的活动范围确定后,将非玩家角色的人物设定、声音和动作与非玩家角色的外表进行关联,从上文中提到的设定数据库、角色声音库和动作数据库中获取非玩家角色的人物设定、声音和动作模板,将这些数据输入到游戏引擎中。

在一些可实现的实施方式中,首先根据人物设定生成非玩家角色的台词,如根据上文中生成的非玩家角色“大强”的人物设定,生成相关的台词,例如:“你好,(玩家角色的名字)!动物是我们的朋友,我们应该尽力保护它们,每一个小生命都值得被珍惜和关爱。”,再根据用户在角色声音库中选择的声音生成相关的台词的朗读内容,再通过游戏引擎中的渲染引擎将用户选择的动作模板绑定到生成的角色模型上,最后确保声音、动作和模型的播放时间相互匹配,确保声音与动作的开始和结束时间一致,以保持一致的同步性,从而将人物设定、声音和动作模板与非玩家角色的人物模型关联起来。

图4中的(f)对应非玩家角色创建完成后,非玩家角色创建工具将提示用户,该提示信息包括:NPC(非玩家角色)已创建完成!您可以在地图上看到它;提示用户非玩家角色已创建完成,可以与其进行互动。

在上述实施例中,根据客户端在非玩家角色创建工具中确定的特征数据来创建自定义的非玩家角色,可以使得元宇宙中的用户能够根据自身的偏好和习惯创建一个自定义的非玩家角色,使用户在元宇宙中有更个性化、更丰富、更深度的互动体验,增强了用户在元宇宙中的沉浸感和参与感。

上述是创建自定义非玩家角色的具体方案,在自定义非玩家角色创建时,往往需要考虑到自定义非玩家角色在不同元宇宙场景内的互通性。

下面结合图5,对本申请中实现自定义非玩家角色在不同元宇宙场景内的互通性的方案进行描述:

如图5所示,为本申请实施例中一种元宇宙场景非玩家角色的创建方法的另一个流程示意图。

在创建自定义非玩家角色的过程中,需要使得所有的自定义非玩家角色与所有元宇宙场景进行匹配,以下是实现自定义非玩家角色在不同元宇宙场景内的互通性的方案。

S501、获取客户端在非玩家角色创建工具中的特征数据。

可以理解的是,该步骤与S301步骤类似,此处不再赘述。

S502、根据预设制作格式中的标准非玩家角色制作格式和该特征数据创建自定义非玩家角色根据该特征数据创建自定义非玩家角色。

该预设制作格式包括标准非玩家角色制作格式和标准场景制作规则,其中标准非角色制作格式是指在创建自定义非玩家角色时,对于自定义非玩家角色的外表、声音和动作模板都需要遵循标准非玩家角色制作格式,例如在制作自定义非玩家角色的模型时头发的材质,身体的骨骼结构,都必须符合标准非玩家角色制作格式。

在一些可实现的实施方式中,在创建完非玩家角色的人物设定、外表、声音和动作模板后,将自定义非玩家角色的数据与程序进行分开处理,自定义非玩家角色的数据指的是与自定义非玩家角色相关的人物设定信息、外表模型和声音信息,这些数据用于描述和定义自定义非玩家角色的特征和行为;而自定义非玩家角色的程序指的是处理自定义非玩家角色的游戏逻辑的程序代码,这些代码包括自定义非玩家角色的行为规则、移动方式、对话交互的逻辑、任务触发条件和处理方式等。

将程序制作成可执行文件,而自定义非玩家角色的数据打包成PAK文件格式,这样的分离可以使得不同场景的自定义非玩家角色能够独立加载和渲染,互不干扰,用户通过与自定义非玩家角色互动时,可执行文件会根据用户的选择从对应PAK文件中加载相应的资源和数据,实现与自定义非玩家角色的互动。

S503、根据预设制作格式中的标准场景制作规则对元宇宙场景进行设定。

标准场景制作规则指的是根据元宇宙平台的规范和要求,对场景进行制作和设计的一套指导原则,具体包括:元宇宙场景的场景布局、环境光照和材质、物理特性和纹理等,在制作元宇宙场景时,都必须符合标准场景制作规则。

在自定义非玩家角色和元宇宙场景制作完成后,由于所有的元宇宙场景都采用了同样的标准场景制作规则,所以同一个自定义非玩家角色可以出现在不同的元宇宙场景中。

可以理解的是,若不同的元宇宙平台采用了该标准非玩家角色制作格式和该标准场景制作规则,则在不同元宇宙平台制作的自定义非玩家角色也能出现在不同平台的元宇宙场景中。

在上述实施例中,根据预设制作格式对自定义非玩家角色和元宇宙场景进行设定,使得创建的所有自定义非玩家角色都能在所有元宇宙场景一致地呈现和互动。

在创建完自定义非玩家角色后,用户需要通过客户端与该自定义非玩家角色进行互动,其中用户与非玩家角色的互动分为互动行为与对话内容,互动行为包括使用攻击或交互命令与非玩家角色发生互动行为,与非玩家角色进行物品交易或进行任务接取等;对话内容包括用户可以与非玩家角色进行对话,接受、完成和提交任务。

以下是确定客户端与自定义非玩家角色之间的行为互动的方案,该方案包括S601~S603。

S601、将该客户端与该自定义非玩家角色之间的历史互动行为输入到个性化用户互动模型中。

历史互动行为包括:玩家角色与非玩家角色进行任务接取或产生交易的选择或决策,如非玩家角色向玩家角色发布任务,非玩家角色向玩家角色售卖商品,玩家角色与非玩家角色进行的日常互动,如打招呼、送礼物等。

从历史互动行为数据中提取关键互动行为数据,关键互动行为数据包括:

对于玩家角色与非玩家角色进行任务接取的互动,记录非玩家角色向玩家角色发布的不同任务的任务的接受情况、任务的完成进度等数据,存储到互动数据库中。

对于玩家角色与非玩家角色产生交易的互动,记录玩家角色与非玩家角色交易时的时间、交易频率,经常购买的道具或用品等数据,存储到互动数据库中。

对于玩家角色与非玩家角色产生日常互动,记录玩家角色与非玩家角色进行日常互动时打招呼的方式、送礼物的频率和时间等数据,存储到互动数据库中。

根据互动数据库中的关键互动行为数据对个性化用户互动模型进行训练,采用交叉验证或留出法将提取的历史互动数据划分为训练集和测试集,使用训练集对个性化用户互动模型进行训练,使用测试集对训练好的模型进行评估,最终得到每个用户不同的个性化用户互动模型。

根据个性化用户互动模型输出自定义非玩家角色之间的当前互动行为。

S602、根据该个性化用户互动模型的输出内容确定该客户端与该自定义非玩家角色之间的当前互动行为。

个性化用户互动模型的输出内容具体包括非玩家角色给玩家角色发布的任务、交易时出现的时间和打招呼送礼物的类型等行为类别。

例如,若某个用户对于团队合作任务的接取率和完成率较高,则自定义非玩家角色将更高频率地发布团队合作任务。

S603、将该当前互动行为通过该自定义非玩家角色与玩家角色进行互动。

将生成的任务、交易行为和日常互动行为通过该自定义非玩家角色进行关联,使得该自定义非玩家角色与玩家角色进行互动。

在上述实施例中,通过建立个性化用户互动模型,非玩家角色可以根据客户端的历史互动行为,为玩家提供个性化的互动体验,增强社交互动和代入感,从而提升用户在元宇宙内的体验。

以下是确定客户端与自定义非玩家角色之间的对话内容互动的方案,该方案包括S701~S702。

S701、当收到该客户端发送的对该自定义非玩家角色的当前对话内容时,将对该自定义非玩家角色的历史对话内容和该当前对话内容输入到语言大模型中。

在一些可实现的实施方式中,用户通过客户端与自定义非玩家角色进行对话互动时将产生历史对话内容数据,这些历史对话内容数据将会被存储在用户数据库中。

根据用户数据库中的历史对话内容数据对语言大模型进行训练,首先需要采集历史对话内容中的关键数据,如关键词、情感倾向等,使用自然语言处理技术,如词袋模型或TF-IDF方法,从对话文本中提取关键词,例如,在元宇宙场景下,玩家角色:"你好,今天天气还不错。"非玩家角色:"当然,今天阳光很好,我们可以去户外做些活动,你喜欢哪种户外活动呢?"玩家角色:"我喜欢爬山或露营。"。

这个对话中,关键词可以包括:玩家角色:"天气","爬山","露营";非玩家角色:"阳光","户外活动"。

并对该对话进行情感分析,识别其中的情感倾向,如积极、消极或中性,比如上述对话则为积极对话。

获取到关键数据后,再对历史对话内容数据进行清洗和预处理,并将关键数据输入到预设的语言模型架构中进行训练,该语言模型架构可以是GPT、BERT等,此处不做限定;并对训练过程中的超参数进行调优,如学习率、批大小等,最后得到语言大模型。

S702、将该语言大模型的输出内容通过该自定义非玩家角色进行回复。

将当前对话内容输入到语言大模型内后,语言大模型将进行语言理解和生成,输出针对用户通过客户端输入的当前对话内容的回复,并将该回复内容存储到预设回复数据库中,在执行自定义非玩家角色对应的互动程序时,获取预设回复数据库中存储的内容,与其声音进行匹配后对客户端发送的当前对话内容进行回复。

在上述实施例中,将用户与非玩家角色之间历史对话内容和当前对话内容输入到语言大模型中,非玩家角色可以通过语言大模型的输出内容对用户进行回复,语言大模型可以根据历史对话内容和当前对话内容理解上下文,使得非玩家角色能够更好地回应和参与互动,增加互动的深度和趣味性。

上述是用户与自定义非玩家角色互动时,进行对话互动的方案,下面对创建完自定义非玩家角色后,对产生的对话数据进行处理的方案进行描述:

在创建完自定义非玩家角色后,用户将通过客户端与该自定义非玩家角色产生互动,在互动过程中,用户将与该自定义非玩家角色产生对话内容,需要对产生的对话内容数据进行存储和处理,以下是对用户与自定义非玩家角色产生的对话数据进行处理的方案,该方案具体包括S801~S803。

S801、检测该历史对话内容中的敏感信息。

在用户与自定义非玩家角色进行对话互动之后,会产生历史对话内容,在对历史对话内容数据进行存储之前,需要对该历史对话内容数据进行处理,检测历史对话内容中的敏感信息。

在一些可实现的实施方式中,将历史对话内容与预设的敏感词库进行逐词匹配,如果匹配到敏感词,就可以标记该词为敏感信息,该敏感词库中一般包括:人身攻击词汇、私人信息词汇、暴力恐怖词汇和政治敏感词汇等。

S802、根据该敏感信息对该历史对话内容进行脱敏处理,得到脱敏历史对话内容。

在一些可实现的实施方式中,对检测到的敏感信息进行替换操作,将敏感词替换成特定的符号或通用词汇,例如,将人名替换成"某某",将电话号码替换成"***",将地址替换成"某省某市某区",将人身攻击词汇替换为"***"等,得到脱敏历史对话内容。

S803、对该脱敏历史对话内容进行加密存储。

在一些可实现的实施方式中,使用非对称加密和对称加密的混合加密算法对脱敏历史对话内容进行存储,具体包括:首先生成一对非对称加密的密钥,用公钥加密对话内容,私钥解密。然后生成一个对称加密的密钥,用非对称加密的公钥加密对称密钥,并将加密后的密钥与加密后的对话内容一起存储。读取时,先用私钥解密对称密钥,再用对称密钥解密对话内容。

在上述实施例中,对历史对话内容进行脱敏处理,可以使得历史对话内容符合合规要求,并有效保护用户的隐私信息不被泄露,有助于解决数据隐私和保密性要求,提高了元宇宙平台的安全性。

上述是对产生的对话数据进行处理的方案,下面对创建完自定义非玩家角色后渲染自定义非玩家角色的方案进行描述:

在创建完自定义非玩家角色后,用户需要通过客户端在元宇宙场景内看到创建的自定义非玩家角色,所以需要对所有自定义非玩家角色进行渲染,使得所有自定义非玩家角色能够呈现到场景内,而对其进行渲染需要多个渲染节点,以下是对渲染节点进行分配的方案,该方案具体包括S901~S902。

S901、获取所有渲染节点的资源利用率,该渲染节点用于对自定义非玩家角色进行渲染。

渲染节点是指专门用于进行渲染任务的计算节点,其中包括计算设备、存储设备和渲染引擎等硬件和软件,可以通过对渲染节点中的计算设备的实时数据进行监测,来判断渲染节点的负载情况,实时数据包括:CPU使用率、内存使用率、GPU使用率以及网络带宽利用率等。

在一些可实现的实施方式中,将渲染节点内的平均GPU利用率与其他资源的利用率(如CPU、内存等)进行综合,根据实际情况进行加权平均,得到渲染节点的资源利用率,例如,可以根据不同的资源重要性进行加权平均,或者将不同资源的利用率进行归一化处理后再进行平均,此处不作限定。

在一个由多个渲染节点组成的节点池中,每个节点都具有渲染能力和可扩展性,这些节点可以是物理服务器或虚拟机实例,也可以是云平台的资源,此处不作限定。

将待渲染的任务进行分解和管理,将任务分配给渲染节点,其中任务可以根据不同的渲染框架进行划分,例如将自定义非玩家角色的动画序列帧分配给不同的节点进行渲染,此处不作限定。

S902、在产生渲染任务的情况下,将渲染任务分配给该资源利用率最低的渲染节点。

在一些可实现的实施方式中,根据渲染节点的资源利用率来确定渲染节点的优先级,资源利用率最低的渲染节点优先级最高,资源利用率最高的渲染节点优先级最低,并实时监测渲染节点的资源利用率,并根据实时情况动态调整节点的优先级,比如高利用率的节点降低优先级,低利用率的节点提高优先级。

除了资源利用率外,还可以结合其他指标如响应时间、任务完成率等,综合考虑渲染节点的优先级,可以设置权重或采用策略来平衡不同指标的影响,此处不作限定。

首先确定待分配的渲染任务的数量和类型,根据需要渲染的场景、图像或动画的大小、复杂度等因素,确定需要分配的具体任务,其次从待分配的渲染任务中选取一个,按照排序好的渲染节点列表依次分配任务,将被选中的渲染任务分配给对应的渲染节点后,再更新相应节点的状态。

重复以上步骤,依次分配渲染任务给下一个优先级较高的渲染节点,直至所有任务都被分配或没有可用节点为止。

在上述实施例中,根据渲染节点的资源利用率分配渲染任务,进行资源的合理分配和调度,避免某些节点过载而导致渲染性能下降,同时,也可以发现一些资源利用率较低的节点,将其资源分配给其他需要的节点以最大程度地利用资源。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

下面从模块角度介绍本申请实施例中的系统:

请参阅图6,为本申请实施例中提供的一种元宇宙场景非玩家角色的创建系统的功能模块结构示意图,该创建系统包括计算机,该计算机包括:

获取模块601,获取客户端在非玩家角色创建工具中的特征数据;

创建模块602,根据该特征数据创建自定义非玩家角色。

上面从模块化功能实体的角度对本申请实施例中的系统进行描述,下面从硬件处理的角度对本发明申请实施例中的系统进行描述,请参阅图7,为本申请实施例提供的计算机的实体装置结构示意图。

需要说明的是,图7示出的系统的结构仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图7所示,系统包括中央处理单元(Central Processing Unit,CPU)701,其可以根据存储在只读存储器(Read-Only Memory,ROM)702中的程序或者从存储部分708加载到随机访问存储器(Random Access Memory,RAM)703中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(Input /Output,I/O)接口705也连接至总线704。

以下部件连接至I/O接口705:包括摄像头等的输入部分706;包括液晶显示器(Liquid Crystal Display,LCD)以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。

特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明中限定的各种功能。

需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。九三级可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

具体的,本实施例的系统包括处理器和存储器,存储器上存储有计算机程序,计算机程序被处理器执行时,实现上述实施例提供的创建方法。

作为另一方面,本发明还提供了一种计算机可读的存储介质,该存储介质可以是上述实施例中描述的计算机中所包含的;也可以是单独存在,而未装配入该系统中。上述存储介质承载有一个或者多个计算机程序,当上述一个或者多个计算机程序被一个该计算机的处理器执行时,使得该计算机实现上述实施例中提供的方法。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

相关技术
  • 非玩家角色的控制方法、装置、计算机设备及存储介质
  • 对非玩家角色寻路的方法、装置、存储介质及计算机设备
技术分类

06120116512870