虚拟卷发模型渲染方法、装置、设备及存储介质

文档序号:1896913 发布日期:2021-11-30 浏览:14次 >En<

阅读说明:本技术 虚拟卷发模型渲染方法、装置、设备及存储介质 (Virtual curling model rendering method, device, equipment and storage medium ) 是由 陶晗 朱君君 郑启强 詹定根 于 2021-08-27 设计创作,主要内容包括:本申请提供一种虚拟卷发模型渲染方法、装置、设备及存储介质,涉及模型渲染领域。该方法包括:根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整;根据调整后的所述目标发片的二维纹理坐标、预设的发片贴图,和预设的发片定位图,对所述目标发片对应的卷发模型进行调整,得到所述预设头发模型对应的虚拟卷发模型;其中,所述发片定位图包括:所述目标发片的头发定位信息。相对于现有技术,避免了玩家无法自定义定制发型的问题。(The application provides a virtual curly hair model rendering method, device, equipment and storage medium, and relates to the field of model rendering. The method comprises the following steps: adjusting two-dimensional texture coordinates of a target hair piece in a preset hair model according to the input hair curling configuration parameters; adjusting a hair curling model corresponding to the target hair piece according to the adjusted two-dimensional texture coordinates of the target hair piece, a preset hair piece mapping and a preset hair piece positioning map to obtain a virtual hair curling model corresponding to the preset hair model; wherein, the hair piece location picture includes: hair positioning information of the target hair piece. Compared with the prior art, the problem that the player cannot customize the hairstyle is avoided.)

虚拟卷发模型渲染方法、装置、设备及存储介质

技术领域

本申请涉及模型渲染技术领域,具体而言,涉及一种虚拟卷发模型渲染方法、装置、设备及存储介质。

背景技术

游戏中的主角是玩家的化身,玩家总是希望把自己的角色打扮得个性十足。自定义外观不仅满足了玩家的审美,也加强了玩家和角色的情感联系,有助于提高沉浸感,最终有效提升游戏体验。

现有技术中的发型定制多是提供数个预设方案,玩家可以从中选择不同的模型。这些预设发型不支持修改,在精雕细琢的模型和精细美术资源配合下,可以提供良好的发型表现效果,其中也不乏各种卷发。

但是这样的发型定制方式预设卷发不支持形态的自定义,不够个性化,玩家只能在预设的发型中进行选择,一定程度上限制了玩家,使得玩家无法自定义定制发型。

发明内容

本申请的目的在于,针对上述现有技术中的不足,提供一种虚拟卷发模型渲染方法、装置、设备及存储介质,以解决现有技术中玩家无法自定义定制发型的问题。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请一实施例提供了一种虚拟卷发模型渲染方法,所述方法包括:

根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整;

根据调整后的所述目标发片的二维纹理坐标、预设的发片贴图,和预设的发片定位图,对所述目标发片对应的卷发模型进行调整,得到所述预设头发模型对应的虚拟卷发模型;其中,所述发片定位图包括:所述目标发片的头发定位信息。

可选地,所述根据调整后的所述目标发片的二维纹理坐标、预设的发片贴图,和预设的发片定位图,对所述目标发片对应的卷发模型进行调整,得到所述预设头发模型对应的虚拟卷发模型,包括:

根据调整后的所述目标发片的二维纹理坐标、所述发片贴图,和所述发片定位图,采用像素着色器,确定各像素点在所述目标发片上的位置;

根据所述各像素点在所述目标发片上的位置,计算所述目标发片的纹理坐标轴偏移量;

根据所述纹理坐标轴偏移量,对所述目标发片对应的卷发模型的纹理坐标轴进行调整,得到所述虚拟卷发模型。

可选地,所述根据调整后的所述目标发片的二维纹理坐标、所述发片贴图,和所述发片定位图,采用像素着色器,确定各像素点在所述目标发片上的位置,包括:

根据调整后的所述目标发片的二维纹理坐标、所述发片贴图,和所述发片定位图,采用所述像素着色器,确定各像素点在所述目标发片上各纹理坐标轴上的位置。

可选地,所述根据所述各像素点在所述目标发片上的位置,计算所述目标发片的纹理坐标轴偏移量,包括:

