CN111598981B - 角色模型的显示方法、装置、设备及存储介质 - Google Patents
角色模型的显示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111598981B CN111598981B CN202010414388.5A CN202010414388A CN111598981B CN 111598981 B CN111598981 B CN 111598981B CN 202010414388 A CN202010414388 A CN 202010414388A CN 111598981 B CN111598981 B CN 111598981B
- Authority
- CN
- China
- Prior art keywords
- model
- node
- file
- clothes
- character model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/16—Cloth
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种角色模型的显示方法、装置、设备及存储介质,属于计算机技术领域。所述方法包括:渲染和显示第一角色模型,第一角色模型穿戴有第一衣服模型。响应于换装指令,获取第二衣服模型,第一衣服模型和第二衣服模型为具有相同的目标骨骼节点的三维模型;将第二衣服模型中除目标骨骼节点以外的模型数据,融合至第一角色模型中,得到第二角色模型;渲染和显示第二角色模型。由于在进行换装的过程中,不需要重新建立新的模型,并且第二角色模型为第一角色模型根据第二衣服模型完成换装的模型。本申请减少了计算资源的消耗。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种角色模型的显示方法、装置、设备及存储介质。
背景技术
目前,在客户端中应用三维(3-dimensional,3D)模型的场景越来越多,客户端提供的处理3D模型的功能也越来越多。例如客户端支持对3D角色模型进行换装,具体可以对3D角色模型的衣服和鞋子等进行换装。
客户端在对第一3D角色模型进行换装时,通常会将第一3D角色模型替换为第二3D角色模型,并进行渲染和展示。第一3D角色模型为客户端中任一支持换装的3D角色模型,第二3D角色模型为客户端重新建立的一个或多个基于第一3D角色模型完成换装的3D角色模型。
在实现3D角色模型换装的过程中,客户端需要重新建立换装完成的3D角色模型,消耗的计算资源较多。
发明内容
本申请提供了一种角色模型的显示方法、装置、设备及存储介质,可以减少角色模型的显示过程中的计算资源的消耗。所述技术方案如下:
一方面,提供了一种角色模型的显示方法,所述方法包括:
渲染和显示第一角色模型,所述第一角色模型穿戴有第一衣服模型;
响应于换装指令,获取第二衣服模型,所述第一衣服模型和所述第二衣服模型为具有相同的目标目标骨骼节点的三维模型;
将所述第二衣服模型中除所述目标骨骼节点以外的模型数据,融合至所述第一角色模型中,得到第二角色模型;所述第二角色模型为所述第一角色模型根据所述第二衣服模型完成换装的角色模型;
渲染和显示所述第二角色模型。
另一方面,提供了一种角色模型的显示装置,所述装置包括:
渲染模块,用于渲染和显示第一角色模型,所述第一角色模型穿戴有第一衣服模型;
获取模块,用于响应于换装指令,获取第二衣服模型,所述第一衣服模型和所述第二衣服模型为具有相同的目标目标骨骼节点的三维模型;
融合模块,用于将所述第二衣服模型中除所述目标骨骼节点以外的模型数据,融合至所述第一角色模型中,得到第二角色模型;所述第二角色模型为所述第一角色模型根据所述第二衣服模型完成换装的角色模型;
渲染模块,还用于渲染和显示所述第二角色模型。
可选地,所述第一角色模型包括第一描述文件,所述第二衣服模型包括第二描述文件;所述第一描述文件包括所述目标骨骼节点、第一衣服节点和第一绑定关系,所述第二描述文件包括所述目标骨骼节点、第二衣服节点和第二绑定关系;
所述融合模块,用于:
在保留所述第一描述文件中的所述目标骨骼节点不变的情况下,将所述第二衣服节点添加至所述第一描述文件;
采用所述第二绑定关系替换所述第一描述文件中的所述第一绑定关系,所述第一绑定关系是所述目标骨骼节点和所述第一衣服节点之间的绑定关系,所述第二绑定关系是所述目标骨骼节点和所述第二衣服节点之间的绑定关系。
可选地,所述融合模块,用于:
在所述第一描述文件中的根节点的子节点序号中,删除所述第一衣服节点序号,所述第一衣服节点序号用于指示所述第一衣服节点在所有节点中的排序位置,所述根节点的子节点序号用于指示所述根节点包括的子节点;
在所述第一描述文件中的根节点的子节点序号中,添加所述第二衣服节点序号,所述第二衣服节点序号用于指示所述第二衣服节点在所有节点中的排序位置。
可选地,所述第一角色模型还包括第一素材文件,所述第二衣服模型还包括第二素材文件,所述第一素材文件包括在渲染所述第一衣服节点时所需的图片文件,所述第二素材文件包括在渲染所述第二衣服节点时所需的图片文件;
所述装置还包括:
第一移动模块,用于将所述第二素材文件移动至所述第一素材文件的父目录中;
第一新增模块,用于在所述第一描述文件中新增所述第二素材文件的第二素材文件地址以及第二素材地址序号,所述第二素材文件地址包括所述第二素材文件在所述父目录中的地址,所述第二素材地址序号用于指示所述第二素材文件地址在所有素材文件地址中的排序位置。
可选地,所述第一角色模型还包括第一数据文件,所述第二衣服模型还包括第二数据文件,所述第一数据文件用于在渲染所述第一角色模型时提供所需的渲染数据,所述第二数据文件用于在渲染所述第二衣服模型时提供所需的渲染数据;
所述装置还包括:
第二移动模块,用于将所述第二数据文件移动至所述第一数据文件的父目录中;
第二新增模块,用于在所述第一描述文件中新增所述第二数据文件的第二数据文件地址以及第二数据地址序号,所述第二数据文件地址包括所述第二数据文件在所述父目录中的地址,所述第二数据地址序号用于指示所述第二数据文件地址在所有数据文件地址中的排序位置。
可选地,所述第一描述文件中还包括与所述目标骨骼节点对应的骨骼动画信息,所述渲染模块,用于:
根据所述骨骼动画信息,将所述第二角色模型渲染和显示为三维动画。
又一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现上述方面所述的角色模型的显示方法。
再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现上述方面所述的角色模型的显示方法。
本申请提供的技术方案带来的有益效果至少包括:
通过响应于换装指令,将第二衣服模型中除目标骨骼节点以外的模型数据,融合至第一角色模型中,得到第二角色模型。由于在进行换装的过程中,不需要重新建立新的模型,而是将第二衣服模型除目标骨骼节点以外的模型数据融合至第一角色模型来得到第二角色模型,从而减少了计算资源的消耗。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的3D角色模型换装效果的示意图;
图2是本申请实施例提供的3D角色模型对应的模型文件的示意图;
图3是本申请实施例提供的一种角色模型的显示方法的流程示意图;
图4是本申请实施例提供的在客户端中对角色模型进行换装的用户界面示意图;
图5是本申请实施例提供的另一种角色模型的显示方法的流程示意图;
图6是本申请实施例提供的一种将第二衣服模型中的模型数据融合至第一角色模型中的方法的流程示意图;
图7是本申请实施例提供的一种采用第二绑定关系替换第一绑定关系的方法的流程示意图;
图8是本申请实施例提供的又一种角色模型的显示方法的流程示意图;
图9是本申请实施例提供的一种角色模型的显示装置的结构示意图;
图10是本申请实施例提供的另一种角色模型的显示装置的结构示意图;
图11是本申请实施例提供的又一种角色模型的显示装置的结构示意图;
图12是本申请实施例提供的一种终端的结构示意图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的3D角色模型换装效果的示意图,如图1的(a)所示,客户端渲染和显示的第一角色模型101为女性人物模型,第一角色模型101穿戴有第一衣服模型102,该第一衣服模型102为第一角色模型101中的上衣以及裤子。以3D角色模型为图形语言交换格式(GL TransmissionFormat,GLTF)的3D模型为例。图2是本申请实施例提供的3D角色模型对应的模型文件的示意图。如图2所示,图2的(a)为图1的(a)中的第一角色模型对应的模型文件。第一角色模型101包括第一描述文件201、第一数据文件202以及第一素材文件203。第一描述文件201包括第一衣服模型102的骨骼节点、第一衣服节点以及第一模型信息。该第一衣服节点为第一衣服模型对应的节点。如图1的(b)所示,第二衣服模型103为裙子,客户端根据该第二衣服模型103替换第一角色模型101中的第一衣服模型102。如图2所示,图2的(b)为图1的(b)中的第二衣服模型对应的模型文件。第二衣服模型103包括第二描述文件204、第二数据文件205以及第二素材文件206。第二描述文件204包括第二衣服模型103的骨骼节点、第二衣服节点以及第二模型信息。该第二衣服节点为第二衣服模型对应的节点。第一描述文件中的第一衣服模型的骨骼节点与第二描述文件中的第二衣服模型的骨骼节点相同。
客户端保留第一描述文件中的第一衣服模型的骨骼节点不变,将第一描述文件中的第一衣服节点替换为第二衣服节点。客户端将第一描述文件中的第一模型信息与第二描述文件中的第二模型信息合并,并修改第二模型信息中各模型数据的序号信息,使第二模型信息在加入第一描述文件后保持信息正确,得到第三描述文件。客户端将第二数据文件移动至第一数据文件的父目录中,将第一数据文件与第二数据文件共同确定为第三数据文件。客户端将第二素材文件移动至第一素材文件的父目录中,将第一素材文件与第二素材文件共同确定为第三素材文件。客户端根据第三描述文件、第三数据文件以及第三素材文件,得到第二角色模型。
如图1的(c)所示,在客户端对第二角色模型104的渲染和显示的结果中,第一角色模型101中的第一衣服模型102被替换为第二衣服模型103,实现第一角色模型的换装。如图2所示,图2的(c)为图1的(c)中的第二角色模型对应的模型文件。第二角色模型104包括第三描述文件207、第三数据文件208以及第三素材文件209。
在客户端进行角色模型换装的过程中,不需要重新建立新的角色模型,而是将第二衣服模型除骨骼节点以外的模型数据融合至第一角色模型来得到第二角色模型,从而减少了计算资源的消耗。
图3是本申请实施例提供的一种角色模型的显示方法的流程示意图。该方法可以用于计算机设备上的客户端。如图3所示,该方法包括:
步骤301、渲染和显示第一角色模型,第一角色模型穿戴有第一衣服模型。
可选地,客户端从服务器中获取第一角色模型,并渲染和显示该第一角色模型。或者,客户端从安装有该客户端的计算机设备中获取第一角色模型,并渲染和显示该第一角色模型。
第一角色模型为客户端执行换装步骤前的原始模型。可选地,第一角色模型为图形语言交换格式(GL TransmissionFormat,GLTF)的3D模型。第一角色模型为任一3D人物模型。可选地,第一角色模型穿戴的第一衣服模型指,客户端渲染和显示的第一角色模型对应的人物穿戴的服饰。
第一角色模型包括第一描述文件、第一数据文件和/或第一素材文件。第一描述文件用于描述第一角色模型的组成结构。第一描述文件中包括第一角色模型的骨骼节点以及第一衣服节点。第一角色模型的骨骼节点包括第一衣服模型的目标骨骼节点。第一衣服节点为第一角色模型在换装过程中被替换的第一衣服模型对应的节点。目标骨骼节点用于描述第一衣服模型对应的虚拟人物骨骼。可选地,该目标骨骼节点包括左臂骨骼节点、右臂骨骼节点、躯干骨骼节点、左腿骨骼节点以及右腿骨骼节点。角色模型中的节点指构成角色模型的元素,例如角色模型的骨骼、衣服、身体、四肢等。客户端在将角色模型渲染为3D动画时,根据角色模型的骨骼节点对应的骨骼动画,使角色模型依靠该骨骼节点对应的虚拟人物骨骼的动画进行活动。
客户端在渲染第一角色模型时,通过第一描述文件中的第一信息获取第一数据文件,以及在第一数据文件中获取渲染数据并通过该渲染数据渲染第一角色模型。以及,客户端按照第一描述文件中的第二信息调用第一素材文件,并结合第一素材文件渲染第一角色模型。
步骤302、响应于换装指令,获取第二衣服模型,第一衣服模型和第二衣服模型为具有相同的目标骨骼节点的三维模型。
可选地,当客户端接收到针对第一角色模型的换装按钮的点击操作时,当客户端接收到针对第一角色模型的语音换装指令时,客户端确定接收到换装指令。示例地,该语音换装指令包括“给这个角色换一套衣服”以及“给这个角色穿上裙子”。
示例地,图4是本申请实施例提供的在客户端中对角色模型进行换装的用户界面示意图。如图4所示,该用户界面中包括角色模型401以及该角色模型401对应的换装按钮402。当客户端接收到针对换装按钮402的点击操作时,确定接收到换装指令。
可选地,客户端从服务器中获取若干衣服模型,并从中获取第二衣服模型。或者,客户端从安装有该客户端的计算机设备中获取若干衣服模型,并从中获取第二衣服模型。
客户端根据第二衣服模型,对第一角色模型进行换装。可选地,第二衣服模型为任一和第一衣服模型具有相同骨骼节点的3D衣服模型。第二衣服模型包括第二描述文件、第二数据文件和/或第二素材文件。第二描述文件中包括第二衣服模型的目标骨骼节点以及第二衣服节点。第二衣服节点为第二衣服模型对应的节点。第一描述文件中的第一衣服模型的目标骨骼节点,与第二描述文件中的第二衣服模型的目标骨骼节点相同。
步骤303、将第二衣服模型中除目标骨骼节点以外的模型数据,融合至第一角色模型中,得到第二角色模型。
第二角色模型为第一角色模型根据第二衣服模型完成换装的角色模型。第二角色模型包括第三描述文件、第三数据文件和/或第三素材文件。第二角色模型的第三描述文件包括第一描述文件中的信息以及第二描述文件除目标骨骼节点以外的信息,第三描述文件包括第二衣服节点。客户端在渲染第二角色模型时,通过第三描述文件中的第三信息获取第三数据文件,以及在第三数据文件中获取渲染数据并通过该渲染数据渲染第二角色模型。以及,按照第三描述文件中的第四信息调用第三素材文件,并结合第三素材文件渲染第二角色模型。第二角色模型的第三数据文件包括第一数据文件以及第二数据文件。第二角色模型的第三素材文件包括第一素材文件以及第二素材文件。
步骤304、渲染和显示第二角色模型。
可选地,第一描述文件中包括与目标骨骼节点对应的骨骼动画信息,客户端根据该骨骼动画信息将该第二角色模型渲染和显示为3D动画。
综上所述,本申请实施例提供的角色模型的显示方法,响应于换装指令,将第二衣服模型中除目标骨骼节点以外的模型数据,融合至第一角色模型中,得到第二角色模型。由于在进行换装的过程中,不需要重新建立新的模型,而是将第二衣服模型除目标骨骼节点以外的模型数据融合至第一角色模型来得到第二角色模型,从而减少了计算资源的消耗。
图5是本申请实施例提供的另一种角色模型的显示方法的流程示意图。该方法可以用于计算机设备上的客户端。如图5所示,该方法包括:
步骤501、渲染和显示第一角色模型,第一角色模型穿戴有第一衣服模型。
第一角色模型包括第一描述文件、第一数据文件和/或第一素材文件。第一描述文件中包括第一衣服模型的目标骨骼节点以及第一衣服节点。第一衣服节点为第一角色模型在换装过程中被替换的第一衣服模型对应的节点。
步骤502、响应于换装指令,获取第二衣服模型,第一衣服模型和第二衣服模型为具有相同的目标骨骼节点的三维模型。
第二衣服模型包括第二描述文件、第二数据文件和/或第二素材文件。第二描述文件中包括第二衣服模型的目标骨骼节点以及第二衣服节点。第二衣服节点为第二衣服模型对应的节点。第一描述文件中的第一衣服模型的目标骨骼节点与第二描述文件中的第二衣服模型的目标骨骼节点相同。
步骤503、将第二衣服模型中除目标骨骼节点以外的模型数据,融合至第一角色模型中,得到第三描述文件、第三素材文件以及第三数据文件。
可选地,步骤503的实现过程如图6所示,包括以下步骤5031a至5031g。
在步骤5031a中,在保留第一描述文件中的目标骨骼节点不变的情况下,将第二衣服节点添加至第一描述文件。
可选地,客户端通过运行识别程序,识别出第二描述文件中的第二衣服节点,并将第二衣服节点添加至第一描述文件。以及,客户端通过运行识别程序,识别第二描述文件中除目标骨骼节点以外的信息,将该信息添加至第一描述文件。
示例地,当第一角色模型以及第二衣服模型均为图形语言交换格式(GLTransmissionFormat,GLTF)的3D模型时,客户端识别的第二描述文件中除骨骼节点以外的信息包括:
数据文件地址(buffers)、渲染数据地址(bufferviews)、访问器(accessors)、素材文件地址(images)、纹理信息(textures)、外观参数(materials)、几何物体(meshes)、节点(nodes)。
示例地,第二衣服节点如下。客户端通过运行识别程序,识别出第二描述文件中如下的第二衣服节点,并将第二衣服节点添加至第一描述文件。
在步骤5031b中,采用第二绑定关系替换第一描述文件中的第一绑定关系,第一绑定关系是目标骨骼节点和第一衣服节点之间的绑定关系,第二绑定关系是目标骨骼节点和第二衣服节点之间的绑定关系。
可选地,步骤5031b的实现过程如图7所示,包括以下步骤31a以及31b:
在步骤31a中,在第一描述文件中的根节点的子节点序号中,删除第一衣服节点序号。
可选地,客户端通过运行识别程序,确定第一衣服节点序号在第一描述文件中的根节点的子节点序号中的位置,并删除第一衣服节点的序号。第一描述文件中的根节点指第一描述文件中没有父节点的节点。第一衣服节点序号用于指示第一衣服节点在所有节点中的排序位置。根节点的子节点序号用于指示根节点包括的子节点。
示例地,第一描述文件中的根节点的子节点序号如下:
其中,根节点RootNode包括6个子节点的序号,表示根节点包括6个子节点。6为第一衣服节点序号,表示第一衣服节点排在全部节点中的第7个(从0开始排序)。客户端删除第一衣服节点序号,即根节点的子节点中不包括第一衣服节点。
在步骤31b中,在第一描述文件中的根节点的子节点序号中,添加第二衣服节点序号。
可选地,客户端在第一描述文件中的根节点的子节点序号中,添加第二衣服节点的序号。第二衣服节点序号用于指示第二衣服节点在所有节点中的排序位置。
示例地,添加第二节点序号后的第一描述文件中的根节点的子节点序号如下:
其中,7为第二衣服节点序号,表示第二衣服节点排在全部节点中的第8个(从0开始排序)。客户端添加第二衣服节点序号,即根节点的子节点中包括第二衣服节点。实现采用第二绑定关系替换第一描述文件中的第一绑定关系,即采用第二衣服节点替换第一衣服节点。可选地,客户端在采用第二绑定关系替换第一描述文件中的第一绑定关系的过程中,删除第一衣服节点,或者保留第一衣服节点。
在步骤5031c中,将第二素材文件移动至第一素材文件的父目录中。
可选地,客户端将第二素材文件移动至第一素材文件的父目录中。实现在渲染换装后的第一角色模型时,正常调用第二衣服模型的第二素材文件。客户端将第一素材文件以及第二素材文件共同确定为第三素材文件。
在步骤5031d中,在第一描述文件中新增第二素材文件的第二素材文件地址以及第二素材地址序号。
可选地,客户端在步骤5031a中,在第一描述文件中新增第二素材文件的第二素材文件地址。或者在步骤5031d中,在第一描述文件中新增第二素材文件的第二素材文件地址。客户端在第一描述文件中的纹理信息(textures)以及外观参数(materials)中新增第二素材地址序号。其中第一描述文件中的纹理信息(textures)以及外观参数(materials)为第二描述文件中添加至第一描述文件中的纹理信息(textures)以及外观参数(materials)。第二素材文件地址包括第二素材文件在父目录中的地址,第二素材地址序号用于指示第二素材文件地址在所有素材文件地址中的排序位置。
示例地,第二素材文件的第二素材文件地址如下:
其中,qunzi.png为第二素材文件地址,该第二素材文件地址为第二素材文件的文件名称。
示例地,客户端在第一描述文件中新增的第二素材地址序号如下:
其中,"source":11以及"index":11中的11为第二素材地址序号,表示第二素材文件地址排在所有素材文件地址中的第12个(从0开始排序)。
在步骤5031e中,将第二数据文件移动至第一数据文件的父目录中。
可选地,客户端将第二数据文件移动至第一数据文件的父目录中。实现在渲染换装后的第一角色模型时,正常调用第二衣服模型的第二数据文件。客户端将第一数据文件以及第二数据文件共同确定为第三数据文件。
在步骤5031f中,在第一描述文件中新增第二数据文件的第二数据文件地址以及第二数据地址序号。
可选地,客户端在步骤5031a中,在第一描述文件中新增第二数据文件的第二数据文件地址。或者在步骤5031f中,在第一描述文件中新增第二数据文件的第二数据文件地址。客户端在第一描述文件中的渲染数据地址(bufferviews)中新增第二数据地址序号。其中第一描述文件中的渲染数据地址(bufferviews)为第二描述文件中添加至第一描述文件中的渲染数据地址(bufferviews)。第二数据文件地址包括第二数据文件在父目录中的地址,第二数据地址序号用于指示第二数据文件地址在所有数据文件地址中的排序位置。
示例地,第二数据文件的第二数据文件地址如下:
其中,2.bin为第二数据文件地址,该第二数据文件地址为第二数据文件的文件名称。
示例地,客户端在第一描述文件中新增第二数据地址序号如下:
其中,"buffer":1中的1为第二数据地址序号,表示第二数据文件地址排在所有数据文件地址中的第2个(从0开始排序)。
在步骤5031g中,在第一数据文件中修改调用序号信息。
该调用序号信息包括外观参数序号、渲染数据地址序号、几何物体序号和/或蒙皮序号。外观参数序号用于指示第二衣服模型的第二描述文件中的外观参数,在添加至第一描述文件后,在所有外观参数中的排序位置。渲染数据地址序号用于指示第二衣服模型的第二描述文件中的渲染数据地址,在添加至第一描述文件后,在所有渲染数据地址中的排序位置。几何物体序号用于指示第二衣服模型的第二描述文件中的几何物体,在添加至第一描述文件后,在所有几何物体中的排序位置。蒙皮序号用于指示第二衣服模型的第二描述文件中的第二衣服节点,调用的第一描述文件中的蒙皮在所有蒙皮中的排序位置。客户端修改调用序号信息,用于使第二描述文件中除目标骨骼节点以外的信息在加入第一描述文件后保持信息正确。
根据步骤503,客户端得到修改后的第一描述文件,即第三描述文件。以及第三素材文件和第三数据文件。第三描述文件、第三素材文件以及第三数据文件共同组成第二角色模型。第二角色模型为第一角色模型根据第二衣服模型完成换装的角色模型。
步骤504、根据第三描述文件、第三素材文件以及第三数据文件渲染和显示第二角色模型。
可选地,第一描述文件中还包括与目标骨骼节点对应的骨骼动画信息。客户端根据该骨骼动画信息,将第二角色模型渲染和显示为3D动画。
综上所述,本申请实施例提供的角色模型的显示方法,响应于换装指令,将第二衣服模型中除目标骨骼节点以外的模型数据,融合至第一角色模型中,得到第三描述文件、第三素材文件以及第三数据文件,从而得到第二角色模型。由于在进行换装的过程中,不需要重新建立新的模型,而是将第二衣服模型除目标骨骼节点以外的模型数据融合至第一角色模型来得到第二角色模型,从而减少了计算资源的消耗。
另外,在根据第二衣服模型对第一角色模型换装的过程中,不需要修改第一角色模型的模型数据,便于对第一角色模型进行维护。以及,主要通过将第一衣服节点替换为第二衣服节点的方式进行第一角色模型的换装,降低了对角色模型进行换装的难度。
图8是本申请实施例提供的又一种角色模型的显示方法的流程示意图。该方法可以用于计算机设备上的客户端。如图8所示,该方法包括:
步骤801、获取第一角色模型以及第二衣服模型,第一角色模型穿戴有第一衣服模型,第一衣服模型与第二衣服模型具有相同的骨骼节点。
第一角色模型以及第二衣服模型均为图形语言交换格式(GLTransmissionFormat,GLTF)的3D模型。第一角色模型包括第一描述文件、第一数据文件以及第一素材文件。第一描述文件包括第一衣服节点以及第一衣服模型的骨骼节点。第二衣服模型包括第二描述文件、第二数据文件以及第二素材文件。第二描述文件包括第二衣服节点以及第二衣服模型的骨骼节点。第一衣服模型与第二衣服模型具有相同的骨骼节点。
步骤802、将第二衣服模型对应的文件夹中的文件复制到第一角色模型对应的文件夹中。
客户端将第二衣服模型对应的文件夹中的文件复制到第一角色模型对应的文件夹中。即客户端将第二描述文件、第二数据文件以及第二素材文件复制到第一角色模型对应的文件夹中。
步骤803、将第二描述文件中除骨骼节点以外的信息添加到第一描述文件中,得到第一目标描述文件。
客户端通过运行识别程序,识别第二描述文件中除骨骼节点以外的信息,将该信息添加至第一描述文件中。客户端向第一描述文件中添加的该信息包括:数据文件地址(buffers)、渲染数据地址(bufferviews)、访问器(accessors)、素材文件地址(images)、纹理信息(textures)、外观参数(materials)、几何物体(meshes)、节点(nodes)。客户端向第一描述文件中添加的节点为第二衣服节点。
步骤804、修改第一目标描述文件中的序号信息,得到第二目标描述文件。
客户端在第一目标描述文件中修改的该序号信息包括:第二素材地址序号、第二数据地址序号、外观参数序号、渲染数据地址序号、几何物体序号和/或蒙皮序号。客户端修改序号信息,用于使第二描述文件中除骨骼节点以外的信息在加入第一描述文件后保持信息正确。
步骤805、将第二目标描述文件中的第一绑定关系替换为第二绑定关系,得到第三描述文件,第一绑定关系是骨骼节点和第一衣服节点之间的绑定关系,第二绑定关系是骨骼节点和第二衣服节点之间的绑定关系。
客户端在第二目标描述文件中的根节点的子节点序号中删除第一衣服节点的序号,并添加第二衣服节点序号。实现将第二目标描述文件中的第一绑定关系替换为第二绑定关系,即采用第二衣服节点替换第一衣服节点。第二衣服节点序号用于指示第二衣服节点在所有节点中的排序位置。
步骤806、根据第三描述文件、第一数据文件、第二数据文件、第一素材文件以及第二素材文件渲染和显示第二角色模型。
第三描述文件、第一数据文件、第二数据文件、第一素材文件以及第二素材文件共同组成第二角色模型,第二角色模型为第一角色模型根据第二衣服模型完成换装的角色模型。
可选地,第三描述文件中还包括与第一角色模型的骨骼节点对应的骨骼动画信息。客户端根据该骨骼动画信息,将第二角色模型渲染和显示为3D动画。
综上所述,本申请实施例提供的角色模型的显示方法,将第二角色模型对应的文件夹中的文件复制到第一角色模型对应的文件夹中。将第二描述文件中除骨骼节点以外的信息添加到第一描述文件中,得到第一目标描述文件。修改第一目标描述文件中的序号信息,得到第二目标描述文件。将第二目标描述文件中的第一绑定关系替换为第二绑定关系,得到第三描述文件。由于在进行换装的过程中,不需要重新建立新的模型,而是将第二衣服模型除骨骼节点以外的模型数据融合至第一角色模型来得到第二角色模型,从而减少了计算资源的消耗。
另外,在根据第二衣服模型对第一角色模型换装的过程中,不需要修改第一角色模型的模型数据,便于对第一角色模型进行维护。以及,主要通过将第一衣服节点替换为第二衣服节点的方式进行第一角色模型的换装,降低了对角色模型进行换装的难度。
需要说明的是,本申请实施例提供的角色模型的显示方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
图9是本申请实施例提供的一种角色模型的显示装置的结构示意图。该装置可以用于计算机设备上的客户端。如图9所示,该装置90包括:
渲染模块901,用于渲染和显示第一角色模型,第一角色模型穿戴有第一衣服模型。
获取模块902,用于响应于换装指令,获取第二衣服模型,第一衣服模型和第二衣服模型为具有相同的目标骨骼节点的三维模型。
融合模块903,用于将第二衣服模型中目标除骨骼节点以外的模型数据,融合至第一角色模型中,得到第二角色模型;第二角色模型为第一角色模型根据第二衣服模型完成换装的角色模型。
渲染模块901,还用于渲染和显示第二角色模型。
综上所述,本申请实施例提供的角色模型的显示装置,响应于换装指令,将第二衣服模型中除目标骨骼节点以外的模型数据,通过融合模块融合至第一角色模型中,得到第二角色模型。由于在进行换装的过程中,不需要重新建立新的模型,而是将第二衣服模型除目标骨骼节点以外的模型数据融合至第一角色模型来得到第二角色模型,从而减少了计算资源的消耗。
可选地,第一角色模型包括第一描述文件,第二衣服模型包括第二描述文件。第一描述文件包括目标骨骼节点、第一衣服节点和第一绑定关系。第二描述文件包括目标骨骼节点、第二衣服节点和第二绑定关系。融合模块903,用于:
在保留第一描述文件中的目标骨骼节点不变的情况下,将第二衣服节点添加至第一描述文件。
采用第二绑定关系替换第一描述文件中的第一绑定关系,第一绑定关系是目标骨骼节点和第一衣服节点之间的绑定关系,第二绑定关系是目标骨骼节点和第二衣服节点之间的绑定关系。
可选地,融合模块903,用于:
在第一描述文件中的根节点的子节点序号中,删除第一衣服节点序号,第一衣服节点序号用于指示第一衣服节点在所有节点中的排序位置,根节点的子节点序号用于指示根节点包括的子节点。
在第一描述文件中的根节点的子节点序号中,添加第二衣服节点序号,第二衣服节点序号用于指示第二衣服节点在所有节点中的排序位置。
可选地,第一角色模型还包括第一素材文件,第二衣服模型还包括第二素材文件。第一素材文件包括在渲染第一衣服节点时所需的图片文件。第二素材文件包括在渲染第二衣服节点时所需的图片文件。如图10所示,装置90还包括:
第一移动模块904,用于将第二素材文件移动至第一素材文件的父目录中。
第一新增模块905,用于在第一描述文件中新增第二素材文件的第二素材文件地址以及第二素材地址序号,第二素材文件地址包括第二素材文件在父目录中的地址,第二素材地址序号用于指示第二素材文件地址在所有素材文件地址中的排序位置。
可选地,第一角色模型还包括第一数据文件,第二衣服模型还包括第二数据文件。第一数据文件用于在渲染第一角色模型时提供所需的渲染数据,第二数据文件用于在渲染第二衣服模型时提供所需的渲染数据。如图11所示,装置90还包括:
第二移动模块906,用于将第二数据文件移动至第一数据文件的父目录中。
第二新增模块907,用于在第一描述文件中新增第二数据文件的第二数据文件地址以及第二数据地址序号,第二数据文件地址包括第二数据文件在父目录中的地址,第二数据地址序号用于指示第二数据文件地址在所有数据文件地址中的排序位置。
可选地,第一描述文件中还包括与目标骨骼节点对应的骨骼动画信息,渲染模块901,用于:
根据骨骼动画信息,将第二角色模型渲染和显示为三维动画。
综上所述,本申请实施例提供的角色模型的显示装置,响应于换装指令,将第二衣服模型中除目标骨骼节点以外的模型数据,通过融合模块融合至第一角色模型中,得到第三描述文件、第三素材文件以及第三数据文件,从而得到第二角色模型。由于在进行换装的过程中,不需要重新建立新的模型,而是将第二衣服模型除目标骨骼节点以外的模型数据融合至第一角色模型来得到第二角色模型,从而减少了计算资源的消耗。
另外,在根据第二衣服模型对第一角色模型换装的过程中,不需要修改第一角色模型的模型数据,便于对第一角色模型进行维护。以及,主要通过将第一衣服节点替换为第二衣服节点的方式进行第一角色模型的换装,降低了对角色模型进行换装的难度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请的实施例还提供了一种计算机设备,该计算机设备包括:处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的角色模型的显示方法。
可选地,该计算机设备为终端。示例地,图12是本申请实施例提供的一种终端的结构示意图。
通常,终端1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的角色模型的显示方法。
在一些实施例中,终端1200还可选包括有:***设备接口1203和至少一个***设备。处理器1201、存储器1202和***设备接口1203之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1203相连。具体地,***设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
***设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和***设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和***设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本申请实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端1200的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
定位组件1208用于定位终端1200的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1208可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源1209用于为终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
加速度传感器1211可以检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制触摸显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1212可以检测终端1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端1200的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1213可以设置在终端1200的侧边框和/或触摸显示屏1205的下层。当压力传感器1213设置在终端1200的侧边框时,可以检测用户对终端1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在触摸显示屏1205的下层时,由处理器1201根据用户对触摸显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置终端1200的正面、背面或侧面。当终端1200上设置有物理按键或厂商Logo时,指纹传感器1214可以与物理按键或厂商Logo集成在一起。
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制触摸显示屏1205的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1205的显示亮度;当环境光强度较低时,调低触摸显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1216,也称距离传感器,通常设置在终端1200的前面板。接近传感器1216用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制触摸显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制触摸显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例中还提供了一种计算机存储介质,该存储介质中可以存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的角色模型的显示方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种角色模型的显示方法,其特征在于,所述方法包括:
渲染和显示第一角色模型,所述第一角色模型穿戴有第一衣服模型,所述第一角色模型包括第一描述文件,所述第一描述文件包括目标骨骼节点、第一衣服节点和第一绑定关系,所述第一绑定关系是所述目标骨骼节点和所述第一衣服节点之间的绑定关系;
响应于换装指令,获取第二衣服模型,所述第一衣服模型和所述第二衣服模型为具有相同的所述目标骨骼节点的三维模型,所述第二衣服模型包括第二描述文件,所述第二描述文件包括所述目标骨骼节点、第二衣服节点和第二绑定关系,所述第二绑定关系是所述目标骨骼节点和所述第二衣服节点之间的绑定关系;
在保留所述第一描述文件中的所述目标骨骼节点不变的情况下,将所述第二衣服节点添加至所述第一描述文件;
采用所述第二绑定关系替换所述第一描述文件中的所述第一绑定关系,得到第二角色模型;所述第二角色模型为所述第一角色模型根据所述第二衣服模型完成换装的角色模型;
渲染和显示所述第二角色模型。
2.根据权利要求1所述的方法,其特征在于,所述采用所述第二绑定关系替换所述第一描述文件中的所述第一绑定关系,包括:
在所述第一描述文件中的根节点的子节点序号中,删除第一衣服节点序号,所述第一衣服节点序号用于指示所述第一衣服节点在所有节点中的排序位置,所述根节点的子节点序号用于指示所述根节点包括的子节点;
在所述第一描述文件中的根节点的子节点序号中,添加第二衣服节点序号,所述第二衣服节点序号用于指示所述第二衣服节点在所有节点中的排序位置。
3.根据权利要求1所述的方法,其特征在于,所述第一角色模型还包括第一素材文件,所述第二衣服模型还包括第二素材文件,所述第一素材文件包括在渲染所述第一衣服节点时所需的图片文件,所述第二素材文件包括在渲染所述第二衣服节点时所需的图片文件;
所述方法还包括:
将所述第二素材文件移动至所述第一素材文件的父目录中;
在所述第一描述文件中新增所述第二素材文件的第二素材文件地址以及第二素材地址序号,所述第二素材文件地址包括所述第二素材文件在所述父目录中的地址,所述第二素材地址序号用于指示所述第二素材文件地址在所有素材文件地址中的排序位置。
4.根据权利要求1所述的方法,其特征在于,所述第一角色模型还包括第一数据文件,所述第二衣服模型还包括第二数据文件,所述第一数据文件用于在渲染所述第一角色模型时提供所需的渲染数据,所述第二数据文件用于在渲染所述第二衣服模型时提供所需的渲染数据;
所述方法还包括:
将所述第二数据文件移动至所述第一数据文件的父目录中;
在所述第一描述文件中新增所述第二数据文件的第二数据文件地址以及第二数据地址序号,所述第二数据文件地址包括所述第二数据文件在所述父目录中的地址,所述第二数据地址序号用于指示所述第二数据文件地址在所有数据文件地址中的排序位置。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第一描述文件中还包括与所述目标骨骼节点对应的骨骼动画信息,所述渲染和显示所述第二角色模型,包括:
根据所述骨骼动画信息,将所述第二角色模型渲染和显示为三维动画。
6.一种角色模型的显示装置,其特征在于,所述装置包括:
渲染模块,用于渲染和显示第一角色模型,所述第一角色模型穿戴有第一衣服模型,所述第一角色模型包括第一描述文件,所述第一描述文件包括目标骨骼节点、第一衣服节点和第一绑定关系,所述第一绑定关系是所述目标骨骼节点和所述第一衣服节点之间的绑定关系;
获取模块,用于响应于换装指令,获取第二衣服模型,所述第一角色模型和所述第二衣服模型为具有相同的所述目标骨骼节点的三维模型,所述第二衣服模型包括第二描述文件,所述第二描述文件包括所述目标骨骼节点、第二衣服节点和第二绑定关系,所述第二绑定关系是所述目标骨骼节点和所述第二衣服节点之间的绑定关系;
融合模块,用于在保留所述第一描述文件中的所述目标骨骼节点不变的情况下,将所述第二衣服节点添加至所述第一描述文件;采用所述第二绑定关系替换所述第一描述文件中的所述第一绑定关系,得到第二角色模型;所述第二角色模型为所述第一角色模型根据所述第二衣服模型完成换装的角色模型;
渲染模块,还用于渲染和显示所述第二角色模型。
7.根据权利要求6所述的装置,其特征在于,所述融合模块,用于:
在所述第一描述文件中的根节点的子节点序号中,删除第一衣服节点序号,所述第一衣服节点序号用于指示所述第一衣服节点在所有节点中的排序位置,所述根节点的子节点序号用于指示所述根节点包括的子节点;
在所述第一描述文件中的根节点的子节点序号中,添加第二衣服节点序号,所述第二衣服节点序号用于指示所述第二衣服节点在所有节点中的排序位置。
8.根据权利要求6所述的装置,其特征在于,所述第一角色模型还包括第一素材文件,所述第二衣服模型还包括第二素材文件,所述第一素材文件包括在渲染所述第一衣服节点时所需的图片文件,所述第二素材文件包括在渲染所述第二衣服节点时所需的图片文件;所述装置还包括:
第一移动模块,用于将所述第二素材文件移动至所述第一素材文件的父目录中;
第一新增模块,用于在所述第一描述文件中新增所述第二素材文件的第二素材文件地址以及第二素材地址序号,所述第二素材文件地址包括所述第二素材文件在所述父目录中的地址,所述第二素材地址序号用于指示所述第二素材文件地址在所有素材文件地址中的排序位置。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现权利要求1至5任一所述的角色模型的显示方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现权利要求1至5任一所述的角色模型的显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010414388.5A CN111598981B (zh) | 2020-05-15 | 2020-05-15 | 角色模型的显示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010414388.5A CN111598981B (zh) | 2020-05-15 | 2020-05-15 | 角色模型的显示方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111598981A CN111598981A (zh) | 2020-08-28 |
CN111598981B true CN111598981B (zh) | 2023-08-25 |
Family
ID=72187176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010414388.5A Active CN111598981B (zh) | 2020-05-15 | 2020-05-15 | 角色模型的显示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111598981B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109771947A (zh) * | 2019-01-31 | 2019-05-21 | 网易(杭州)网络有限公司 | 游戏角色的换装方法、装置、计算机存储介质和电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106075909B (zh) * | 2016-07-15 | 2020-12-08 | 珠海金山网络游戏科技有限公司 | 一种游戏换装***和方法 |
CN109087369B (zh) * | 2018-06-22 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 虚拟对象显示方法、装置、电子装置及存储介质 |
CN110471528A (zh) * | 2019-08-05 | 2019-11-19 | 天脉聚源(杭州)传媒科技有限公司 | 一种虚拟观众的换装方法、装置、***及存储介质 |
-
2020
- 2020-05-15 CN CN202010414388.5A patent/CN111598981B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109771947A (zh) * | 2019-01-31 | 2019-05-21 | 网易(杭州)网络有限公司 | 游戏角色的换装方法、装置、计算机存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111598981A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110992493B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN109712224B (zh) | 虚拟场景的渲染方法、装置及智能设备 | |
CN109614171B (zh) | 虚拟道具转移方法、装置、电子设备及计算机存储介质 | |
WO2020253655A1 (zh) | 多虚拟角色的控制方法、装置、设备及存储介质 | |
CN110841285B (zh) | 界面元素的显示方法、装置、计算机设备及存储介质 | |
CN111464749B (zh) | 进行图像合成的方法、装置、设备及存储介质 | |
CN110427110B (zh) | 一种直播方法、装置以及直播服务器 | |
US11954200B2 (en) | Control information processing method and apparatus, electronic device, and storage medium | |
WO2019179237A1 (zh) | 获取实景电子地图的方法、装置、设备和存储介质 | |
US20220164159A1 (en) | Method for playing audio, terminal and computer-readable storage medium | |
CN109922356B (zh) | 视频推荐方法、装置和计算机可读存储介质 | |
CN110362366B (zh) | 一种应用界面显示方法及装置 | |
CN110321126B (zh) | 生成页面代码的方法和装置 | |
WO2022134632A1 (zh) | 作品处理方法及装置 | |
CN111897429A (zh) | 图像显示方法、装置、计算机设备及存储介质 | |
CN111399736B (zh) | 进度条控制方法、装置、设备及可读存储介质 | |
CN110058935B (zh) | 日志级别调整方法、装置及***、可读存储介质 | |
CN110837300B (zh) | 虚拟交互的方法、装置、电子设备及存储介质 | |
CN113384880A (zh) | 虚拟场景显示方法、装置、计算机设备及存储介质 | |
WO2022199102A1 (zh) | 图像处理方法及装置 | |
CN110052030B (zh) | 虚拟角色的形象设置方法、装置及存储介质 | |
CN113377270B (zh) | 信息显示方法、装置、设备及存储介质 | |
CN109117466B (zh) | 表格格式转换方法、装置、设备及存储介质 | |
CN111897465B (zh) | 弹窗显示方法、装置、设备及存储介质 | |
CN110992268B (zh) | 背景设置方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |