游戏角色发型调整方法、装置、电子设备及存储介质与流程

专利2023-07-14  99



1.本公开涉及计算机图形学技术领域,尤其涉及一种游戏角色发型调整方法、装置、电子设备及存储介质。


背景技术:

2.随着电子娱乐行业的发展,游戏受到越来越多用户的喜爱,技术逐渐进步,硬件性能大幅提升,玩家对于主角的个性化定制要求越来越高。用户为了获得更好的游戏体验,都希望具有个性化的造型,而发型是最能体现出个性化的地方。
3.目前的发型定制化主要通过更换发型来实现。由游戏的设计人员预先做好多种头发模型,玩家再使用游戏引擎对角色的发型进行更换,并且给出发型的一种或多种预定义的配色。发型调整的灵活性和个性化程度较低。选择相同发型的人头发完全相同,或只有发色有所区别。而发型的总量是一定的,玩家的总量又是巨大的,相对玩家的总量,发型的多样性极度缺乏。


技术实现要素:

4.有鉴于此,本公开提出一种游戏角色发型调整方法、装置、电子设备及存储介质。以使游戏角色发型的调整灵活度较高,满足用户个性化的需求,为用户带来更好的体验。
5.本公开提供的一种游戏角色发型调整方法,包括:
6.获取游戏角色发型模型数据,根据游戏角色发型模型数据生成游戏角色发型的骨架;骨架包括多个与游戏角色发型绑定的骨骼和/或骨骼链;骨骼链基于游戏角色发型中外观上成束的头发构建,包括至少一个骨骼;
7.确定骨架与游戏角色发型模型数据之间的相对位置信息;
8.响应于至少部分骨骼和/或骨骼链位置的调整,基于相对位置信息更新游戏角色发型模型数据;
9.输出更新后的游戏角色发型。
10.基于同一构思,本公开提供的一种游戏角色发型调整装置,包括:
11.获取模块,用于获取游戏角色发型模型数据,根据游戏角色发型模型数据生成游戏角色发型的骨架;骨架包括多个与游戏角色发型绑定的骨骼和/或骨骼链;骨骼链基于游戏角色发型中外观上成束的头发构建,包括至少一个骨骼;
12.确定模块,用于确定骨架与游戏角色发型模型数据之间的相对位置信息;
13.调整模块,用于调整至少部分骨骼和/或骨骼链的位置,并基于相对位置信息更新游戏角色发型模型数据;
14.输出模块,用于输出更新后的游戏角色发型。
15.基于同一构思,本公开提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现如上所述的方法。
16.基于同一构思,本公开提供的一种非暂态计算机可读存储介质,非暂态计算机可
读存储介质存储计算机指令,计算机指令用于使计算机实现如上所述的方法。
17.从上面所述可以看出,本公开提供的游戏角色发型调整方法、装置、电子设备及存储介质,将游戏角色发型模型的网格绑定到骨骼上,通过调整骨骼的位置,随之调整附着在骨骼上的头发,从而实现灵活的改变发型的目的,发型调整多样化、个性化。游戏角色发型随骨骼变化而变化,骨骼不变化时发型保持不变,保型性好;发型调整时,变化计算较为简单,计算量少;而且调整发型时简单直观,具有良好的用户体验。
附图说明
18.为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施方式或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1为本公开实施方式提出的一种游戏角色发型调整方法的流程示意图;
20.图2为本公开实施方式提出的一种发型调整操作界面的示意图;
21.图3a为本公开实施方式提出的一种调整单根骨骼的示意图;
22.图3b为本公开实施方式提出的一种调整骨骼链的示意图;
23.图4为本公开实施方式提出的一种游戏角色发型调整装置的示意图;
24.图5为本公开实施方式提出的一种电子设备硬件结构示意图。
具体实施方式
25.为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施方式,并参照附图,对本公开进一步详细说明。
26.需要说明的是,除非另外定义,本公开实施方式使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施方式中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
27.如背景技术部分所述,随着技术进步,硬件性能提升,玩家对于主角的个性化定制要求越来越高。现在市面上品质好一点的游戏都已经支持了捏脸、捏身体的功能。但支持捏头发功能的游戏却很少,而发型在游戏中也占据了比较重要的一部分,发型对主角美感有很大的影响,同一个主角不同的发型就会给人不同的感受。所以玩家对发型个性化定制的需求是非常强烈的。
28.目前市面上仅有极少的mmorpg(大型多人在线角色扮演游戏)游戏中支持捏头发功能,而且对于发型的调整仅提供几个可调的点,可调的点太少,导致发型的定制化显得不足;而且只能针对单个可调点进行调整,缺乏整体性的调整,调整起来也比较繁琐;这些调整方式只能适应于某类发型,应用面不够宽泛。
29.本公开提供一种游戏角色发型调整方法、装置、电子设备及存储介质,可以为头发建立骨骼,将头发网格依附于骨骼之上,通过改变骨骼的位置来改变头发的位置,使调整更加直观,更加多样性。
30.下面以具体地实施方式对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施方式可以相互结合,对于相同或相似的概念或过程可能在某些实施方式中不再赘述。下面将结合附图,对本公开的实施方式进行描述。
31.如图1所示,本公开提供的游戏角色发型调整方法,包括:
32.s101、获取游戏角色发型模型数据,根据游戏角色发型模型数据生成游戏角色发型的骨架,骨架包括多个与游戏角色发型绑定的骨骼和/或骨骼链;骨骼链基于游戏角色发型中外观上成束的头发构建,包括至少一个骨骼。
33.可选的,步骤s101,具体包括:基于游戏角色发型创建顶点,通过顶点构建头发网格,建立游戏角色发型模型;选择游戏角色发型模型中外观上成束的头发,建立包括至少一个骨骼的骨骼链。
34.本实施方式中,首先可以通过手绘创建出大量的基础发型;因为不是所有的发型都有很高的调整价值,所以在获取到大量的基础发型后,需要根据现实中发型的类型,对各种发型进行分析总结,然后再归纳出常见的发型;找出可调性比较大的发型,将这些可调性较大的发型作为调整头发的基础发型;这些可调性较大的基础发型是为了方便玩家调整头发,可以激发玩家塑造头发的欲望;避免因为头发塑造的问题,使玩家失去对游戏的耐心,还可以增加玩家对游戏角色创建的参与感。
35.根据已经获取到了的方便玩家调整的基础发型,然后根据这些基础发型,可以使用建模工具对这些可调性较大的基础发型创建3d模型;例如,可以使用3d max,zbrush,maya等各种建模工具来创建这些基础发型的3d模型。在建模的过程中,首先为基础发型创建若干顶点,然后依据创建的顶点构建基础发型的头发网格,通过将头发网格与发型相匹配起来,这样就建立起了头发的静态外观。再依据游戏角色发型模型数据创建游戏角色发型的骨架;骨架由一系列与基础发型绑定的具有层次关系的骨骼和/或骨骼链组成,为一种树结构。在骨架中,可选择其中一个为根骨骼,其它骨骼为根骨骼的子骨骼。
36.骨架的确定是需要依据所创建的头发的3d模型及对头发的调整需要来进行创建的。请一并参见图3a,游戏角色发型模型包括多束头发,每一束可调整的头发包括至少一根骨骼。为了满足对游戏角色发型中外观上成束头发的多样化调整,可选择游戏角色发型模型中外观上成束的头发建立骨骼链,例如301、302、303三个骨骼,位于游戏角色发型模型中外观上同一束头发中。可以根据基础发型的可调性的难易程度,选择需要使用多少跟骨骼构成骨骼链;比如一种较为简单的基础发型,可调性较为简单,那就可以根据发型的3d模型,对发型创建较少的骨骼链;然后骨骼链可以仅由一根骨骼创建而成。这样可以大幅增加调整头发时的运算速度;发型调整起来更加简单,直观;若是一种调整难度较大的基础发型,就可以增加发型上的骨骼链的数量;其中每条骨骼链也由多根骨骼构成,增加根骨骼后的子骨骼的数量,这样可以更细致的调整骨骼的形态,进而对游戏角色的发型进行细致的调整。
37.s102、确定骨架与游戏角色发型模型数据之间的相对位置信息。
38.步骤s102,具体包括:确定游戏角色发型模型数据与骨骼之间的对应关系,以及游戏角色发型模型数据受各个骨骼的影响权重。
39.本实施方式中,因为已经创建了基础发型的3d模型,还根据创建的3d模型,确定了发型的骨架;但是发型的骨架与发型模型却是相互独立的,为了调整骨骼位置时能改变发型的位置,所以需要将发型模型与发型的骨架绑定到一起,即使得发型的骨架与发型模型之间的相对位置保持不变。所以需要通过蒙皮操作将发型模型的顶点绑定到发型的骨架上。同时,发型模型的顶点可能受多根骨骼的统统影响,因此,确定骨架与游戏角色发型模型数据之间的相对位置关系,还包括确定游戏角色发型模型数据受各个骨骼的影响权重。游戏角色发型模型数据受各个骨骼的影响权重代表了骨骼对顶点的影响程度,例如一个顶点同时有两个骨骼对其产生影响时,权重高的骨骼对顶点的影响程度更大;同理,如果在调整或者蒙皮过程中,不希望某一骨骼对该顶点产生影响时,可通过将权重调整为0避免该骨骼对该顶点产生影响。
40.示例性的,可以使用3d max工具,首先将发型模型与发型的骨架对好位置,选中发型模型,使用3d max的physique功能,找到骨架与模型的附加节点,然后使用bip001 pelvis功能拾取对象,最后对骨骼姿势和顶点设置等默认参数进行初始化;然后再检验骨骼的对位情况和骨骼的大小是否合理;选中顶点,通过权重调整功能调整顶点受影响的骨骼的数量以及各骨骼对顶点的影响权重。选中骨骼的任意位置,进行移动,看看模型可不可以跟着移动;简单的调试骨骼,观察是否有粘连现象;最终就完成了发型模型的顶点与发型的骨架绑定的操作;当然,发型模型与发型骨架绑定的操作有其他手段,并不限于此,本领域技术人员可以使用其它任意可以进行蒙皮操作的工具和方法。
41.在一个可行的实施方式中,根据游戏角色发型模型数据生成游戏角色发型的骨架之后,还包括:
42.将骨架通过3d渲染进行展示。
43.本实施方式中,前面已经完成了发型模型的顶点和发型骨架的绑定,但对于发型和发型骨架上骨骼的位置及对应关系并没有很好的呈现出来;所以还需要将发型骨骼和发型展示出来,并需要展示发型和发型骨骼的位置及对应关系;这样方便玩家能更清楚的看到发型骨架上的骨骼与发型的位置关系,方便玩家调整头发时能更快更准确的找到自己所想调整的头发;可以使用3d渲染的方式对发型和发型骨骼进行展示,首先,定位三维场景中的摄像机,这和真实的摄影是一样的。一般来说,三维软件已经提供了四个默认的摄像机,那就是软件中四个主要的窗口,分为顶视图、正视图、侧视图和透视图。大多数时候渲染的是透视图而不是其它视图,透视图的摄像机基本遵循真实摄像机的原理,所以看到的结果才会和真实的三维世界一样,具备立体感。接下来,为了体现空间感,渲染程序要决定哪些物体在前面、哪些物体在后面和那些物体被遮挡等。空间感仅通过物体的遮挡关系是不能完美再现的;渲染程序通过摄像机获取了需要渲染的范围之后,就要计算光源对物体的影响;渲染程序要计算在场景中添加的每一个光源对物体的影响;渲染程序需要计算大量的辅助光源。在这之后,渲染程序还会计算物体表面的颜色,物体的属性不同,纹理不同都会产生各种不同的效果。使用3d渲染可以显示出灯光效果、阴影效果和表面纹理效果等,可以使头发调整起来更加真实,视觉效果更好;而且以这种方式还可以加速和优化三维图形的显示,方便调整过后更好的把发型呈现出来。展示的方式不仅限于3d渲染,可以使用其它任
意可以展示图形的方法或工具。
44.s103、响应于至少部分骨骼和/或骨骼链位置的调整,基于相对位置信息更新游戏角色发型模型数据。
45.步骤s103,具体包括:选择待调整的骨骼;选择骨骼局部坐标系中待调整的维度,维度包括平移、旋转和缩放;修改维度的数值;将修改后的数值应用到骨骼上;使用鼠标或触控拖动骨骼;将鼠标或触控在视觉坐标系中的位移转换为骨骼坐标系中的数值变化。
46.本实施方式中,如图2所示,图2为本公开提供的一个发型调整操作界面的示意图;在对游戏角色发型中选定的骨骼进行调整时,首先可以选择不同的维度进行调整,例如,选择“左右”图框,然后就可以选择想要调整的骨骼,在发型调整操作界面直接输入数字,从而改变骨骼左右的位置;与此相同的,骨骼的上下和前后位置也可以进行调整;骨骼的水平轴、竖直轴和纵深轴也是以相同的方式进行调整,从而达到骨骼旋转的效果;也可以调整骨骼的深度、高度和宽度,实现骨骼的缩放或扩张的效果;然后实现对整体发型的调整;这样对发型调整更加直观,所见即所得。
47.请一并参见图3a和图3b,还可以使用鼠标或触控拖动骨骼实现对骨骼和/或骨骼链的调整。首先选择需要调整的方式,调整的方式可以包括平移、旋转或缩放;例如,如图2所示,在发型调整操作界面勾选平移,然后使用鼠标或触控拖动骨骼302,骨骼302会跟着鼠标或触控的移动而移动;因为骨骼303属于骨骼302的子骨骼,所以骨骼303也会随着骨骼302位置的变化而变化;但是作为父骨骼301不会因为骨骼302的移动而变化;这样就完成了平移的操作;与调整的骨骼绑定的头发也会随之变化位置;然后可以根据自己的需求选择旋转变化,或者选择缩放变化;头发的位置和形状也会随着鼠标或触控的调整而变化;旋转变化和缩放变化的调整变化和平移变化的方法相同;而且当通过鼠标或触控在视觉坐标系中拖动骨骼位移转换时,图2中调整发型操作界面中的骨骼坐标系中的数值也会随之变化,能清楚的反映出骨骼调整了多少数值;方便当鼠标或触控调整骨骼后,玩家不满意,还可以根据骨骼坐标系的数值进行微调;通过使用鼠标或触控拖动骨骼的调整方式和输入坐标系数值的调整方式相结合,调整出一个更加符合玩家要求的发型;而且使用鼠标或触控调整骨骼后,在骨骼坐标系中显示出调整后的数值,可以方便玩家记录本次所调整的骨骼的具体数据,方便玩家下次调整时能很快的调整出玩家想要的发型。具体的,实现鼠标或触控拖动骨骼位移的过程包括:
[0048]v1t
=m
s2m
*v
diff
(1)
[0049]
t
1total
=clamp(t
0total
+v
1t
,t
mintotal
,t
maxtotal)
(2)
[0050]
其中,公式(1)中m
s2m
为屏幕空间到模型空间的转换矩阵,v
diff
为鼠标或触控在屏幕上移动后的位置差,v
1t
为当前骨骼需要移动的量,公式(2)中t
1total
为本次调整后骨骼的总变化量,t
0total
为上次调整后骨骼的总变化量,t
mintotal
为此骨骼变化量的最大值,t
maxtotal
为此骨骼变化量的最小值,clamp操作是限制总变化量的函数。
[0051]
实现鼠标或触控拖动骨骼旋转的过程具体包括:
[0052]vb
=m
v2b
*v
z (3)
[0053]
rad=k*x
ꢀꢀꢀ
(4)
[0054]
qd=quternion(vb,rad)
ꢀꢀꢀ
(5)
[0055]
q1=qd*q0ꢀꢀꢀ
(6)
[0056]
ypr1=quaternionrotationyawpitchroll(q1)
ꢀꢀꢀ
(7)
[0057]
ypr1=clamp(ypr1,ypr
mintotal
,ypr
maxtotal
)
ꢀꢀ
(8)
[0058]
其中,公式(3)中vz是视觉坐标系中的z轴,即相机看向的方向,m
v2b
是从视觉坐标系转到被调整骨骼的父骨骼坐标系的转换矩阵,vb是调整骨骼的旋转轴,公式(4)中k是常数,k根据实际的调整速度来确定,x是鼠标或触控在屏幕上的移动量,rad是最终产生的旋转角度,公式(5)是将公式(3)和公式(4)结合产生的旋转四元数qd,公式(6)中q0是上次调整后的旋转总结果,q1是本次调整后的总结果,公式(7)将四元数转换成欧拉角,公式(8)中ypr1是旋转后骨骼的总变化量,ypr
mintotal
是骨骼旋转量的最大值,ypr
maxtotal
是骨骼旋转量的最小值,clamp操作是限制总变化量的函数,公式(8)是在欧拉角的限制范围内。
[0059]
实现鼠标或触控拖动骨骼缩放的过程具体包括:
[0060]vs
=m
v2b
*k*v
diff
(9)
[0061]s1total
=clamp(s
0total
+vs,s
mintotal
,s
maxtotal)
(10)
[0062]
其中,公式(9)中vs是鼠标或触控移动骨骼的缩放的量,m
v2b
是从视觉坐标系转到被调整骨骼的父骨骼坐标系的转换矩阵,v
diff
是鼠标或触控移动差,k是常数用来控制调整速度,公式(10)是限制总调整量的,s
1total
是缩放后骨骼的总变化量,s
0total
为上次调整量,s
mintotal
是骨骼缩放量的最大值,s
maxtotal
是骨骼缩放量的最小值,clamp操作是限制总变化量的函数。
[0063]
示例性的,在进行发型的调整时,可选择图2中所示的骨骼链调整,通过鼠标或触控拖动骨骼链中的末端骨骼,同时影响该骨骼链上的其他骨骼,完成对整条发束的调整。如图3b所示,通过鼠标或触控拖动调整骨骼链中的末端骨骼306时,其父骨骼305及304随之进行移动。同理,对末端骨骼306执行的其他操作,例如平移、旋转及缩放等,均会同步影响其父骨骼305和304。用户通过拖动末端骨骼即可实现对整条发束的调整,发型调整简单方便,且发型调整更加自然不容易出错。
[0064]
s104、输出更新后的游戏角色发型。
[0065]
本实施方式中,使用的主要是骨骼动画。骨骼动画是在游戏本身的骨骼动画系统的基础上做出的改进。在此动画系统下,始终保持顶点和骨骼之间的相对位置关系。在保持相对位置关系前,将变化后的骨骼数据应用到对应的与骨骼绑定的顶点上,当使骨骼运动,调整骨骼的位置时,与骨骼绑定的顶点的位置也会随之改变位置;又因为与骨骼绑定的顶点是根据基础发型创建出来的,所以当顶点的位置发生变化后,头发的位置也就会发生变化;从视觉效果上来看,就是当调整了骨骼的位置后,头发也会随着骨骼移动,发生变化;比如人的手,使用顶点构成皮肤,将皮肤包裹在骨骼的周围,当骨骼动的时候,皮肤也跟着动;以此输出更新后的游戏角色的发型。
[0066]
从上面所述可以看出,本公开实施方式提供的一种游戏角色发型调整方法,通过获取游戏角色发型模型数据,根据游戏角色发型模型数据生成游戏角色发型的骨架;确定骨架与游戏角色发型模型数据之间的相对位置信息;响应于骨架位置的调整,基于相对位置信息更新游戏角色发型模型数据;输出更新后的游戏角色发型。本公开通过将游戏角色发型模型的网格绑定到骨骼上,通过调整骨骼的位置,随之调整附着在骨骼上的头发,从而实现灵活的改变发型的目的,发型调整多样化、个性化。游戏角色发型随骨骼变化而变化,骨骼不变化时发型保持不变,保型性好;发型调整时,变化计算较为简单,计算量少;而且调
整发型时简单直观,具有良好的用户体验。
[0067]
需要说明的是,本公开实施方式的方法可以由单个设备执行,例如一台计算机或服务器等。本实施方式的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施方式的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
[0068]
需要说明的是,上述对本公开的一些实施方式进行了描述。其它实施方式在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施方式中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0069]
基于同一构思,与上述任意实施方式方法相对应的,本公开还提供了一种游戏角色发型调整装置。
[0070]
请参见图4,游戏角色发型调整装置,包括:
[0071]
获取模块210,用于获取游戏角色发型模型数据,根据游戏角色发型模型数据生成游戏角色发型的骨架;骨架包括多个与游戏角色发型绑定的骨骼和/或骨骼链;骨骼链基于游戏角色发型中外观上成束的头发构建,包括至少一个骨骼;
[0072]
确定模块220,用于确定骨架与游戏角色发型模型数据之间的相对位置信息;
[0073]
调整模块230,用于调整至少部分骨骼和/或骨骼链的位置,并基于相对位置信息更新游戏角色发型模型数据;
[0074]
输出模块240,用于输出更新后的游戏角色发型。
[0075]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0076]
上述实施方式的装置用于实现前述任一实施方式中相应的游戏角色发型调整方法,并且具有相应的方法实施方式的有益效果,在此不再赘述。
[0077]
在一个可行的实施方式中,获取模块210,还用于:
[0078]
基于游戏角色发型创建顶点,通过顶点构建头发网格,建立游戏角色发型模型。
[0079]
在一个可行的实施方式中,确定模块220,还用于:
[0080]
确定游戏角色发型模型数据与骨骼之间的对应关系,以及游戏角色发型模型数据受各个骨骼的影响权重。
[0081]
在一个可行的实施方式中,调整模块230,还用于:
[0082]
响应于调整指令对应的骨骼的坐标系矩阵差异,基于坐标系矩阵差异调整骨骼和/或骨骼链的位置。
[0083]
在一个可行的实施方式中,调整模块230,还用于:响应于待调整的骨骼的选择指令,确认待调整的骨骼;
[0084]
响应于骨骼的坐标系矩阵中待调整的维度的选择指令,确认待调整的维度;
[0085]
以及响应于待调整的维度的数值的修改指令,对骨骼的坐标系矩阵差异进行修改。
[0086]
在一个可行的实施方式中,调整模块230,还用于:响应于待调整的骨骼的选择指令,确认待调整的骨骼;响应于骨骼的坐标系矩阵中待调整的维度的选择指令,确认待调整
的维度;以及响应于鼠标或触控对骨骼的拖动操作,拖动操作包括平移、旋转及缩放中的至少一个;获取骨骼的坐标系矩阵差异。
[0087]
在一个可行的实施方式中,调整模块230,还用于:
[0088]
响应于骨骼链调整的选择指令,确认待调整的骨骼链;响应于鼠标或触控对骨骼链中末端骨骼的拖动操作,操作包括平移、旋转及缩放中的至少一个;获取骨骼链中所有骨骼的坐标系矩阵差异。
[0089]
在一个可行的实施方式中,游戏角色发型调整装置,还包括:
[0090]
展示模块,用将骨架通过3d渲染进行展示。
[0091]
基于同一构思,与上述任意实施方式方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上任意一实施方式所述的游戏角色发型调整方法。
[0092]
图5示出了本实施方式所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
[0093]
处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施方式所提供的技术方案。
[0094]
存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施方式所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
[0095]
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0096]
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0097]
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
[0098]
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施方式方案所必需的组件,而不必包含图中所示的全部组件。
[0099]
上述实施方式的电子设备用于实现前述任一实施方式中相应的游戏角色发型调整方法,并且具有相应的方法实施方式的有益效果,在此不再赘述。
[0100]
基于同一构思,与上述任意实施方式方法相对应的,本公开还提供了一种非暂态
计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行如上任一实施方式所述的游戏角色发型调整方法。
[0101]
本实施方式的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0102]
上述实施方式的存储介质存储的计算机指令用于使计算机执行如上任一实施方式所述的游戏角色发型调整方法,并且具有相应的方法实施方式的有益效果,在此不再赘述。
[0103]
所属领域的普通技术人员应当理解:以上任何实施方式的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施方式或者不同实施方式中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施方式的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0104]
另外,为简化说明和讨论,并且为了不会使本公开实施方式难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施方式难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施方式的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施方式的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施方式。因此,这些描述应被认为是说明性的而不是限制性的。
[0105]
尽管已经结合了本公开的具体实施方式对本公开进行了描述,但是根据前面的描述,这些实施方式的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施方式。
[0106]
本公开实施方式旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施方式的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