根据所述各像素点在所述目标发片上一个纹理坐标轴上的位置,计算所述目标发片在另一个纹理坐标轴的偏移量;所述纹理坐标轴偏移量包括:第一纹理坐标轴的偏移量,和/或,第二纹理坐标轴的偏移量,所述第一纹理坐标轴和所述第二纹理坐标轴分别为纹理坐标系上相互垂直的两个坐标轴。

可选地,所述根据所述各像素点在所述目标发片上一个纹理坐标轴上的位置,计算所述目标发片在另一个纹理坐标轴的偏移量,包括:

根据所述各像素点在所述目标发片上所述一个纹理坐标轴上的位置以及预设的卷曲度,计算所述目标发片在另一个纹理坐标轴的偏移量。

可选地,若所述卷发配置参数包括:曲直过渡参数,则所述根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整,包括:

根据所述曲直过渡参数,对所述目标发片在第一纹理坐标轴上的位置进行调整,其中,所述第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴。

可选地,所述卷发配置参数还包括:发片宽度参数,和发根方向参数;

所述根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整,包括:

根据所述发片宽度参数、所述发根方向参数、所述目标发片在第一纹理坐标轴的位置,以及所述目标发片在第二纹理坐标轴的历史位置,计算所述目标发片在所述第二纹理坐标轴的最新位置;其中,所述第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴,所述第二纹理坐标轴为:发片宽度方向的纹理坐标轴;

将所述目标发片在所述第二纹理坐标轴的位置调整为所述最新位置。

可选地,所述卷发配置参数还包括:卷度插值参数;

所述根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整,包括:

根据所述卷度插值参数,对所述目标发片在第一纹理坐标轴的位置进行调整,其中,所述第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴。

可选地,所述卷发配置参数还包括:法线调整参数;

所述根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整,包括:

根据所述法线调整参数,生成所述目标发片的法线旋转矩阵,所述目标发片的法线旋转矩阵包括:所述目标发片中各像素点的法线调整参数;

根据所述各像素点的法线调整参数,对所述目标发片中所述各像素点的法线进行调整。

可选地,所述根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整之前,所述方法还包括;

将所述目标发片卷成筒状,得到所述目标发片对应的卷发模型;

将所述目标发片对应的卷发模型与所述目标发片的二维纹理坐标进行绑定;

将所述目标发片的二维纹理坐标与所述发片定位图进行绑定。

第二方面,本申请另一实施例提供了一种虚拟卷发模型渲染装置,所述装置包括:调整模块和生成模块,其中:

所述调整模块,用于根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整;

所述生成模块,用于根据调整后的所述目标发片的二维纹理坐标、预设的发片贴图,和预设的发片定位图,对所述目标发片对应的卷发模型进行调整,得到所述预设头发模型对应的虚拟卷发模型;其中,所述发片定位图包括:所述目标发片的头发定位信息。

可选地,所述装置还包括:确定模块和计算模块,其中:

所述确定模块,用于根据调整后的所述目标发片的二维纹理坐标、所述发片贴图,和所述发片定位图,采用像素着色器,确定各像素点在所述目标发片上的位置;

所述计算模块,具体用于根据所述各像素点在所述目标发片上的位置,计算所述目标发片的纹理坐标轴偏移量;

所述调整模块,具体用于根据所述纹理坐标轴偏移量,对所述目标发片对应的卷发模型的纹理坐标轴进行调整,得到所述虚拟卷发模型。

可选地,所述确定模块,具体用于根据调整后的所述目标发片的二维纹理坐标、所述发片贴图,和所述发片定位图,采用所述像素着色器,确定各像素点在所述目标发片上各纹理坐标轴上的位置。

可选地,所述计算模块,具体用于根据所述各像素点在所述目标发片上一个纹理坐标轴上的位置,计算所述目标发片在另一个纹理坐标轴的偏移量;所述纹理坐标轴偏移量包括:第一纹理坐标轴的偏移量,和/或,第二纹理坐标轴的偏移量,所述第一纹理坐标轴和所述第二纹理坐标轴分别为纹理坐标系上相互垂直的两个坐标轴。

可选地,所述计算模块,具体用于根据所述各像素点在所述目标发片上所述一个纹理坐标轴上的位置以及预设的卷曲度,计算所述目标发片在另一个纹理坐标轴的偏移量。

可选地,所述调整模块,具体用于根据所述曲直过渡参数,对所述目标发片在第一纹理坐标轴上的位置进行调整,其中,所述第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴。

