CN109785449A - 基于ffd的人物脸部编辑及贴花方法 - Google Patents
基于ffd的人物脸部编辑及贴花方法 Download PDFInfo
- Publication number
- CN109785449A CN109785449A CN201811580653.6A CN201811580653A CN109785449A CN 109785449 A CN109785449 A CN 109785449A CN 201811580653 A CN201811580653 A CN 201811580653A CN 109785449 A CN109785449 A CN 109785449A
- Authority
- CN
- China
- Prior art keywords
- offset
- player
- model
- axis
- facial
- 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.)
- Withdrawn
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
一种基于FFD的人物脸部编辑及贴花方法,包括以下步骤:1)加载游戏玩家角色,获取玩家脸部模型;2)对所述玩家脸部模型进行分割,并建立控制点矩阵;3)移动所述控制点,并计算偏移位置;4)计算偏移坐标;5)根据所述偏移坐标计算所述玩家脸部模型的偏移位置;6)对所述玩家脸部模型进行贴花处理。本发明的基于FFD的人物脸部编辑及贴花方法,可以提高游戏效果,减少人工成本,效率更高。
Description
技术领域
本发明涉及计算机图形技术领域,特别是涉及一种基于FFD的人物脸部编辑及贴花技术方法。
背景技术
使用Free-Form Deformation自由变形技术,来编辑原有的人物脸部形状。原有的FFD技术,没有考虑到人物脸部改变时,所属部分的骨架的影响。本发明结合脸部骨骼,使用FFD技术进行脸部的变形,FFD控制点的移动范围限制本分割区域所属的骨骼空间内。在变形后的基础上,进行脸部贴花。
脸部贴花主要用于游戏中玩家的脸部装扮功能,以实现动态改变脸上的眉毛、瞳孔、胡子及嘴型等。
主要方法是使用正交投影距阵把用于贴花的资源投影到一张动态生成的纹理上。这张纹理会在内部替换目标模型的纹理。
贴花资源是以模型文件的形式加载到引擎中,对应的贴图也随之加载。贴花资源中内容的坐标与目标纹理内容坐标是对应的。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种基于FFD的人物脸部编辑及贴花方法,可以提高游戏效果,减少人工成本,效率更高。
为实现上述目的,本发明提供的基于FFD的人物脸部编辑及贴花方法,包括:
1)加载游戏玩家角色,获取玩家脸部模型;
2)对所述玩家脸部模型进行分割,并建立控制点矩阵;
3)移动所述控制点,并计算偏移位置;
4)计算偏移坐标;
5)根据所述偏移坐标计算所述玩家脸部模型的偏移位置;
6)对所述玩家脸部模型进行贴花处理。
进一步地,所述步骤2)进一步包括,对所述玩家脸部模型进行包围盒空间分割,按照指定坐标轴上分割面的个数进行子空间划分,建立脸部的控制点矩阵。
进一步地,进一步包括,
所述分割面在x,y,z轴上的个数分别为l,m,n个;其中l,m,n为大于等于0的整数;
所述控制点P[i][j][k]=X0+i/l*S+j/m*T+k/m*U;
其中,i,j,k分别为控制点P在控制点网格中的三轴方向上的索引号;
S,T,U分别为在x,y,z三个轴上的整个脸部包围盒的长度向量。
进一步地,所述步骤3)进一步包括,计算所述玩家脸部模型的偏移量,X-X0=P-P0,其中,
X为模型偏移后的点;
X0为偏移前的点;
P为控制点的偏移后的位置;
P0为控制点的偏移前的位置。
进一步地,还包括,所述模型偏移后的点X与偏移前的点X0的关系为:
X=X0+s*S+t*T+u*U,其中,
X为模型偏移后的点;
X0为偏移前的点;
S,t,u为偏移后的顶点分别在x,y,z轴上,相对于原始顶点的偏移值;
S,T,U为在x,y,z三个轴上的整个脸部包围盒的长度向量。
进一步地,所述步骤4)采用如下公式计算偏移坐标:
s=TxU*(X-X0)/(TxU*S);
t=SxU*(X-X0)/(SxU*T);
u=SxT*(X-X0)/(SxT*U);
其中,s,t,u为偏移后的顶点分别在x,y,z轴上,相对于原始顶点的偏移值;X为模型偏移后的点;X0为偏移前的点;S,T,U为在x,y,z三个轴上的整个脸部包围盒的长度向量。
进一步地,步骤5)所述根据所述偏移坐标计算所述模型的偏移位置,进一步包括,将所述偏移坐标代入三元Bernstein多项式计算顶点偏移位置:
Xffd=∑C(l,t)*(1-s)^(l-t)*s^(t)*{[∑C(m,j)*(l-t)^(m-j)*t^j]*[∑C(n,k)*(1-u)^(n-k)*u^k*P[i][j][k]};
l,m,n分别代表在x,y,z三个轴上的分割面的个数;i,j,k代表迭代求和计算中每次迭代所取的值;s,t,u为偏移后的顶点分别在x,y,z轴上,相对于原始顶点的偏移值;P[i][j][k],代表当前控制点所在空间中的位置。
进一步地,还包括,输入参数,进行所述玩家脸部模型各顶点的偏移。
更进一步地,所述步骤6)进一步包括以下步骤:
加载所述玩家脸部模型;
加载用于贴花的资源;
生成一张空纹理;
使用正交投影将所述资源渲染到所述空纹理上;
将渲染生成的纹理替换到所述玩家脸部模型上。
为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的基于FFD的人物脸部编辑及贴花方法步骤。
本发明的基于FFD的人物脸部编辑及贴花方法,具有以下有益效果:
1)可以在同一个模型基础上变形出很多种人物脸部模型。
2)提供更具有个性游戏角色,提高游戏效果的逼真度和游戏的可玩性。
3)美术资源易于制作,引擎内部处理简洁、不易出错,在整个游戏过程中几乎不占用cpu计算资源,效率更高。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的基于FFD的人物脸部编辑及贴花方法流程图。
图2为根据本发明的基于FFD的人物脸部编辑及贴花方法实施例一示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明的基于FFD的人物脸部编辑及贴花方法流程图,下面将参考图1,对本发明的基于FFD的人物脸部编辑及贴花方法进行详细描述。
首先,在步骤101,加载游戏玩家角色,获取玩家脸部模型。
在步骤102,对玩家脸部模型进行分割,并建立脸部控制点矩阵。
优选地,对所述玩家脸部模型进行包围盒空间分割,按照指定坐标轴上分割面的个数进行子空间划分。该步骤中,对整个玩家脸部模型进行包围盒空间分割,按照指定坐标轴上分割面的个数在三个坐标上进行子空间划分,以建立脸部的各控制点矩阵。
优选地,所述分割面在x,y,z轴上的个数分别为l,m,n个,指定变量(l,m,n);所述控制点P[i][j][k]=X0+i/l*S+j/m*T+k/m*U。该步骤中,x,y,z轴上的分割面的个数为l,m,n个,这个三个变量(l,m,n),在编辑脸部时,由用户指定。(i,j,k)为控制点P在上述建立的控制点网格中的三轴方向上的索引号。其中,i、j、k分别为控制点P在控制点网格中的三轴方向上的索引号;S,T,U分别为在x,y,z三个轴上的整个脸部包围盒的长度向量。
在步骤103,移动所述控制点,并计算偏移位置。该步骤中,人物脸部的变形是通过控制点的移动而产生的。
优选地,计算所述模型的偏移量,X-X0=P-P0。该步骤中,(P,P0)分别为控制点的偏移后与偏移前的位置,(X,X0)为当前控制点所控制的子区域内的任一点。
优选地,所述模型偏移后的点X与偏移前的点X0的关系为:X=X0+s*S+t*T+u*U。该步骤中,人物脸部变形后的任一点X与变形前的X0关系可表达为:X=X0+s*S+t*T+u*U。
在步骤104,计算偏移坐标。该步骤中,X-X0的向量差代入公式1得到当前子区域内所有点的偏移坐标(s,t,u)。
优选地,公式1:
s=TxU*(X-X0)/(TxU*S);
t=SxU*(X-X0)/(SxU*T);
u=SxT*(X-X0)/(SxT*U)。
(S,T,U)为在x,y,z三个轴上的整个脸部包围盒的长度向量,其单位化为1;(s,t,u)为偏移后的顶点分别在(x,y,z)轴上,相对于原始顶点的偏移值;S,T,U间的乘法为张量积。(依据Cramer's rule)0<s<1,0<t<1,0<u<1。
在步骤105,将所述偏移坐标代入三元Bernstein多项式计算顶点偏移位置:Xffd=∑C(l,t)*(1-s)^(l-t)*s^(t)*{[∑C(m,j)*(l-t)^(m-j)*t^j]*[∑C(n,k)*(1-u)^(n-k)*u^k*P[i][j][k]}。该步骤中,(s,t,u)坐标代入三元Bernstein多项式得到当前分割子空间内每一顶点的偏移后的位置(每一顶点,都需要循环遍历一次计算)。公式截图为:
l,m,n分别代表在x,y,z三个轴上的分割面的个数;i,j,k代表迭代求和计算中每次迭代所取的值,0<=i<=l,0<=j<=m;0<=k<=n;(即在l,m,n范围内迭代),都为大于等于0的整数;(s,t,u)用于代表模型中每一顶点(这里是脸部模型)变形时的相对于它原来所在位置,在各坐标轴上(x,y,z)三个坐标轴上,的偏移量;0<s<1,0<t<1,0<u<1,P[i][j][k],代表当前控制点所在空间中的位置。
控制点P[i][j][k]的偏移,具体的输入过程由gui上的滑动控件,随着用户对滑块的拖动而实时改变,控制点的个数决定了变形的个数。
优选地,输入参数,进行所述模型各顶点的偏移。该步骤中,根据用户输入的参数,应用FFD方法,进行脸部模型各顶点的偏移。
优选地,进行所述模型的贴花操作,包括,
1)加载所述玩家脸部模型;
2)加载用于贴花的资源;
3)生成一张空纹理;
4)将所述资源以正交投影的形式,渲染到所述空纹理上。
5)将生成的纹理替换到所述玩家脸部模型上。该步骤中,将步骤4)中动态生成的纹理替换到目标玩家模型的脸部上。
优选地,所述正交投影矩阵为:
该步骤中,w,h为正交投影空间的宽、高,zf,zn为远近平面在z轴上的距离。
图2为根据本发明的基于FFD的人物脸部编辑及贴花方法实施例一示意图。如图2所示,将贴花资源渲染动态生成的纹理替换到目标玩家模型的脸部上。
优选地,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行如上文所述的基于FFD的人物脸部编辑及贴花方法步骤。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于FFD的人物脸部编辑及贴花方法,其特征在于,包括以下步骤:
1)加载游戏玩家角色,获取玩家脸部模型;
2)对所述玩家脸部模型进行分割,并建立控制点矩阵;
3)移动所述控制点,并计算偏移位置;
4)计算偏移坐标;
5)根据所述偏移坐标计算所述玩家脸部模型的偏移位置;
6)对所述玩家脸部模型进行贴花处理。
2.根据权利要求1所述的方法,其特征在于,所述步骤2)进一步包括,对所述玩家脸部模型进行包围盒空间分割,按照指定坐标轴上分割面的个数进行子空间划分,建立脸部的控制点矩阵。
3.根据权利要求2所述的方法,其特征在于,进一步包括,
所述分割面在x,y,z轴上的个数分别为l,m,n个,其中l,m,n为大于等于0的整数;
所述控制点P[i][j][k]=X0+i/l*S+j/m*T+k/m*U;
其中,i,j,k分别为控制点P在控制点网格中的三轴方向上的索引号;
S,T,U分别为在x,y,z三个轴上的整个脸部包围盒的长度向量。
4.根据权利要求1所述的方法,其特征在于,所述步骤3)进一步包括,计算所述玩家脸部模型的偏移量,X-X0=P-P0,其中,
X为模型偏移后的点;
X0为偏移前的点;
P为控制点的偏移后的位置;
P0为控制点的偏移前的位置。
5.根据权利要求1或4所述的方法,其特征在于,还包括,所述模型偏移后的点X与偏移前的点X0的关系为:
X=X0+s*S+t*T+u*U,其中,
X为模型偏移后的点;
X0为偏移前的点;
S,t,u为偏移后的顶点分别在x,y,z轴上,相对于原始顶点的偏移值;
S,T,U为在x,y,z三个轴上的整个脸部包围盒的长度向量。
6.根据权利要求1所述的方法,其特征在于,所述步骤4)采用如下公式计算偏移坐标:
s=TxU*(X-X0)/(TxU*S);
t=SxU*(X-X0)/(SxU*T);
u=SxT*(X-X0)/(SxT*U);
其中,s,t,u为偏移后的顶点分别在x,y,z轴上,相对于原始顶点的偏移值;X为模型偏移后的点;X0为偏移前的点;S,T,U为在x,y,z三个轴上的整个脸部包围盒的长度向量。
7.根据权利要求1所述的方法,其特征在于,步骤5)所述根据所述偏移坐标计算所述模型的偏移位置,进一步包括,将所述偏移坐标代入三元Bernstein多项式计算顶点偏移位置:
Xffd=∑C(l,t)*(1-s)^(l-t)*s^(t)*{[∑C(m,j)*(l-t)^(m-j)*t^j]*[∑C(n,k)*(1-u)^(n-k)*u^k*P[i][j][k]};
l,m,n分别代表在x,y,z三个轴上的分割面的个数;i,j,k代表迭代求和计算中每次迭代所取的值;s,t,u为偏移后的顶点分别在x,y,z轴上,相对于原始顶点的偏移值;P[i][j][k],代表当前控制点所在空间中的位置。
8.根据权利要求1所述的方法,其特征在于,还包括,输入参数,进行所述玩家脸部模型各顶点的偏移。
9.根据权利要求1所述的方法,其特征在于,所述步骤6)进一步包括以下步骤:
加载所述玩家脸部模型;
加载用于贴花的资源;
生成一张空纹理;
使用正交投影将所述资源渲染到所述空纹理上;
将渲染生成的纹理替换到所述玩家脸部模型上。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至9任一项所述的基于FFD的人物脸部编辑及贴花方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811580653.6A CN109785449A (zh) | 2018-12-24 | 2018-12-24 | 基于ffd的人物脸部编辑及贴花方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811580653.6A CN109785449A (zh) | 2018-12-24 | 2018-12-24 | 基于ffd的人物脸部编辑及贴花方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109785449A true CN109785449A (zh) | 2019-05-21 |
Family
ID=66498052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811580653.6A Withdrawn CN109785449A (zh) | 2018-12-24 | 2018-12-24 | 基于ffd的人物脸部编辑及贴花方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109785449A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111144019A (zh) * | 2019-12-30 | 2020-05-12 | 创新奇智(广州)科技有限公司 | 一种甲片三维模型的生成方法及系统 |
CN113379880A (zh) * | 2021-07-02 | 2021-09-10 | 福建天晴在线互动科技有限公司 | 一种表情自动化生产方法及其装置 |
CN113593019A (zh) * | 2021-08-09 | 2021-11-02 | 北京金恒博远科技股份有限公司 | 一种物体结构变化展示方法、装置及电子设备 |
-
2018
- 2018-12-24 CN CN201811580653.6A patent/CN109785449A/zh not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111144019A (zh) * | 2019-12-30 | 2020-05-12 | 创新奇智(广州)科技有限公司 | 一种甲片三维模型的生成方法及系统 |
CN111144019B (zh) * | 2019-12-30 | 2024-01-30 | 创新奇智(广州)科技有限公司 | 一种甲片三维模型的生成方法及系统 |
CN113379880A (zh) * | 2021-07-02 | 2021-09-10 | 福建天晴在线互动科技有限公司 | 一种表情自动化生产方法及其装置 |
CN113379880B (zh) * | 2021-07-02 | 2023-08-11 | 福建天晴在线互动科技有限公司 | 一种表情自动化生产方法及其装置 |
CN113593019A (zh) * | 2021-08-09 | 2021-11-02 | 北京金恒博远科技股份有限公司 | 一种物体结构变化展示方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792725B2 (en) | Method for image and video virtual hairstyle modeling | |
US8154544B1 (en) | User specified contact deformations for computer graphics | |
CN102272798B (zh) | 曲面细分时间随曲面细分量线性增长的镶嵌器 | |
CN109785449A (zh) | 基于ffd的人物脸部编辑及贴花方法 | |
US7791606B2 (en) | Goal-directed cloth simulation | |
CN106251384A (zh) | 使用三角形的递归再分的细分方法 | |
US10803660B2 (en) | Real-time collision deformation | |
CN111773719A (zh) | 虚拟对象的渲染方法和装置、存储介质、电子装置 | |
CN114693856B (zh) | 对象生成方法、装置、计算机设备和存储介质 | |
WO2022075858A1 (en) | Method and user interface for generating tangent vector fields usable for generating computer-generated imagery | |
Schäfer et al. | Dynamic feature-adaptive subdivision | |
KR100889854B1 (ko) | 캐리커처 비디오 생성 방법 및 장치 | |
Miranda et al. | Sketch express: facial expressions made easy | |
KR100947439B1 (ko) | 체형 변화에 따라 아이템을 실시간으로 모핑하는 시스템 및방법 | |
KR20080051008A (ko) | 3차원 공간에서 시간일관성을 이용한 실루엣 렌더링 장치및 방법 | |
CN110176058A (zh) | 一种基于草图和卷积曲面的沉浸式快速建模方法 | |
CN106887042B (zh) | 基于gpu的自适应曲面细分方法 | |
CN114119821A (zh) | 虚拟对象的毛发渲染方法、装置及设备 | |
US10902675B2 (en) | Graphical modelling by smoothing polyhedral meshes with multi-sided patches | |
JP2009251887A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
Sánchez-Banderas et al. | Real-time Inextensible Hair with Volume and Shape. | |
Jabłoński et al. | Real-time rendering of continuous levels of detail for sparse voxel octrees | |
CN117115805B (zh) | 一种Unreal Engine平台下的任意不规则物体标识方法和标识装置 | |
CN104143204A (zh) | 考虑拓扑结构的移动最小二乘二维角色变形方法 | |
CN111144064B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190521 |
|
WW01 | Invention patent application withdrawn after publication |