技术特征:
1.一种游戏角色发型调整方法,其特征在于,包括:获取游戏角色发型模型数据,根据所述游戏角色发型模型数据生成游戏角色发型的骨架;所述骨架包括多个与所述游戏角色发型绑定的骨骼和/或骨骼链;所述骨骼链基于所述游戏角色发型中外观上成束的头发构建,包括至少一个所述骨骼;确定所述骨架与所述游戏角色发型模型数据之间的相对位置信息;响应于至少部分所述骨骼和/或骨骼链位置的调整,基于所述相对位置信息更新所述游戏角色发型模型数据;输出更新后的游戏角色发型。2.根据权利要求1所述的游戏角色发型调整方法,其特征在于,所述获取游戏角色发型模型数据,包括:基于所述游戏角色发型创建顶点,通过所述顶点构建头发网格,建立所述游戏角色发型模型。3.根据权利要求1所述的游戏角色发型调整方法,其特征在于,所述确定所述骨架与所述游戏角色发型模型数据之间的相对位置信息,包括:确定所述游戏角色发型模型数据与所述骨骼之间的对应关系,以及所述游戏角色发型模型数据受各个所述骨骼的影响权重。4.根据权利要求1所述的游戏角色发型调整方法,其特征在于,所述确定所述骨架与所述游戏角色发型模型数据之间的相对位置信息之后,还包括:将所述骨架通过3d渲染进行展示。5.根据权利要求1所述的游戏角色发型调整方法,其特征在于,所述至少部分所述骨骼和/或骨骼链位置的调整,包括:响应于调整指令对应的所述骨骼的坐标系矩阵差异,基于所述坐标系矩阵差异调整所述骨骼和/或骨骼链的位置。6.根据权利要求5所述的游戏角色发型调整方法,其特征在于,所述调整指令,包括:响应于待调整的骨骼的选择指令,确认待调整的骨骼;响应于所述骨骼的坐标系矩阵中待调整的维度的选择指令,确认待调整的维度;响应于待调整的维度的数值的修改指令,对所述骨骼的坐标系矩阵差异进行修改。7.根据权利要求5所述的游戏角色发型调整方法,其特征在于,所述调整指令,包括:响应于待调整的骨骼的选择指令,确认待调整的骨骼;响应于所述骨骼的坐标系矩阵中待调整的维度的选择指令,确认待调整的维度;响应于对所述骨骼的第一调整操作,所述第一调整操作包括平移、旋转及缩放中的一个或多个;获取所述骨骼的坐标系矩阵差异。8.根据权利要求5所述的游戏角色发型调整方法,其特征在于,所述调整指令,包括:响应于骨骼链调整的选择指令,确认待调整的骨骼链;响应于对所述骨骼链中末端骨骼的第二调整操作,所述第二调整操作包括平移、旋转及缩放中的一个或多个;获取所述骨骼链中所有骨骼的坐标系矩阵差异。9.一种游戏角色发型调整装置,其特征在于,包括:获取模块,用于获取游戏角色发型模型数据,根据所述游戏角色发型模型数据生成游
戏角色发型的骨架;所述骨架包括多个与所述游戏角色发型绑定的骨骼和/或骨骼链;所述骨骼链基于所述游戏角色发型中外观上成束的头发构建,包括至少一个所述骨骼;确定模块,用于确定所述骨架与所述游戏角色发型模型数据之间的相对位置信息;调整模块,用于调整至少部分所述骨骼和/或骨骼链的位置,并基于所述相对位置信息更新所述游戏角色发型模型数据;输出模块,用于输出所述更新后的游戏角色发型。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8任一项所述的方法。11.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机实现如权利要求1至8任一所述的方法。

技术总结
本公开提供一种游戏角色发型调整方法、装置、电子设备及存储介质,方法包括获取游戏角色发型模型数据,根据游戏角色发型模型数据生成游戏角色发型的骨架;骨架包括多个与游戏角色发型绑定的骨骼和/或骨骼链;骨骼链基于游戏角色发型中外观上成束的头发构建,包括至少一个骨骼;确定骨架与游戏角色发型模型数据之间的相对位置信息;响应于至少部分骨骼和/或骨骼链位置的调整,基于相对位置信息更新游戏角色发型模型数据;输出更新后的游戏角色发型。本公开将游戏角色发型模型的网格绑定到骨骼上,调整骨骼的位置随之调整附着在骨骼上的头发,游戏角色发型的调整更加灵活、个性化。个性化。个性化。


技术研发人员:郑启强 詹定根 龚帅 何帆 朱君君
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2022.07.12
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-3903.html

最新回复(0)