可选地,所述卷发配置参数还包括:发片宽度参数,和发根方向参数;

所述计算模块,具体用于根据所述发片宽度参数、所述发根方向参数、所述目标发片在第一纹理坐标轴的位置,以及所述目标发片在第二纹理坐标轴的历史位置,计算所述目标发片在所述第二纹理坐标轴的最新位置;其中,所述第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴,所述第二纹理坐标轴为:发片宽度方向的纹理坐标轴;

所述调整模块,具体用于将所述目标发片在所述第二纹理坐标轴的位置调整为所述最新位置。

可选地,所述卷发配置参数还包括:卷度插值参数;

所述调整模块,具体用于根据所述卷度插值参数,对所述目标发片在第一纹理坐标轴的位置进行调整,其中,所述第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴。

可选地,所述卷发配置参数还包括:法线调整参数;

所述生成模块,具体用于根据所述法线调整参数,生成所述目标发片的法线旋转矩阵,所述目标发片的法线旋转矩阵包括:所述目标发片中各像素点的法线调整参数;

所述调整模块,具体用于根据所述各像素点的法线调整参数,对所述目标发片中所述各像素点的法线进行调整。

可选地,所述装置还包括:绑定模块,其中:

所述生成模块,具体用于将所述目标发片卷成筒状,得到所述目标发片对应的卷发模型;

所述绑定模块,具体用于将所述目标发片对应的卷发模型与所述目标发片的二维纹理坐标进行绑定;将所述目标发片的二维纹理坐标与所述发片定位图进行绑定。

第三方面,本申请另一实施例提供了一种虚拟卷发模型渲染设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当虚拟卷发模型渲染设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一方面任一所述方法的步骤。

第四方面,本申请另一实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述方法的步骤。

本申请的有益效果是:采用本申请提供的虚拟卷发模型渲染方法,可以根据输入的卷发配置参数对预设头发模型中的目标发片的二维纹理坐标进行调整,随后根据调整后的目标发片的二维纹理坐标、预设的发片贴图和预设的发片定位图,对目标发片对应的卷发模型进行调整,得到调整后的虚拟卷发模型,这样的渲染方法玩家可以通过输入卷发配置参数,对虚拟卷发模型的卷发形态进行灵活调整,使得玩家可以自定义虚拟卷发模型的卷发形态,大大提高了玩家对虚拟卷发模型形态调整的可操作性,提高了玩家的体验。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请一实施例提供的虚拟卷发模型渲染方法的流程示意图;

图2为本申请另一实施例提供的虚拟卷发模型渲染方法的流程示意图;

图3为本申请一实施例提供的虚拟卷发模型的示意图;

图4为本申请另一实施例提供的虚拟卷发模型的示意图;

图5为本申请另一实施例提供的虚拟卷发模型的示意图;

图6为本申请另一实施例提供的虚拟卷发模型的示意图;

图7为本申请另一实施例提供的虚拟卷发模型的示意图;

图8为本申请另一实施例提供的虚拟卷发模型渲染方法的流程示意图;

图9为本申请一实施例提供的虚拟卷发模型渲染装置的结构示意图;

图10为本申请另一实施例提供的虚拟卷发模型渲染装置的结构示意图;

图11为本申请一实施例提供的虚拟卷发模型渲染设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。

通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

另外,本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

为方便对本申请实施例的理解,下述对本申请涉及的部分名词进行解释说明:

罗马卷:一种筒状竖卷,其常见样式为弹簧样垂下的发卷。

发片:头发模型中的一个面插片,采用面插片模拟发束建模为目前游戏中头发建模的主流方案。

卷度:头发的卷曲程度,可用1-4来描述发卷转圈的密度,A-C来描述发卷硬度,其中:A最软,重力下被拉长最多;C最硬,重力下能保持基本形态。1A为直发,4C卷度类似螺丝的螺纹。

二维纹理坐标UV:带有多边形和细分曲面网格的顶点组件信息,用于将二维贴图映射到三维模型的网格上。

UV纹理空间:用于定义UV的二维纹理坐标系,UV纹理空间使用字母U和V来指示二维空间中的轴。

着色器(Shader):一种用于对三维场景进行浓淡处理的计算机程序。

像素着色器(Pixel Shader):以像素为单位做处理的着色器。

