CN109285209B - 游戏角色的面部模型的处理方法、装置、处理器及终端 - Google Patents

游戏角色的面部模型的处理方法、装置、处理器及终端 Download PDF

Info

Publication number
CN109285209B
CN109285209B CN201811076711.1A CN201811076711A CN109285209B CN 109285209 B CN109285209 B CN 109285209B CN 201811076711 A CN201811076711 A CN 201811076711A CN 109285209 B CN109285209 B CN 109285209B
Authority
CN
China
Prior art keywords
face model
feature point
bone
vertex
feature
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
Application number
CN201811076711.1A
Other languages
English (en)
Other versions
CN109285209A (zh
Inventor
陈艺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201811076711.1A priority Critical patent/CN109285209B/zh
Publication of CN109285209A publication Critical patent/CN109285209A/zh
Application granted granted Critical
Publication of CN109285209B publication Critical patent/CN109285209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种游戏角色的面部模型的处理方法、装置、处理器及终端。该方法包括:采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;将特征点集合中的特征点与面部模型中对应部位的权重进行关联;响应于作用在面部模型上的第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换;响应于作用在面部模型上的第二触控操作,根据相机和第二触控操作的位置信息生成的射线与特征点集合中每个特征点的位置关系,确定面部模型中当前调整的部位。本发明解决了相关技术中为游戏设计的捏脸功能操作复杂性较高、可扩展性较差、容错率较低的技术问题。

Description

游戏角色的面部模型的处理方法、装置、处理器及终端
技术领域
本发明涉及计算机领域,具体而言,涉及一种游戏角色的面部模型的处理方法、装置、处理器及终端。
背景技术
随着移动设备的普及,手游呈现井喷式爆发。愈发增多的大型多人在线角色扮演游戏(MMORPG)手游为吸引更多游戏玩家,在创建游戏角色的时候新增捏脸功能,帮助游戏玩家自定义得到自身喜欢的游戏角色样貌,以使游戏玩家感觉到在游戏中存在一个由自身创建的独一无二的游戏角色,从而增强游戏玩家在游戏过程中的代入感,吸引游戏玩家更加钟爱这款游戏,增加该款手游的留存率。然而,在创建游戏角色的捏脸过程中,如何使得玩家方便地选择需要捏的部位,将直接影响着游戏玩家在捏脸过程中的体验,由此也变成实现捏脸功能中备受关注的问题。
发明内容
本发明至少部分实施例提供了一种游戏角色的面部模型的处理方法、装置、处理器及终端,以至少解决相关技术中为游戏设计的捏脸功能操作复杂性较高、可扩展性较差、容错率较低的技术问题。
根据本发明其中一实施例,提供了一种游戏角色的面部模型的处理方法,包括:
采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;将特征点集合中的特征点与面部模型中对应部位的权重进行关联,其中,权重用于描述面部模型中预先划分得到的每个部位的覆盖区域;响应于作用在面部模型上的第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换,其中,第一触控操作用于调整面部模型的形态;响应于作用在面部模型上的第二触控操作,根据相机和第二触控操作的位置信息生成的射线与特征点集合中每个特征点的位置关系,确定面部模型中当前调整的部位。
可选地,采集面部模型包含的多个部位中每个部位的特征点集合包括:获取面部模型的模型中包含的骨骼与多个部位之间的第一映射关系;确定面部模型包含的每个顶点的代表骨骼,并获取每个顶点与代表骨骼之间的第二映射关系;通过第一映射关系和第二映射关系确定每个部位的顶点分布情况;根据每个部位的顶点分布情况在该部位内每根骨骼附近区域进行采样,获取每个部位的特征点集合。
可选地,确定面部模型包含的每个顶点的代表骨骼包括:对面部模型的顶点网格数据进行解析,得到面部模型的顶点数据,其中,顶点数据包括:每个顶点的空间模型坐标、骨骼索引和骨骼权重;对面部模型的蒙皮骨骼数据进行解析,得到获取骨骼索引对应的骨骼名称;采用骨骼名称和骨骼权重确定每个顶点的代表骨骼。
可选地,将特征点集合中的特征点与面部模型中对应部位的权重进行关联包括:确定包含每个部位的特征点集合的包围盒;根据特征点集合中的特征点与包围盒的各个顶点之间的距离获取筛选后的特征点集合;从筛选后的特征点集合中选取最大权重值作为每个部位的权重,其中,筛选后的特征点集合中的每个特征点以该特征点为圆心,以权重为半径形成的球体与包围盒相交。
可选地,响应于第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换包括:获取当前触控部位对应的骨骼;根据当前触控部位对应的骨骼获取待变换的特征点;获取待变换的特征点中每个特征点对应的骨骼以及每个骨骼的权重,得到待变换的特征点中每个特征点对应的变换矩阵;将待变换的特征点中每个特征点与对应的变换矩阵相乘,对待变换的特征点中每个特征点进行位置变换。
可选地,响应于第二触控操作,根据射线与特征点集合中每个特征点的位置关系,确定当前调整的部位包括:以射线的起点为向量起点,以每个特征点的世界坐标位置为向量终点,得到向量集合;根据每个向量和射线计算得到第一距离和第二距离,其中,第一距离为每个特征点到射线的距离,第二距离为每个特征点在射线所在方向上与向量起点之间的距离;针对每个特征点,若第一距离小于或等于该特征点的权重,则将该特征点加入候选集合;从候选集合中选取第二距离最小的特征点作为与第二触控操作对应的特征点,并根据选取的特征点确定当前调整的部位。
根据本发明其中一实施例,还提供了一种游戏角色的面部模型的处理装置,包括:
采集模块,用于采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;关联模块,用于将特征点集合中的特征点与面部模型中对应部位的权重进行关联,其中,权重用于描述面部模型中预先划分得到的每个部位的覆盖区域;变换模块,用于响应于所用在面部模型上的第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换,其中,第一触控操作用于调整面部模型的形态;处理模块,用于响应于作用在面部模型上的第二触控操作,根据相机和第二触控操作的位置信息生成的射线与特征点集合中每个特征点的位置关系,确定面部模型中当前调整的部位。
可选地,采集模块包括:第一获取单元,用于获取面部模型的模型中包含的骨骼与多个部位之间的第一映射关系;第一处理单元,用于确定面部模型包含的每个顶点的代表骨骼,并获取每个顶点与代表骨骼之间的第二映射关系;第一确定单元,用于通过第一映射关系和第二映射关系确定每个部位的顶点分布情况;采样单元,用于根据每个部位的顶点分布情况在该部位内每根骨骼附近区域进行采样,获取每个部位的特征点集合。
可选地,第一处理单元包括:第一解析子单元,用于对面部模型的顶点网格数据进行解析,得到面部模型的顶点数据,其中,顶点数据包括:每个顶点的空间模型坐标、骨骼索引和骨骼权重;第二解析子单元,用于对面部模型的蒙皮骨骼数据进行解析,得到获取骨骼索引对应的骨骼名称;确定子单元,用于采用骨骼名称和骨骼权重确定每个顶点的代表骨骼。
可选地,关联模块包括:第二确定单元,用于确定包含每个部位的特征点集合的包围盒;第二获取单元,用于根据特征点集合中的特征点与包围盒的各个顶点之间的距离获取筛选后的特征点集合;选取单元,用于从筛选后的特征点集合中选取最大权重值作为每个部位的权重,其中,筛选后的特征点集合中的每个特征点以该特征点为圆心,以权重为半径形成的球体与包围盒相交。
可选地,变换模块包括:第三获取单元,用于获取当前触控部位对应的骨骼;第四获取单元,用于根据当前触控部位对应的骨骼获取待变换的特征点;第五获取单元,用于获取待变换的特征点中每个特征点对应的骨骼以及每个骨骼的权重,得到待变换的特征点中每个特征点对应的变换矩阵;变换单元,用于将待变换的特征点中每个特征点与对应的变换矩阵相乘,对待变换的特征点中每个特征点进行位置变换。
可选地,处理模块包括:第六获取单元,用于以射线的起点为向量起点,以每个特征点的世界坐标位置为向量终点,得到向量集合;计算单元,用于根据每个向量和射线计算得到第一距离和第二距离,其中,第一距离为每个特征点到射线的距离,第二距离为每个特征点在射线所在方向上与向量起点之间的距离;比较单元,用于针对每个特征点,若第一距离小于或等于该特征点的权重,则将该特征点加入候选集合;第二处理单元,用于从候选集合中选取第二距离最小的特征点作为与第二触控操作对应的特征点,并根据选取的特征点确定当前调整的部位。
根据本发明其中一实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述游戏角色的面部模型的处理方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述游戏角色的面部模型的处理方法。
根据本发明其中一实施例,还提供了一种终端,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述游戏角色的面部模型的处理方法。
在本发明至少部分实施例中,采用采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;将特征点集合中的特征点与面部模型中对应部位的权重进行关联的方式,通过响应于作用在面部模型上的第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换,以及响应于作用在面部模型上的第二触控操作,根据相机和第二触控操作的位置信息生成的射线与特征点集合中每个特征点的位置关系,确定面部模型中当前调整的部位,从而实现了简化运算量,降低游戏设计复杂度、增强游戏可扩展性、提高容错率的技术效果,进而解决了相关技术中为游戏设计的捏脸功能操作复杂性较高、可扩展性较差、容错率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一实施例的游戏角色的面部模型的处理方法的流程图;
图2是根据本发明其中一可选实施例的脸部顶点变换过程示意图;
图3是根据本发明其中一可选实施例的基于UV展开图表示的脸部部位拆分示意图;
图4是根据本发明其中一可选实施例的脸部、部位和特征点三者关系示意图;
图5是根据本发明其中一可选实施例的脸部、骨骼和特征点关系示意图;
图6是根据本发明其中一可选实施例的权重求解中特征点在部位包围盒上的分布示意图;
图7是根据本发明其中一可选实施例的角色下颌初始状态及特征点分布示意图;
图8是根据本发明其中一可选实施例的游戏角色下颌调整后特征点分布示意图;
图9是根据本发明其中一可选实施例的基于面部特征点的快速点选过程的流程图;
图10是根据本发明其中一实施例的游戏角色的面部模型的处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前,相关技术中为实现捏脸功能,需要为捏脸点选额外制作一套点选模型。该点选模型是基于脸部需要捏的部位进行拆分,从而得到一套带物理属性的点选模型。在使用捏脸功能的过程中,会在已经创建的游戏角色脸部额外创建出这套带物理属性的点选模型,以覆盖在游戏角色脸部。当游戏玩家点击屏幕后,根据屏幕坐标和相机位置与朝向,生成点击射线,借助物理raycast技术来求得射线与特定点选模型发生碰撞,从而确定游戏玩家点击的部位。
然而,该方案的缺陷在于:
(1)开发人员需要额外对脸部网格(mesh)进行拆分,产生额外的工作量,而且通常情况下捏脸功能都会提供多个初始脸型来供用户进行挑选,从而导致开发人员需要针对这些不同的初始脸型均拆分出对应的点选模型。
(2)开发人员对于脸型以及点击部位的迭代需求都会导致额外的拆分工作量。
(3)在游戏玩家捏脸过程中,点选模型需要根据游戏玩家捏脸后的尺寸进行自适应调整,例如:对特定部位进行操作后导致该部位扩大,那么该部位的点选模型也需要相应的扩大,否则会导致超出点选模型的区域点选失灵。
(4)由于依赖基于物理属性的射线碰撞检测,因此,点选模型的拼接需要比较细致,否则容易导致游戏玩家点击到没覆盖的交接处,从而出现点击无反馈的情况。
针对上述的问题,目前尚未提出有效的解决方案。
根据本发明其中一实施例,提供了一种游戏角色的面部模型的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,移动终端可以包括一个或多个处理器(处理器可以包括但不限于图像处理器(GPU)或微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置)和用于存储数据的存储器,可选地,上述移动终端还可以包括用于通信功能的传输装置以及输入输出设备。本领域普通技术人员可以理解,上述结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构更多或者更少的组件,或者具有与上述结构不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明其中一实施例中的游戏角色的面部模型的处理方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的游戏角色的面部模型的处理方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在上述移动终端的运行环境下,提供了一种基于脸部特征点的快速点选方案,该方案无需额外制作多套点选模型,开发人员在对脸型以及点击部位进行迭代时,只需迭代相应的点选数据表,即可对脸部点选机制进行迭代。另外,该点选方案可以在游戏玩家捏脸过程中自适应调整脸部特定部位大小和位置变化,并且可以通过加入权重比例来控制各个部位的点选精度,从而获得满足游戏玩家需求的点选反馈效果。该方案主要包括以下执行步骤:
第一步、采集游戏角色的面部特征点,根据面部特征点与骨骼之间的关系,以及骨骼与捏脸部位之间的关系,提取出面部不同部位对应的特征点。
第二步、根据不同的部位标记对应的特征点权重,该权重表示特征点的影响半径,用于后续的点击筛选特征点过程。换言之,在最后点选的筛选过程中,求取射线与球体之间的交点,其中,该球体以特征点为圆心、以影响半径为半径。如果特征点影响半径越大,表示该特征点构成的球体越大,即特征点的覆盖范围越大,后续越容易被点击筛选得到。
第三步、每当游戏玩家调整游戏角色的脸部特定部位之后,根据骨骼变换矩阵以及特征点与骨骼之间的关系,调整对应部位的特征点世界坐标,从而确保这些调整后的特征点可以继续准确地表示对应的脸部部位。骨骼变换矩阵是在通过捏脸调整特定部位之后,根据骨骼发生的平移、旋转、缩放所计算出的变换矩阵。特征点与骨骼之间的关系是通过初始状态下进行离线特征点采集获得的。
第四步、在游戏玩家点击屏幕之后,根据相机和屏幕位置,生成点击射线,根据射线几何信息,筛选出满足要求的特征点,从而确定当前点击的部位。
图1是根据本发明其中一实施例的游戏角色的面部模型的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S12,采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;
步骤S14,将特征点集合中的特征点与面部模型中对应部位的权重进行关联,其中,权重用于描述面部模型中预先划分得到的每个部位的覆盖区域;
步骤S16,响应于作用在面部模型上的第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换,其中,第一触控操作用于调整面部模型的形态;
步骤S18,响应于作用在面部模型上的第二触控操作,根据相机和第二触控操作的位置信息生成的射线与特征点集合中每个特征点的位置关系,确定面部模型中当前调整的部位。
通过上述步骤,可以采用采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;将特征点集合中的特征点与面部模型中对应部位的权重进行关联的方式,通过响应于作用在面部模型上的第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换,以及响应于作用在面部模型上的第二触控操作,根据相机和第二触控操作的位置信息生成的射线与特征点集合中每个特征点的位置关系,确定面部模型中当前调整的部位,从而实现了简化运算量,降低游戏设计复杂度、增强游戏可扩展性、提高容错率的技术效果,进而解决了相关技术中为游戏设计的捏脸功能操作复杂性较高、可扩展性较差、容错率较低的技术问题。
上述第一触控操作为游戏玩家在终端屏幕上执行的捏脸操作,上述第二触控操作为游戏玩家在终端屏幕上执行的点击操作。
上述相机是从游戏场景到最终展示在游戏玩家的电脑屏幕或者手机屏幕上的一个媒介。游戏玩家能够观察到的三维游戏世界,便是游戏内相机对象查看到的场景,其与观众观看电影的过程相似,大屏幕内看到的内容便是电影拍摄时相机所采集的场景。因此,游戏内的相机与现实电影拍摄过程中所使用的相机能够起到相同的作用。
为了便于后续特征点相关内容的介绍,在此先简单说明下脸部的组成和变换原理。
游戏角色的脸部是一个模型,该模型由三部分组成:顶点网格数据(mesh),材质(material)和蒙皮骨骼数据(skin skeleton)。顶点网格数据中包含组成游戏角色脸部的所有顶点信息,其中,顶点信息包括:顶点坐标(其坐标系为模型空间)、法线、UV、副法线、切线、骨骼索引、骨骼权重。在本发明中将重点关注骨骼索引与骨骼权重的作用。脸部的任何一个顶点都可以受多根骨骼的影响,骨骼索引和骨骼权重正是用于描述该顶点受到哪些骨骼影响(其可以通过骨骼索引来标记),以及每个骨骼对该顶点影响的权重(其可以通过骨骼权重来标记)。蒙皮骨骼数据中记录该模型由哪些骨骼组成,以及这些骨骼的索引和位置矩阵。最终展示在游戏中的游戏角色脸部经过一系列变换得到。
目前业界对于捏脸功能实现可以直接修改mesh的顶点坐标也可以修改骨骼偏移。在本发明至少部分实施例中应用修改骨骼方式来进行。在改变特定骨骼位置之后,骨骼的位置矩阵也会发生变换,从而导致原先作用到顶点上的变换矩阵M发生变化,最终实现脸部外观的变化。
图2是根据本发明其中一可选实施例的脸部顶点变换过程示意图,如图2所示,首先通过mesh数据获得每个顶点的骨骼索引和权重信息,获取每个顶点在受到多个骨骼作用后的变换矩阵M。然后,对mesh上得到的顶点模型空间坐标P1,进行M的矩阵变换,获得模型空间中变换后的顶点坐标P2。最后对P2进行模型空间到世界空间的坐标变换,得到世界空间中顶点位置P3。这一系列顶点位置P3组成在游戏中显示的游戏角色脸部。当然一个脸的最终展示还包括脸部渲染方案,使得脸部显示更加真实,此处不再详述。
可选地,在步骤S12中,采集面部模型所包含的多个部位中每个部位的特征点集合可以包括以下执行步骤:
步骤S121,获取面部模型的模型中包含的骨骼与多个部位之间的第一映射关系;
步骤S122,确定面部模型包含的每个顶点的代表骨骼,并获取每个顶点与代表骨骼之间的第二映射关系;
步骤S123,通过第一映射关系和第二映射关系确定每个部位的顶点分布情况;
步骤S124,根据每个部位的顶点分布情况在该部位内每根骨骼附近区域进行采样,获取每个部位的特征点集合。
特征点采集是一个离线的自动化操作,特征点采集的输入数据为一系列预备的数据资源。
首先,开发人员会根据脸部部位拆分图来确定为实现捏脸功能需要拆分出多少部位。图3是根据本发明其中一可选实施例的基于UV展开图表示的脸部部位拆分示意图,如图3所示,展示了游戏角色脸部各个部位的拆分结果。其次,制定出哪些骨骼会影响哪些部位,其中,每一根骨骼只会对应一个特定部位,在调整这根骨骼的时候,即是对该特定部位进行调整。
然后,在骨骼映射部位的关系表基础上,获取每个顶点的代表骨骼。
最后,从每个部位映射的骨骼集合,骨骼集合对应的顶点集合,便可获得每个部位对应的顶点集合。根据每个部位顶点的分布情况,在每个部位的骨骼附近进行随机采样,获得每个部位的特征点。之所以在每个部位对应的每根骨骼附近采样,是因为在骨骼基础上采样比直接在部位顶点集合中随机采样效果更佳,因为骨骼集合本身已经覆盖了该部位,在这基础上进行采样可以使获得的特征点分布更加均匀。
图4是根据本发明其中一可选实施例的脸部、部位和特征点三者关系示意图,如图4所示,游戏角色脸部可由开发人员划分为多个部位,每个部位对应一个特征点集合。每个特征点包含有该特征点与部位之间的映射关系,该特征点会受到哪些骨骼影响以及每根骨骼影响的权重。图5是根据本发明其中一可选实施例的脸部、骨骼和特征点关系示意图,如图5所示,由于每一次捏脸操作都需要对特征点进行相应变换,因此还需要维护一组数据,即记录每根骨骼影响的特征点集合。在执行捏脸操作之后,需要根据变化的骨骼来确定哪些特征点会受到影响,从而对相应的特征点进行坐标变换。需要说明的是,图4与图5之间的区别在于:图4中的特征点是严格被部位包含,而图5中部位对应的骨骼所包含的特征点集合可能代表不同部位,这些特征点受骨骼影响的权重大小。
可选地,在步骤S122中,确定面部模型包含的每个顶点的代表骨骼可以包括以下执行步骤:
步骤S1221,对面部模型的顶点网格数据进行解析,得到面部模型的顶点数据,其中,顶点数据包括:每个顶点的空间模型坐标、骨骼索引和骨骼权重;
步骤S1222,对面部模型的蒙皮骨骼数据进行解析,得到获取骨骼索引对应的骨骼名称;
步骤S1223,采用骨骼名称和骨骼权重确定每个顶点的代表骨骼。
通过对mesh文件进行解析,可以获得其所有顶点数据,其包括顶点的模型空间坐标,骨骼索引和骨骼权重。通过对蒙皮骨骼数据进行解析,可以获得骨骼索引对应的骨骼名称。由此获取到每个顶点关联的骨骼名称,骨骼影响权重的大小。在本发明的一个可选实施例中,以权重最大的骨骼作为该顶点的代表骨骼,如果多根骨骼均具有最大权重,则认为该特征点存在歧义,因此丢弃该顶点。
可选地,在步骤S14中,将特征点集合中的特征点与面部模型中对应部位的权重进行关联可以包括以下执行步骤:
步骤S141,确定包含每个部位的特征点集合的包围盒;
步骤S142,根据特征点集合中的特征点与包围盒的各个顶点之间的距离获取筛选后的特征点集合;
步骤S143,从筛选后的特征点集合中选取最大权重值作为每个部位的权重,其中,筛选后的特征点集合中的每个特征点以该特征点为圆心,以权重为半径形成的球体与包围盒相交。
在游戏角色脸部特征点采集完毕之后,需要对脸部特征点进行权重标记。由于游戏角色脸部各个部位的面积不同,可捏范围也存在差异,因此,需要对部分特征点加大影响范围,以确保在一些过渡区域被点击时具有点击反馈。另外,在手游上,手机屏幕显示尺寸有限。游戏玩家点击特定部位容易存在偏差。例如:点击耳朵部位,游戏玩家以为手指点击了耳朵,然而可能手指与屏幕点击后生成的射线检测是在耳朵外,加入部位的权重信息可增加部位影响范围,从而加大容错率。
特征点权重标记过程是一个反复迭代的过程。在本发明的一个可选实施例中,需要对游戏角色脸部的每个部位分别进行权重标记。首先这些标记存在默认初始值,即在筛选的时候求出每个部位特征点的包围盒。在筛选特征点的时候,根据最大包围盒初始化每个特征点的权重,从而使得距离包围盒八个角最近的八个特征点为圆心(这八个特征点可能发生重复),权重大小为半径的球与所在部位的包围盒相交,最大权重即为该部位的初始特征点的权重。图6是根据本发明其中一可选实施例的权重求解中特征点在部位包围盒上的分布示意图,如图6所示,A、B、C、D、E、F、G和H组成的立方体是脸部特定部位所有特征点构成的包围盒。1、2、3和4这四个特征点是筛选得到的距离A、B、C、D、E、F、G和H这八个顶点最近的特征点。1号特征点距离A和B顶点最近,2号特征点距离C和D最近,3号特征点距离E和F最近,4号特征点距离H和G最近。通过获取每个特征点对应的权重,使得以该特征点为圆心,权重为半径的球体与包围盒相交,最终四个特征点求得四个权重值,然后再以最大的权重值作为该部位初始特征点的权重。最后再根据点击效果,如需迭代则调整这些初始值,从而迭代出对应部位较为满意的权重值。
可选地,在步骤S16中,响应于第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换可以包括以下执行步骤:
步骤S161,获取当前触控部位对应的骨骼;
步骤S162,根据当前触控部位对应的骨骼获取待变换的特征点;
步骤S163,获取待变换的特征点中每个特征点对应的骨骼以及每个骨骼的权重,得到待变换的特征点中每个特征点对应的变换矩阵;
步骤S164,将待变换的特征点中每个特征点与对应的变换矩阵相乘,对待变换的特征点中每个特征点进行位置变换。
离线处理获得的特征点为静态数据,这些特征点是基于模型空间的数据,并且与原始脸型绑定,通常用于描述游戏角色脸部的初始状态。游戏玩家在捏脸过程中会实时修改脸部数据,每个部位都有可能被移动、缩放、旋转。为了确保特征点能够始终代表对应的部位,使其保持可信状态,需要在游戏玩家每次捏特定部位,手指松开屏幕的时候刷新特征点数据,从而使得特征点根据脸部骨骼的变化进行相应的变化。之所以是在操作后才刷新特征点数据,是考虑到游戏玩家在捏特定部位时不再需要点击操作,只有当切换部位的时候才需要额外发起点击操作,并且非实时刷新可以降低运算复杂度,减轻硬件负荷。另外,与点选模型进行mesh网格变换相比,从特征点变换退化为顶点变换,不但使得计算简单化,而且还能够减少计算量。
特征点变换的过程如下:首先根据捏脸部位查找到该部位对应的所有骨骼数据;其次通过骨骼数据查找到所有需要变换的特征点数据;然后从特征点数据中查找到该特征点会受到哪些骨骼影响以及每根骨骼影响的权重;最后获得这些骨骼的变换矩阵,并进行加权得到特征点的变换矩阵,以便将特征点坐标与变换矩阵相乘,从而得到捏脸后特征点所在的位置。
以游戏角色的下颌部位为例,图7是根据本发明其中一可选实施例的角色下颌初始状态及特征点分布示意图,如图7所示,为了展示清晰采用6个特征点描述下颌,其中,每个圆球表示半径为0.01的特征点。图8是根据本发明其中一可选实施例的游戏角色下颌调整后特征点分布示意图,如图8所示,在进行下颌的收缩调整后,左图为调整后角色下颌变化和特征点分布,其中,最上面的两个特征点变换后被游戏角色遮挡,因此特别展示了隐藏游戏角色只显示特征点的右图。由此可以看到在对下颌进行收缩操作之后,特征点也能够相应的通过变换继续描述角色的下颌轮廓。
可选地,在步骤S18中,响应于第二触控操作,根据射线与特征点集合中每个特征点的位置关系,确定当前调整的部位可以包括以下执行步骤:
步骤S181,以射线的起点为向量起点,以每个特征点的世界坐标位置为向量终点,得到向量集合;
步骤S182,根据每个向量和射线计算得到第一距离和第二距离,其中,第一距离为每个特征点到射线的距离,第二距离为每个特征点在射线所在方向上与向量起点之间的距离;
步骤S183,针对每个特征点,若第一距离小于或等于该特征点的权重,则将该特征点加入候选集合;
步骤S184,从候选集合中选取第二距离最小的特征点作为与第二触控操作对应的特征点,并根据选取的特征点确定当前调整的部位。
每当游戏玩家发起一次点选操作时,会根据屏幕空间坐标点和相机数据,确定一条点击射线。假设射线的起点为P,方向为D,特征点集合为F1,F2…Fn,其中,Fi(i=1…n)中包含有特征点世界坐标位置FPi、特征点权重信息Wi以及特征点对应的部位索引Bi,那么特征点筛选的过程如下:首先,以射线起点P作为向量起点,每个特征点Fi的世界坐标位置FPi作为向量终点,组成一系列的向量集合;其次,对每个向量求解该向量和点击射线的余弦值,从而求得特征点到点击射线的距离Ki以及在点击射线方向上特征点和P的距离Li;然后,判断距离Ki是否小于或等于特征点的影响权重值Wi。如果距离Ki是小于或等于特征点的影响权重值Wi,则将该特征点加入候选集,否则丢弃该特征点;再然后,对候选集进行处理,如果候选集为空,则认为当前点击是在脸部以外的空白区域,不做任何处理;如果候选集不为空,则需要查找到候选集中Li最小的特征点,该特征点即为点击选中的特征点;最后,根据该特征点查找到其对应的部位索引Bi,从而获得游戏玩家当前点击的特定部位。
下面将结合图9所示的可选实施方式对上述实施过程加以总结。
图9是根据本发明其中一可选实施例的基于面部特征点的快速点选过程的流程图,如图9所示,该过程可以包括以下执行步骤:
步骤S901,根据脸部的部位划分来自动化采集脸部特征点,其中,脸部划分的部位包括但不限于:天庭、面靥、四白、下颌、颏颔、眉梢、眉中、眉尾,其划分粒度由开发人员确定。
步骤S902,将这些特征点与部位权重相关联,用于描述游戏角色脸部各个部位的覆盖区域;
步骤S903,在每一次发生脸部形变时都会执行特征点的位置变换,以确保特征点的可信。
步骤S904,在游戏玩家点击屏幕的时候,根据点击射线,筛选满足条件的特征点集合,再通过一系列比较获得最优特征点,从而确定游戏玩家期望点击的部位。
通过上述可选实施过程可以达到如下技术效果:
(1)为实现捏脸功能,开发人员会显式标记骨骼与部位之间的对应关系。然后,通过自动化方式提取不同部位的特征点,极大地降低了开发人员的工作量。并且当发生捏脸需求迭代(即开发人员迭代点击部位或者修改脸部模型)时,只需重新生成特征点即可,而无需人工付出额外工作量。
(2)在自动化筛选特征点基础上,还加入权重标记方法加大可控性。通过对不同部位特征点标记权重的方式,达到动态控制特定部位的点击影响区域的目的。例如:面部和下巴存在一个过渡区域,需要决策点击这个部位是响应面部点击还是下巴点击。考虑到男性下巴比较宽广,因此希望这部分过渡区域是响应下巴点击;而女性角色下巴比较尖小,因此希望这部分过渡区域是响应面部点击。通过调整每个部位的权重,从而迭代出令人满意的点击反馈效果。
(3)每当游戏玩家调整特定脸部部位之后,都会自动调整特征点位置,从而使得特征点时刻保持可信状态,进一步确保点选操作筛选出来的结果可信。相比于相关技术中提到的点选模型,在游戏玩家调整脸部之后需要基于网格进行特定变换,以便将特征点变换为顶点变换的复杂操作而言,操作简便、效率较高。
(4)相比于相关技术中所提供的物理碰撞检测,通过筛选特征点,无需受限于物理模型的精细程度,具有更多容错性和可控性。对于容错性,相比于物理碰撞检测中会发生没有碰撞的情况,特征点筛选可以脱离物理碰撞检测,在脚本层加入更多容错机制,以确保每次点击均有相应的反馈。对于可控性,相比于物理碰撞检测严格依赖碰撞体大小和位置,特征点筛选可以加入更多的规则,例如:射线是否经过特征点范围内,以及特征点与射线的距离等,从特征集合中筛选出最优的特征点,从而获取到对应的部位。
在本发明其中一实施例中还提供了一种游戏角色的面部模型的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图10是根据本发明其中一实施例的游戏角色的面部模型的处理装置的结构框图,如图10所示,该装置包括:采集模块10,用于采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;关联模块20,用于将特征点集合中的特征点与面部模型中对应部位的权重进行关联,其中,权重用于描述面部模型中预先划分得到的每个部位的覆盖区域;变换模块30,用于响应于所用在面部模型上的第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换,其中,第一触控操作用于调整面部模型的形态;处理模块40,用于响应于作用在面部模型上的第二触控操作,根据相机和第二触控操作的位置信息生成的射线与特征点集合中每个特征点的位置关系,确定面部模型中当前调整的部位。
可选地,采集模块10包括:第一获取单元(图中未示出),用于获取面部模型的模型中包含的骨骼与多个部位之间的第一映射关系;第一处理单元(图中未示出),用于确定面部模型包含的每个顶点的代表骨骼,并获取每个顶点与代表骨骼之间的第二映射关系;第一确定单元(图中未示出),用于通过第一映射关系和第二映射关系确定每个部位的顶点分布情况;采样单元(图中未示出),用于根据每个部位的顶点分布情况在该部位内每根骨骼附近区域进行采样,获取每个部位的特征点集合。
可选地,第一处理单元(图中未示出)包括:第一解析子单元(图中未示出),用于对面部模型的顶点网格数据进行解析,得到面部模型的顶点数据,其中,顶点数据包括:每个顶点的空间模型坐标、骨骼索引和骨骼权重;第二解析子单元(图中未示出),用于对面部模型的蒙皮骨骼数据进行解析,得到获取骨骼索引对应的骨骼名称;确定子单元(图中未示出),用于采用骨骼名称和骨骼权重确定每个顶点的代表骨骼。
可选地,关联模块20包括:第二确定单元(图中未示出),用于确定包含每个部位的特征点集合的包围盒;第二获取单元(图中未示出),用于根据特征点集合中的特征点与包围盒的各个顶点之间的距离获取筛选后的特征点集合;选取单元(图中未示出),用于从筛选后的特征点集合中选取最大权重值作为每个部位的权重,其中,筛选后的特征点集合中的每个特征点以该特征点为圆心,以权重为半径形成的球体与包围盒相交。
可选地,变换模块30包括:第三获取单元(图中未示出),用于获取当前触控部位对应的骨骼;第四获取单元(图中未示出),用于根据当前触控部位对应的骨骼获取待变换的特征点;第五获取单元(图中未示出),用于获取待变换的特征点中每个特征点对应的骨骼以及每个骨骼的权重,得到待变换的特征点中每个特征点对应的变换矩阵;变换单元(图中未示出),用于将待变换的特征点中每个特征点与对应的变换矩阵相乘,对待变换的特征点中每个特征点进行位置变换。
可选地,处理模块40包括:第六获取单元(图中未示出),用于以射线的起点为向量起点,以每个特征点的世界坐标位置为向量终点,得到向量集合;计算单元(图中未示出),用于根据每个向量和射线计算得到第一距离和第二距离,其中,第一距离为每个特征点到射线的距离,第二距离为每个特征点在射线所在方向上与向量起点之间的距离;比较单元(图中未示出),用于针对每个特征点,若第一距离小于或等于该特征点的权重,则将该特征点加入候选集合;第二处理单元(图中未示出),用于从候选集合中选取第二距离最小的特征点作为与第二触控操作对应的特征点,并根据选取的特征点确定当前调整的部位。
本发明其中一实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;
S2,将特征点集合中的特征点与面部模型中对应部位的权重进行关联,其中,权重用于描述面部模型中预先划分得到的每个部位的覆盖区域;
S3,响应于作用在面部模型上的第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换,其中,第一触控操作用于调整面部模型的形态;
S4,响应于作用在面部模型上的第二触控操作,根据相机和第二触控操作的位置信息生成的射线与特征点集合中每个特征点的位置关系,确定面部模型中当前调整的部位。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明其中一实施例还提供了一种处理器,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;
S2,将特征点集合中的特征点与面部模型中对应部位的权重进行关联,其中,权重用于描述面部模型中预先划分得到的每个部位的覆盖区域;
S3,响应于作用在面部模型上的第一触控操作,获取第一触控操作在面部模型中对应部位的特征点,并将特征点进行位置变换,其中,第一触控操作用于调整面部模型的形态;
S4,响应于作用在面部模型上的第二触控操作,根据相机和第二触控操作的位置信息生成的射线与特征点集合中每个特征点的位置关系,确定面部模型中当前调整的部位。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例记载的技术方案所要达到的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种游戏角色的面部模型的处理方法,其特征在于,包括:
采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;
将所述特征点集合中的特征点与所述面部模型中对应部位的权重进行关联,其中,所述权重用于描述所述面部模型中预先划分得到的每个部位的覆盖区域;
响应于作用在所述面部模型上的第一触控操作,获取所述第一触控操作在所述面部模型中对应部位的特征点,并将所述特征点进行位置变换,得到变换结果,其中,所述变换结果用于更新所述特征点集合,所述第一触控操作用于调整所述面部模型的形态;
响应于作用在所述面部模型上的第二触控操作,根据相机和所述第二触控操作的位置信息生成的射线与所述特征点集合中每个特征点的位置关系,确定所述面部模型中当前调整的部位。
2.根据权利要求1所述的方法,其特征在于,采集所述面部模型所包含的所述多个部位中每个部位的特征点集合包括:
获取所述面部模型中包含的骨骼与所述多个部位之间的第一映射关系;
确定所述面部模型包含的每个顶点的代表骨骼,并获取每个顶点与代表骨骼之间的第二映射关系;
通过所述第一映射关系和所述第二映射关系确定每个部位的顶点分布情况;
根据每个部位的顶点分布情况在该部位内每根骨骼附近区域进行采样,获取每个部位的特征点集合。
3.根据权利要求2所述的方法,其特征在于,确定所述面部模型包含的每个顶点的代表骨骼包括:
对所述面部模型的顶点网格数据进行解析,得到所述面部模型的顶点数据,其中,所述顶点数据包括:每个顶点的空间模型坐标、骨骼索引和骨骼权重;
对所述面部模型的蒙皮骨骼数据进行解析,得到获取所述骨骼索引对应的骨骼名称;
采用所述骨骼名称和所述骨骼权重确定每个顶点的代表骨骼。
4.根据权利要求1所述的方法,其特征在于,将所述特征点集合中的特征点与所述面部模型中对应部位的权重进行关联包括:
确定包含每个部位的特征点集合的包围盒;
根据所述特征点集合中的特征点与所述包围盒的各个顶点之间的距离获取筛选后的特征点集合;
从所述筛选后的特征点集合中选取最大权重值作为每个部位的权重,其中,所述筛选后的特征点集合中的每个特征点以该特征点为圆心,以权重为半径形成的球体与所述包围盒相交。
5.根据权利要求1所述的方法,其特征在于,响应于所述第一触控操作,获取所述第一触控操作在所述面部模型中对应部位的特征点,并将所述特征点进行位置变换包括:
获取当前触控部位对应的骨骼;
根据所述当前触控部位对应的骨骼获取待变换的特征点;
获取所述待变换的特征点中每个特征点对应的骨骼以及每个骨骼的权重,得到所述待变换的特征点中每个特征点对应的变换矩阵;
将所述待变换的特征点中每个特征点与对应的变换矩阵相乘,对所述待变换的特征点中每个特征点进行位置变换。
6.根据权利要求1所述的方法,其特征在于,响应于所述第二触控操作,根据所述射线与所述特征点集合中每个特征点的位置关系,确定所述当前调整的部位包括:
以所述射线的起点为向量起点,以每个特征点的世界坐标位置为向量终点,得到向量集合;
根据每个向量和所述射线计算得到第一距离和第二距离,其中,所述第一距离为每个特征点到所述射线的距离,所述第二距离为每个特征点在所述射线所在方向上与所述向量起点之间的距离;
针对每个特征点,若所述第一距离小于或等于该特征点的权重,则将该特征点加入候选集合;
从所述候选集合中选取所述第二距离最小的特征点作为与所述第二触控操作对应的特征点,并根据选取的特征点确定所述当前调整的部位。
7.一种游戏角色的面部模型的处理装置,其特征在于,包括:
采集模块,用于采集游戏角色的面部模型所包含的预先划分的多个部位中每个部位的特征点集合;
关联模块,用于将所述特征点集合中的特征点与所述面部模型中对应部位的权重进行关联,其中,所述权重用于描述所述面部模型中预先划分得到的每个部位的覆盖区域;
变换模块,用于响应于作用在所述面部模型上的第一触控操作,获取所述第一触控操作在所述面部模型中对应部位的特征点,并将所述特征点进行位置变换,得到变换结果,其中,所述变换结果用于更新所述特征点集合,所述第一触控操作用于调整所述面部模型的形态;
处理模块,用于响应于作用在所述面部模型上的第二触控操作,根据相机和所述第二触控操作的位置信息生成的射线与所述特征点集合中每个特征点的位置关系,确定所述面部模型中当前调整的部位。
8.根据权利要求7所述的装置,其特征在于,所述采集模块包括:
第一获取单元,用于获取所述面部模型的模型中包含的骨骼与所述多个部位之间的第一映射关系;
第一处理单元,用于确定所述面部模型包含的每个顶点的代表骨骼,并获取每个顶点与代表骨骼之间的第二映射关系;
第一确定单元,用于通过所述第一映射关系和所述第二映射关系确定每个部位的顶点分布情况;
采样单元,用于根据每个部位的顶点分布情况在该部位内每根骨骼附近区域进行采样,获取每个部位的特征点集合。
9.根据权利要求8所述的装置,其特征在于,所述第一处理单元包括:
第一解析子单元,用于对所述面部模型的顶点网格数据进行解析,得到所述面部模型的顶点数据,其中,所述顶点数据包括:每个顶点的空间模型坐标、骨骼索引和骨骼权重;
第二解析子单元,用于对所述面部模型的蒙皮骨骼数据进行解析,得到获取所述骨骼索引对应的骨骼名称;
确定子单元,用于采用所述骨骼名称和所述骨骼权重确定每个顶点的代表骨骼。
10.根据权利要求7所述的装置,其特征在于,所述关联模块包括:
第二确定单元,用于确定包含每个部位的特征点集合的包围盒;
第二获取单元,用于根据所述特征点集合中的特征点与所述包围盒的各个顶点之间的距离获取筛选后的特征点集合;
选取单元,用于从所述筛选后的特征点集合中选取最大权重值作为每个部位的权重,其中,所述筛选后的特征点集合中的每个特征点以该特征点为圆心,以权重为半径形成的球体与所述包围盒相交。
11.根据权利要求7所述的装置,其特征在于,所述变换模块包括:
第三获取单元,用于获取当前触控部位对应的骨骼;
第四获取单元,用于根据所述当前触控部位对应的骨骼获取待变换的特征点;
第五获取单元,用于获取所述待变换的特征点中每个特征点对应的骨骼以及每个骨骼的权重,得到所述待变换的特征点中每个特征点对应的变换矩阵;
变换单元,用于将所述待变换的特征点中每个特征点与对应的变换矩阵相乘,对所述待变换的特征点中每个特征点进行位置变换。
12.根据权利要求7所述的装置,其特征在于,所述处理模块包括:
第六获取单元,用于以所述射线的起点为向量起点,以每个特征点的世界坐标位置为向量终点,得到向量集合;
计算单元,用于根据每个向量和所述射线计算得到第一距离和第二距离,其中,所述第一距离为每个特征点到所述射线的距离,所述第二距离为每个特征点在所述射线所在方向上与所述向量起点之间的距离;
比较单元,用于针对每个特征点,若所述第一距离小于或等于该特征点的权重,则将该特征点加入候选集合;
第二处理单元,用于从所述候选集合中选取所述第二距离最小的特征点作为与所述第二触控操作对应的特征点,并根据选取的特征点确定所述当前调整的部位。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至6中任意一项所述的游戏角色的面部模型的处理方法。
14.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的游戏角色的面部模型的处理方法。
15.一种终端,其特征在于,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序用于执行权利要求1至6中任意一项所述的游戏角色的面部模型的处理方法。
CN201811076711.1A 2018-09-14 2018-09-14 游戏角色的面部模型的处理方法、装置、处理器及终端 Active CN109285209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811076711.1A CN109285209B (zh) 2018-09-14 2018-09-14 游戏角色的面部模型的处理方法、装置、处理器及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811076711.1A CN109285209B (zh) 2018-09-14 2018-09-14 游戏角色的面部模型的处理方法、装置、处理器及终端

Publications (2)

Publication Number Publication Date
CN109285209A CN109285209A (zh) 2019-01-29
CN109285209B true CN109285209B (zh) 2023-05-26

Family

ID=65181308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811076711.1A Active CN109285209B (zh) 2018-09-14 2018-09-14 游戏角色的面部模型的处理方法、装置、处理器及终端

Country Status (1)

Country Link
CN (1) CN109285209B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112200890B (zh) * 2019-07-08 2023-09-29 福建天泉教育科技有限公司 基于Unity的碰撞器设置方法及存储介质
CN110490958B (zh) * 2019-08-22 2023-09-01 腾讯科技(深圳)有限公司 动画绘制方法、装置、终端及存储介质
CN110570499B (zh) * 2019-09-09 2023-08-15 珠海金山数字网络科技有限公司 一种表情生成方法、装置、计算设备及存储介质
CN111324250B (zh) * 2020-01-22 2021-06-18 腾讯科技(深圳)有限公司 三维形象的调整方法、装置、设备及可读存储介质
CN111651152A (zh) * 2020-04-27 2020-09-11 北京编程猫科技有限公司 一种基于图形化编程的变换人物图画的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777195A (zh) * 2010-01-29 2010-07-14 浙江大学 一种三维人脸模型的调整方法
CN106415665A (zh) * 2014-07-25 2017-02-15 英特尔公司 具有头部转动的头像面部表情动画
CN106709975A (zh) * 2017-01-11 2017-05-24 山东财经大学 一种交互式三维人脸表情动画编辑方法、系统及扩展方法
CN106897662A (zh) * 2017-01-06 2017-06-27 北京交通大学 基于多任务学习的人脸关键特征点的定位方法
CN107180453A (zh) * 2016-03-10 2017-09-19 腾讯科技(深圳)有限公司 人物面部模型的编辑方法及装置
CN107633542A (zh) * 2016-07-19 2018-01-26 珠海金山网络游戏科技有限公司 一种捏脸编辑和动画附加融合方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9928663B2 (en) * 2015-07-27 2018-03-27 Technische Universiteit Delft Skeletal joint optimization for linear blend skinning deformations utilizing skeletal pose sampling

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777195A (zh) * 2010-01-29 2010-07-14 浙江大学 一种三维人脸模型的调整方法
CN106415665A (zh) * 2014-07-25 2017-02-15 英特尔公司 具有头部转动的头像面部表情动画
CN107180453A (zh) * 2016-03-10 2017-09-19 腾讯科技(深圳)有限公司 人物面部模型的编辑方法及装置
CN107633542A (zh) * 2016-07-19 2018-01-26 珠海金山网络游戏科技有限公司 一种捏脸编辑和动画附加融合方法和系统
CN106897662A (zh) * 2017-01-06 2017-06-27 北京交通大学 基于多任务学习的人脸关键特征点的定位方法
CN106709975A (zh) * 2017-01-11 2017-05-24 山东财经大学 一种交互式三维人脸表情动画编辑方法、系统及扩展方法

Also Published As

Publication number Publication date
CN109285209A (zh) 2019-01-29

Similar Documents

Publication Publication Date Title
CN109285209B (zh) 游戏角色的面部模型的处理方法、装置、处理器及终端
US8213680B2 (en) Proxy training data for human body tracking
US12002160B2 (en) Avatar generation method, apparatus and device, and medium
CN109087369B (zh) 虚拟对象显示方法、装置、电子装置及存储介质
CN112037311A (zh) 一种动画生成的方法、动画播放的方法以及相关装置
JP6802393B2 (ja) 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル
CN111714880A (zh) 画面的显示方法和装置、存储介质、电子装置
CN112843704B (zh) 动画模型处理方法、装置、设备及存储介质
CN108986227A (zh) 粒子特效程序文件包的生成及粒子特效生成方法与装置
CN115331265A (zh) 姿态检测模型的训练方法和数字人的驱动方法、装置
CN114299206A (zh) 三维卡通人脸生成方法、装置、电子设备及存储介质
JP2020532022A (ja) 全視角方向の球体ライトフィールドレンダリング方法
WO2023160074A1 (zh) 一种图像生成方法、装置、电子设备以及存储介质
CN109005401A (zh) 消费沉浸内容项时激励观看者转向参考方向的方法和装置
CN108829248B (zh) 一种基于用户表现模型矫正的移动目标选择方法及系统
KR100632535B1 (ko) 이동통신단말기용 삼차원 그래픽 엔진 및 그래픽 제공 방법
CN116402676A (zh) 游戏角色皮肤的建模方法、装置、设备及存储介质
Zhang et al. Application of traditional Chinese elements in visual communication design based on somatosensory interaction parameterisation
CN115526967A (zh) 虚拟模型的动画生成方法、装置、计算机设备及存储介质
CN114882153A (zh) 一种动画生成的方法及装置
WO2024077518A1 (zh) 基于增强现实的界面显示方法、装置、设备、介质和产品
CN117557699B (zh) 动画数据生成方法、装置、计算机设备和存储介质
CN116228942B (zh) 角色动作提取方法、设备和存储介质
Lan Simulation of Animation Character High Precision Design Model Based on 3D Image
Chen et al. Interactive authoring of bending and twisting motions of short plants using hand gestures

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