如下结合多个具体的应用示例,对本申请实施例所提供的一种虚拟卷发模型渲染方法进行解释说明。图1为本申请一实施例提供的一种虚拟卷发模型渲染方法的流程示意图,如图1所示,该方法包括:

S101:根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整。

其中,本申请中对预设头发模型进行处理,仅适用于针对筒状竖卷的立体卷发,例如罗马卷,下述实施例中,均以预设头发模型为罗马卷头发模型为例进行说明。

在本申请的实施例中,配置参数的输入例如可以为响应于玩家在配置界面的参数输入操作确定的,其中,玩家在游戏过程中例如可以通过点击游戏界面中的配置控件打开配置界面,或通过预设快捷键或预设快捷手势唤起配置界面的展示,随后在配置界面中的待调整参数中,对卷发配置参数进行设置或调整,应当理解上述实施例仅为示例性说明,具体获取卷发配置参数的方式,以及配置界面的唤起操作均可以根据用户需要灵活调整,并不以上述实施例给出的为限。

S102:根据调整后的目标发片的二维纹理坐标、预设的发片贴图,和预设的发片定位图,对目标发片对应的卷发模型进行调整,得到预设头发模型对应的虚拟卷发模型。

其中,发片贴图用于渲染各目标发片的发片颜色,发片定位图包括:目标发片的头发定位信息,用于为发片模型上的每一个像素点映射其在目标发片上的位置;在本申请的实施例中,发片定位图中有一个第一预设通道,用于保存头发的长度信息,发片贴图中包括有多个发片时,发片定位图中还有一个第二预设通道,用于保存发片横向定位信息。

通过对目标发片的卷发模型进行调整,即可以根据输入的卷发配置参数调整卷发模型的卷发形态。

采用本申请提供的虚拟卷发模型渲染方法,可以根据输入的卷发配置参数对预设头发模型中的目标发片的二维纹理坐标进行调整,随后根据调整后的目标发片的二维纹理坐标、预设的发片贴图和预设的发片定位图,对目标发片对应的卷发模型进行调整,得到调整后的虚拟卷发模型,这样的渲染方法玩家可以通过输入卷发配置参数,对虚拟卷发模型的卷发形态进行灵活调整,使得玩家可以自定义虚拟卷发模型的卷发形态,大大提高了玩家对虚拟卷发模型形态调整的可操作性,提高了玩家的体验。

可选地,在上述实施例的基础上,本申请实施例还可提供一种虚拟卷发模型渲染方法,如下结合附图对上述方法中得到预设头发模型对应的虚拟卷发模型的实现过程进行示例说明。图2为本申请另一实施例提供的一种虚拟卷发模型渲染方法的流程示意图,如图2所示,S102可包括:

S103:根据调整后的目标发片的二维纹理坐标、发片贴图,和发片定位图,采用像素着色器,确定各像素点在目标发片上的位置。

在一些可能的实施例中,例如可以根据调整后的目标发片的二维纹理坐标、发片贴图和发片定位图,采用像素着色器,确定各像素点在目标发片上各纹理坐标轴上的位置,用于渲染中查询各像素点在发片上的定位位置。

S104:根据各像素点在目标发片上的位置,计算目标发片的纹理坐标轴偏移量。

示例地,在本申请的一个实施例中,偏移量的计算例如可以为根据各像素点在目标发片上一个纹理坐标轴上的位置,计算目标发片在另一个纹理坐标轴的偏移量;纹理坐标轴偏移量包括:第一纹理坐标轴的偏移量,和/或,第二纹理坐标轴的偏移量,第一纹理坐标轴和第二纹理坐标轴分别为纹理坐标系上相互垂直的两个坐标轴。

示例地,在本申请的实施例中,对目标发片的二维纹理左边进行调整,例如可以通过卷发配置参数,确定二维纹理坐标的横轴偏移量和纵轴偏移量,随后根据横轴偏移量和纵轴偏移量,对头发模型中目标发片的二维纹理坐标进行调整,得到调整后的目标发片的二维纹理坐标,其中,不同的目标发片的二维纹理坐标,可以表现不同的发片的螺旋效果,从而实现通过对卷发配置参数的调整,实现对发片螺旋效果的调整。

在一些可能的实施例中,计算横轴偏移量和纵轴偏移量时,计算方式例如可以为针对目标发片,逐像素点根据纵轴偏移量(本申请中发片纵轴定义为UV中的U)确定调整后的发片纵轴位置,随后根据该发片纵轴位置计算发片横轴(本申请中发片横轴定义为UV中的V)的偏移量,横轴偏移量的确定公式例如可以为O=R×Lv;其中O为发片横轴偏移量,R为整体卷曲度,Lv为当前像素点在当前发片纵轴上的百分比,即先确定当前像素点在发片上的位置,再通过发片纵轴位置计算发片横轴偏移量,随后根据发片横轴偏移量对发片横轴位置进行调整,得到调整后的目标发片的二维纹理坐标。

其中,计算目标发片在另一个纹理坐标轴的偏移量的方式例如可以为根据各像素点在目标发片上一个纹理坐标轴上的位置以及预设的卷曲度,计算目标发片在另一个纹理坐标轴的偏移量。

S105:根据纹理坐标轴偏移量,对目标发片对应的卷发模型的纹理坐标轴进行调整,得到虚拟卷发模型。

通过对目标发片对应的卷发模型的纹理坐标轴进行调整,可以调整目标发片在卷发模型中的卷发形态,从而得到形态改变后的虚拟卷发模型,使得玩家实现对虚拟卷发模型的卷发形态进行调整的效果。

示例地,在本申请的一个实施例中,若卷发配置参数包括:曲直过渡参数,则对目标发片的二维纹理坐标进行调整的方式例如可以为:根据曲直过渡参数,对目标发片在第一纹理坐标轴上的位置进行调整,其中,第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴。

在本申请的实施例中,预设曲直过渡参数的确定公式例如可以为 其中T为用户输入的直曲度过渡系数,在本申请的实施例中,T例如可以为一个0-1的范围值,Lv为当前像素点在当前发片纵轴上的百分比,即调整前的像素点在当前发片纵轴上的百分比,L′v为调整后的像素点在调整后的发片纵轴上的百分比,其中,曲直过渡参数用于表现直发和卷发之间的过渡效果,举例说明,例如,对于1m长的虚拟卷发模型,0(发根位置)-0.5m为直发,0.5-1.0m(发尾位置)为20圈/m的卷发。如果不存在曲直过渡,则0.5m处开始的卷发看起来像是直发下直接拼接了一截卷发,导致虚拟卷发模型的整体效果非常生硬且不自然;过渡即为让直发和卷发两截的中间衔接部分是逐渐变卷的,从而使得卷发到直发之间存在过渡效果,使得虚拟卷发模型的整体效果更加自然。

在本申请的另一实施例中,卷发配置参数还包括:发片宽度参数,和发根方向参数;此时对目标发片的二维纹理坐标进行调整的方式例如可以为:根据发片宽度参数、发根方向参数、目标发片在第一纹理坐标轴的位置,以及目标发片在第二纹理坐标轴的历史位置,计算目标发片在第二纹理坐标轴的最新位置;其中,第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴,第二纹理坐标轴为:发片宽度方向的纹理坐标轴;将目标发片在第二纹理坐标轴的位置调整为最新位置。

在本申请的实施例中,预设发片宽度及发根方向调整公式例如可以为:

Br=Bl+D

其中,上述公式中的W为用户输入的发片宽度参数,D为用户输入的发根方向参数。O为发片横轴偏移量,R为整体卷曲度,Lv为当前像素在当前发片纵轴上的百分比,gradientWidth()为宽度的插值调整函数,clamp()为阈值截取函数。Lh为调整前的发片定位横轴百分比,L′h为调整后的发片定位横轴百分比,Bl,Br为上述公式中的中间值,分别意为考虑了W和D之后确定的发片纹理的左、右边界。

在本申请的另一实施例中,卷发配置参数还包括:卷度插值参数;此时对目标发片的二维纹理坐标进行调整的方式例如可以为:根据卷度插值参数,对目标发片在第一纹理坐标轴的位置进行调整,其中,第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴。

在本申请的实施例中,卷度差值调整公式例如可以为:

其中,gn为卷度插值在发片定位纵轴位置,mn为用户输入的卷度插值参数;gn,mn∈[0,1],n∈0,…,k,且g0=0,gk=1,gn<gn+1。i∈[0,1],为当前像素的发片定位信息中沿发片长度坐标轴的数值,gradientCurl()为卷度的插值函数,Lv为调整前的像素在当前发片纵轴上的百分比,L′v为调整后的像素点在调整后的发片纵轴上的百分比。

在本申请的另一实施例中,卷发配置参数还包括:法线调整参数;此时对目标发片的二维纹理坐标进行调整的方式例如可以为:根据法线调整参数,生成目标发片的法线旋转矩阵,目标发片的法线旋转矩阵包括:目标发片中各像素点的法线调整参数;根据各像素点的法线调整参数,对目标发片中各像素点的法线进行调整。

在本申请的实施例中,发卷法线调整的公式例如可以为:

其中,M为法线旋转矩阵,f()为以旋转轴和角度生成旋转矩阵的函数。分别为当前像素切线和当前像素法线的单位向量,P为用户输入的法线调整系数,P例如可以为一个0-1的范围值,调整发卷法线可以从视觉上改变目标发片的发卷方向,使得目标发片的发卷看起来更加扁平或者更加饱满。

图3为本申请一实施例提供的虚拟卷发模型的示意图,图4为本申请另一实施例提供的虚拟卷发模型的示意图,图5为本申请另一实施例提供的虚拟卷发模型的示意图,图6为本申请另一实施例提供的虚拟卷发模型的示意图,图7为本申请另一实施例提供的虚拟卷发模型的示意图,如图3-图7所示,例如图3为参数未经过调整的初始虚拟卷发模型,图4为调整了曲直过渡参数的虚拟卷发模型,图5为调整了发片宽度参数和发根方向参数的虚拟卷发模型,图6为调整了卷度插值参数的虚拟卷发模型,图7为调整了法线调整参数的虚拟卷发模型,可见经过本申请提供的方法,对不同的参数进行调整,可以得到不同形态的虚拟卷发模型,从而玩家可以根据自己的需要,对各参数进行调整,从而得到一个自定义的,符合自己要求的虚拟卷发模型。

可选地,在上述实施例的基础上,本申请实施例还可提供一种虚拟卷发模型渲染方法,如下结合附图对上述方法的实现过程进行示例说明。图3为本申请另一实施例提供的一种虚拟卷发模型渲染方法的流程示意图,如图8所示,S101之前,该方法还可包括:

S106:将目标发片卷成筒状,得到目标发片对应的卷发模型。

在本申请的实施例中,例如可以将目标发片中需要做成罗马卷的部分,各自左右相接卷成筒状,得到目标发片对应的卷发模型;即在本申请的实施例中,对于同一个目标发片,可能有一部分发片是直发,有一部分发片是罗马卷,例如可以为从目标发片的根部到中部是直发,从目标发片的中部到尾部是罗马卷;也可以为目标发片的根部到尾部均为罗马卷,具体目标发片中罗马卷的设置方式和设置位置均可以根据用户需要灵活调整,并不以上述实施例给出的为限。

S107:将目标发片对应的卷发模型与目标发片的二维纹理坐标进行绑定。

其中,卷发模型为目标发片中需要做成罗马卷的发片各自左右相接卷成筒状的模型,将卷发模型和二维纹理坐标进行绑定后,可以依据二维纹理坐标和发片贴图生成发片定位图,用于渲染中查询各像素点在发片上的定位,绑定后的虚拟卷发模型保存了一些参数的初始信息,后续可以通过对初始参数信息的修改,在初始虚拟卷发模型的基础上通过一些预设算法和用户输入的参数,来确定修改后的虚拟卷发模型的表现效果,从而达到通过修改参数来调整虚拟卷发模型的表现效果。

S108:将目标发片的二维纹理坐标与发片定位图进行绑定。

采用本申请提供的虚拟卷发模型渲染方法,可以根据输入的卷发配置参数对预设头发模型中目标发片的二维纹理坐标进行调整,并根据调整后的二维纹理坐标重新生成发片定位图,并根据二维纹理坐标和重新生成的大片定位图对目标发片对应的卷发模型进行调整,从而得到调整后的虚拟卷发模型,并且本申请中卷发配置参数包括的类型多,发片宽度、卷度均可以按照用户需要进行调整,从而实现了可自定义虚拟卷发模型,提高玩家对虚拟卷发模型的可操作性和表现形式,提高了玩家的游戏体验。

下述结合附图对本申请所提供的虚拟卷发模型渲染装置进行解释说明,该虚拟卷发模型渲染装置可执行上述图1-图8任一虚拟卷发模型渲染方法,其具体实现以及有益效果参照上述,如下不再赘述。

图9为本申请一实施例提供的虚拟卷发模型渲染装置的结构示意图,如图9所示,该装置包括:调整模块201和生成模块202,其中:

调整模块201,用于根据输入的卷发配置参数,对预设头发模型中目标发片的二维纹理坐标进行调整;

生成模块202,用于根据调整后的目标发片的二维纹理坐标、预设的发片贴图,和预设的发片定位图,对目标发片对应的卷发模型进行调整,得到预设头发模型对应的虚拟卷发模型,其中,发片定位图包括:目标发片的头发定位信息。

可选地,在上述实施例的基础上,本申请实施例还可提供一种虚拟卷发模型渲染装置,如下结合附图对上述图9给出的装置的实现过程进行示例说明。图10为本申请另一实施例提供的虚拟卷发模型渲染装置的结构示意图,如图10所示,该装置还包括:确定模块203和计算模块204,其中:

确定模块203,用于根据调整后的目标发片的二维纹理坐标、发片贴图,和发片定位图,采用像素着色器,确定各像素点在目标发片上的位置;

计算模块204,具体用于根据各像素点在目标发片上的位置,计算目标发片的纹理坐标轴偏移量;

调整模块201,具体用于根据纹理坐标轴偏移量,对目标发片对应的卷发模型的纹理坐标轴进行调整,得到虚拟卷发模型。

可选地,确定模块203,具体用于根据调整后的目标发片的二维纹理坐标、发片贴图,和发片定位图,采用像素着色器,确定各像素点在目标发片上各纹理坐标轴上的位置。

可选地,计算模块204,具体用于根据各像素点在目标发片上一个纹理坐标轴上的位置,计算目标发片在另一个纹理坐标轴的偏移量;纹理坐标轴偏移量包括:第一纹理坐标轴的偏移量,和/或,第二纹理坐标轴的偏移量,第一纹理坐标轴和第二纹理坐标轴分别为纹理坐标系上相互垂直的两个坐标轴。

可选地,计算模块204,具体用于根据各像素点在目标发片上一个纹理坐标轴上的位置以及预设的卷曲度,计算目标发片在另一个纹理坐标轴的偏移量。

可选地,调整模块201,具体用于根据曲直过渡参数,对目标发片在第一纹理坐标轴上的位置进行调整,其中,第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴。

可选地,卷发配置参数还包括:发片宽度参数,和发根方向参数;

计算模块204,具体用于根据发片宽度参数、发根方向参数、目标发片在第一纹理坐标轴的位置,以及目标发片在第二纹理坐标轴的历史位置,计算目标发片在第二纹理坐标轴的最新位置;其中,第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴,第二纹理坐标轴为:发片宽度方向的纹理坐标轴;

调整模块201,具体用于将目标发片在第二纹理坐标轴的位置调整为最新位置。

可选地,卷发配置参数还包括:卷度插值参数;

调整模块201,具体用于根据卷度插值参数,对目标发片在第一纹理坐标轴的位置进行调整,其中,第一纹理坐标轴为:沿着发片长度方向的纹理坐标轴。

可选地,卷发配置参数还包括:法线调整参数;

生成模块202,具体用于根据法线调整参数,生成目标发片的法线旋转矩阵,目标发片的法线旋转矩阵包括:目标发片中各像素点的法线调整参数;

调整模块201,具体用于根据各像素点的法线调整参数,对目标发片中各像素点的法线进行调整。

如图10所示,该装置还包括:绑定模块205,其中:

生成模块202,具体用于将目标发片卷成筒状,得到目标发片对应的卷发模型;

绑定模块205,具体用于将目标发片对应的卷发模型与目标发片的二维纹理坐标进行绑定;将目标发片的二维纹理坐标与发片定位图进行绑定。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。

图11为本申请一实施例提供的虚拟卷发模型渲染设备的结构示意图,该虚拟卷发模型渲染设备可以集成于终端设备或者终端设备的芯片。

如图11所示,该虚拟卷发模型渲染设备包括:处理器501、存储介质502和总线503。

处理器501用于存储程序,处理器501调用存储介质502存储的程序,以执行上述图1-图8对应的方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本申请还提供一种程序产品,例如存储介质,该存储介质上存储有计算机程序,包括程序,该程序在被处理器运行时执行上述方法对应的实施例。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种游戏数据处理方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类