游戏中地图格子的渲染方法、装置、设备及存储介质与流程
未命名
09-17
阅读:135
评论:0
1.本发明涉及渲染技术领域,特别是涉及一种游戏中地图格子的渲染方法、一种游戏中地图格子的渲染装置、相应的一种电子设备以及相应的一种计算机可读存储介质。
背景技术:
2.在以方格构成游戏地图的游戏中,通常存在虚拟角色与游戏中地图格子进行交互的场景,例如虚拟角色在移动过程中与其踩中的地图格子发生交互、虚拟角色在移动过程中与阻挡其移动的地图块发生交互等。
3.然而,在虚拟角色与地图格子发生交互时,地图格子的改变主要是基于单个格子为单位进行呈现的,例如对于虚拟角色移动时所踩中的地图格子整块变亮、对于在移动过程中所阻挡的地图块进行整块击破等渲染效果,即在相关技术中,与虚拟角色发生交互的地图格子呈现的是格子的整体交互反馈,缺乏格子上反馈的真实渲染效果。
技术实现要素:
4.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种游戏中地图格子的渲染方法、一种游戏中地图格子的渲染装置、相应的一种电子设备以及相应的一种计算机可读存储介质。
5.本发明实施例公开了一种游戏中地图格子的渲染方法,所述方法包括:
6.获取游戏中虚拟角色的角色位置,以及目标地图格子块的格子位置;所述目标地图格子块为所述虚拟角色在游戏中发生交互的地图格子;
7.基于所述角色位置和所述格子位置的位置距离,确定所述目标地图格子块中各个模型顶点的透明度结果;
8.按照所述透明度结果在游戏中控制呈现所述目标地图格子块。
9.本发明实施例还公开了一种游戏中地图格子的渲染装置,所述装置包括:
10.位置获取模块,用于获取游戏中虚拟角色的角色位置,以及目标地图格子块的格子位置;所述目标地图格子块为所述虚拟角色在游戏中发生交互的地图格子;
11.透明度结果确定模块,用于基于所述角色位置和所述格子位置的位置距离,确定所述目标地图格子块中各个模型顶点的透明度结果;
12.地图格子呈现模块,用于按照所述透明度结果在游戏中控制呈现所述目标地图格子块。
13.本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一项所述游戏中地图格子的渲染方法。
14.本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现任一项所述游戏中地图格子的渲染方法。
15.本发明实施例包括以下优点:
16.在本发明实施例中,能够基于虚拟角色和地图格子块的距离,按照相应的透明度结果控制目标地图格子块中各个模型顶点所在区域的呈现,从而实现对渲染效果进行控制呈现,使得虚拟角色在接近目标地图格子块的过程中,实现地图格子块随着玩家距离动态切换的效果,达到在单个目标地图格子块上效果发生逐渐变化的目的,体现真实的渲染效果呈现,达到更好的美术品质。
附图说明
17.图1是本发明的一种游戏中地图格子的渲染方法实施例的步骤流程图;
18.图2是本发明的另一种游戏中地图格子的渲染方法实施例的步骤流程图;
19.图3a至图3m是本发明实施例提供的确定透明度的过程示意图;
20.图4是本发明的一种游戏中地图格子的渲染装置实施例的结构框图;
21.图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
22.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
23.在以方格构成游戏地图的游戏中,通常存在虚拟角色与游戏中地图格子进行交互的场景。作为一种示例,在涉及虚拟角色走格子的游戏场景中,通常可以将地面划分为相同大小的格子,所划分的格子中存在标记为虚拟角色走过的格子和虚拟角色未走过的格子两个部分,虚拟角色的交互具体表现为虚拟角色在移动时,被踩中的格子将会整块呈现相应的渲染效果,例如变亮,其他未被踩中的格子则保持原样,即其主要是以单个格子为单位进行渲染效果呈现的,每个格子都是整体发生变化的,格子上并不存在效果过渡;作为另一种示例,在涉及虚拟角色击破阻挡物的游戏场景中,其地图可以由多个地图块拼成,每个地图块可以记为1个最小地图单位,虚拟角色的交互具体表现为当虚拟角色在地图中移动时,如果存在地图块阻挡在虚拟角色前边,随着虚拟角色与该地图块的接触,该地图块将被破碎,即其主要是以每个地图块为一个单位进行渲染效果呈现的,每个地图块都是整体破碎的,并不会随着虚拟角色对其的先后顺序实现局部破碎。
24.由上述可知,在相关技术中,与虚拟角色发生交互的地图格子呈现的是格子的整体交互反馈,缺乏格子上反馈的真实渲染效果。
25.本发明实施例能够基于虚拟角色和地图格子块的距离,按照相应的透明度控制目标地图格子块中各个模型顶点所在区域的呈现,从而实现对渲染效果进行控制呈现,使得虚拟角色在接近目标地图格子块的过程中,实现地图格子块随着玩家距离动态切换的效果,达到在单个目标地图格子块上效果发生逐渐变化的目的,体现真实的渲染效果呈现,达到更好的美术品质。
26.参照图1,示出了本发明的一种游戏中地图格子的渲染方法实施例的步骤流程图,具体可以包括如下步骤:
27.步骤101,获取游戏中虚拟角色的角色位置,以及目标地图格子块的格子位置;
28.在本发明实施例中,基于虚拟角色和地图格子块的距离,按照相应的透明度控制
目标地图格子块中各个模型顶点所在区域的呈现,从而达到在单个目标地图格子块上效果发生变化的目的。
29.为了确定虚拟角色和地图格子块的距离,可以对游戏中虚拟角色的角色位置,以及目标地图格子块的格子位置进行获取,以便计算角色位置和格子位置的位置距离,确定虚拟角色和目标地图格子块的距离。
30.其中,游戏中地图格子的渲染效果呈现,通常是在地图格子块和虚拟角色产生交互的情况下实现的,目标地图格子块可以指的是虚拟角色在游戏中发生交互的地图格子,例如虚拟角色接触的地块,对于目标地图格子块的数量和具体格子,并不是固定的,而是基于在游戏中虚拟角色实际发生交互的实际情况确定,且虚拟角色具体发生的交互主要可以基于具体的游戏场景进行定义,本发明实施例对此不加以限制。
31.在实际应用中,游戏引擎可以响应游戏中虚拟角色与目标地图格子块的交互指令,对游戏中虚拟角色的角色位置以及目标地图格子块的格子位置进行获取。
32.具体的,虚拟角色的角色位置与其在游戏中的位置同步,具体可以由游戏客户端的程序代码输入至着色器shader(是专门用来渲染图形的一种技术,通常可通过修改shader自定义显卡渲染画面的算法,使得画面达到预想效果)实现,角色位置可以表现为一个三维数据(x,y,z),用于表示玩家在地图中的位置。
33.模型是由很多的点,点之间组成线,线之间连成面构成的。每个地图格子块可以包含多个模型顶点,所获取的格子位置,可以包括目标地图格子块的各个模型顶点的格子位置。
34.在具体实现中,虚拟角色的角色位置的坐标通常是在世界空间下的坐标系进行定义的,即所获取的角色位置和格子位置处于不同坐标系下,为了便于后续位置距离的计算,将格子位置和角色位置所在的坐标系进行统一,具体的,可以将格子位置的坐标系转换为角色位置所在的世界空间的坐标系,即将每个地图格子块的各个模型顶点的格子位置的坐标位置转换为在世界空间的坐标系下的坐标位置。
35.在实际应用中,着色器shader可以包含顶点着色器和片元着色器等,其中,顶点着色器此时可以在顶点着色器可以用于处理顶点部分的数据,片元着色器可用于处理像素部分的数据。具体可以在顶点着色器中获取每个模型顶点的坐标位置并将坐标位置的坐标系进行转换,然后将转换后得到的坐标位置传输至片元着色器中,便于后续位置距离以及透明度的计算。
36.需要说明的是,转换方式可以通过使用world矩阵(世界变化矩阵),对当前处于局部坐标系(local)下的数据进行transform操作实现,对于具体的转换过程,本发明实施例不加以限制。
37.步骤102,基于角色位置和格子位置的位置距离,确定目标地图格子块中各个模型顶点的透明度结果;
38.在本发明实施例中,在单个目标地图格子块上所发生的效果变化,主要是基于每帧角色位置信息发生变化进行每帧计算并呈现画面的新效果实现,具体可以计算每帧角色位置信息和目标地图格子块的格子位置的位置距离,在实际应用中,主要是计算虚拟角色距离每个地图格子块的模型顶点的位置距离,而对于单个地图格子块而言,模型顶点包含多个模型顶点,即可以表现为计算虚拟角色距离目标地图格子块的各个模型顶点的位置距
离。
39.在本发明的一种实施例中,可以在游戏中虚拟角色移动过程中,基于角色位置和格子位置的位置距离,确定目标地图格子块中各个模型顶点的透明度结果,以基于透明度结果的不同有效控制目标地图格子块中各个模型顶点相应区域的显示程度,基于显示程度的不同实现单个地图格子块的变化,单个地图格子块的变化可以指的是在格子块上的渲染效果的变化。
40.具体地,可以采用角色位置和目标地图格子块的各个模型顶点的格子位置,计算得到角色位置和目标地图格子块的各个模型顶点的位置距离,然后基于角色位置和目标地图格子块的各个模型顶点的位置距离,确定目标地图格子块中各个模型顶点的透明度结果。
41.步骤103,按照透明度结果在游戏中控制呈现目标地图格子块。
42.其中,位置距离和透明度可以呈现随着虚拟角色对目标地图格子块的接近,即随着位置距离的减小,目标地图格子块上的渲染效果朝向离虚拟角色更远的方向蔓延的现象。
43.在本发明实施例中,地图格子本身可以自带有包含但不限于颜色的渲染效果,该渲染效果通常基于用户对其所进行的交互进行呈现,对于目标地图格子在游戏界面上的逐渐显示,其在基于透明度进行显示的过程中,还可以包含对其显示地图格子部分所具有的渲染效果同时进行呈现,以基于对地图格子的显示控制间接向用户展示格子上的效果变化。
44.在本发明的一种实施例中,其目标地图格子块的渲染效果呈现,可以表现为携带有渲染效果的目标地图格子块的显示,例如虚拟角色在移动时,在未被踩中的情况下保持原样的格子并不会在游戏中显示,即虽然游戏地图以方格构成,但对于玩家而言在游戏界面上的呈现并不存在格子,而对于虚拟角色踩中的格子则将会在游戏界面上显示出来,即目标地图格子块的呈现可以用于指示与交互相应的渲染效果呈现。那么,此时可以按照透明度结果在游戏中控制呈现目标地图格子块,以实现目标地图格子块的动态效果呈现。其中,透明度结果指的是将透明度在经由噪声、溶解、硬度处理后得到的结果,透明度结果中可以包含基于前述处理得到的透明度值,由于该最终的透明度是经由透明度、噪声值、溶解速度以及硬度值处理得到的,其携带有相应的处理信息。
45.具体地,可以按照目标地图格子块中各个模型顶点的透明度结果,控制呈现目标地图格子块中各个模型顶点的相应区域。具体可以从游戏中虚拟角色到目标地图格子块的中心作射线,沿着射线的射线方向,按照透明度结果中各个模型顶点的目标透明度的值,对在目标地图格子块上各个模型顶点相应区域的效果进行呈现,实现地图格子块上的效果变化朝向离虚拟角色更远的方向蔓延的画面效果。
46.需要说明的是,对于虚拟角色发生交互的目标地图格子块,其已完全呈现的区域将会保持完成蔓延效果的最终状态,即对于已经完全呈现的区域的显示状态并不会受到角色位置的影响,例如对于单个目标地图格子块中某个或者某些格子区域被完全点亮、某个或者某些破碎区域被完全击破;其状态的切换主要是由客户端代码完成的,不在着色器shader的实现范围。
47.在本发明实施例中,能够基于虚拟角色和地图格子块的距离,按照相应的透明度
结果控制目标地图格子块中各个模型顶点所在区域的呈现,从而实现对渲染效果进行控制呈现,使得虚拟角色在接近目标地图格子块的过程中,实现地图格子块随着玩家距离动态切换的效果,达到在单个目标地图格子块上效果发生逐渐变化的目的,体现真实的渲染效果呈现,达到更好的美术品质。
48.参照图2,示出了本发明的另一种游戏中地图格子的渲染方法实施例的步骤流程图,具体可以包括如下步骤:
49.步骤201,基于角色位置和格子位置的位置距离,确定目标地图格子块中各个模型顶点的透明度结果;
50.在本发明实施例中,能够基于虚拟角色和地图格子块的距离,按照相应的透明度结果控制目标地图格子块中各个模型顶点所在区域的呈现,从而达到在单个目标地图格子块的效果发生逐渐变化的目的。
51.为了确定虚拟角色和地图格子块的距离,可以对游戏中虚拟角色的角色位置,以及目标地图格子块的格子位置进行获取,计算角色位置和格子位置的位置距离。对于单个地图格子块而言,模型顶点包含多个模型顶点,具体可以计算角色位置和目标地图格子块中各个模型顶点的格子位置的位置距离。
52.在实际应用中,可以在用于处理像素部分数据的片元着色器中进行位置距离和透明度的计算。其中,位置距离可以通过distance函数实现,示例性的,假设角色位置为playerposition,格子位置position在世界坐标系下的坐标位置为position_world,虚拟角色和目标地图格子块之间的位置距离为position_distance,此时可以基于position_distance=distance(playerposition,position_world)得到虚拟角色和目标地图格子块之间的位置距离,其中位置距离越近position_distance的值越小,位置距离越远position_distance的值越大。
53.在本发明的一种实施例中,位置距离和透明度可以呈现随着虚拟角色对目标地图格子块的接近,即随着位置距离的减小,目标地图格子块的渲染效果朝向离虚拟角色更远的方向蔓延的现象。
54.在基于位置距离计算透明度结果的过程中,可以包含对透明度的多个迭代处理过程,具体表现透明度结果中的最终透明度是经由透明度、噪声值、溶解速度以及硬度值处理得到,这些值之间可以存在迭代的时序关系,即后者是在前者的基础上进行处理得到的,例如噪声值是在透明度所得到的第一中间处理结果的基础上计算得到的,溶解速度是在噪声值所得到的第二中间处理结果的基础上计算得到的,硬度值是在溶解速度所得到的第三中间处理结果的基础上计算得到的,所进行的不同中间处理结果影响的是对目标地图格子块上变化的不同效果细节的处理。需要说明的是,前述处理属于中间结果的处理,并不会对中间处理结果进行输出。
55.其中,透明度,可以用于指示虚拟角色在移动过程中,目标地图格子块上进行渲染呈现的渲染范围;噪声值,可以用于指示在目标地图格子块上进行渲染呈现时的边缘形状;溶解速度,可以用于指示在目标地图格子块上进行渲染呈现边缘的变化速度;硬度值,可以用于在目标地图格子块上进行渲染呈现时的边缘硬度。
56.步骤201可以包括如下子步骤:
57.子步骤s21,获取预设距离阈值,根据位置距离和预设距离阈值,确定目标地图格
子块中各个模型顶点的透明度,基于透明度对目标地图格子块的渲染贴图进行处理得到第一中间处理结果;
58.预设距离阈值,可以包括第一预设距离阈值和第二预设距离阈值,其中,第一预设距离阈值可以指的是用于定义虚拟角色已经与目标地图格子块发生完全交互的距离阈值,例如0;第二预设距离阈值可以指的是虚拟角色距离目标地图格子块的距离阈值,其为经由设定得到的值,可以用于指示目标地图格子发生渲染效果变化时要求满足的虚拟角色距离目标地图格子块的距离,即当位置距离为第二预设距离阈值时,被虚拟角色交互的目标地图格子块上开始有效果变化。
59.透明度用于指示虚拟角色在移动过程中,目标地图格子块上进行渲染呈现的渲染范围,在确定透明度时,可以响应位置距离小于或等于第一预设距离阈值,例如0,确定透明度的值为0;和/或,响应位置距离大于或等于第二预设距离阈值,确定透明度的值为1;和/或,响应位置距离大于第一预设距离阈值且小于第二预设距离阈值,确定透明度的值在0至1进行顺滑过渡。
60.透明度的值,具体可以通过smoothstep函数确定,smoothstep(min,max,x)函数的作用主要是当x小于或者等于第一预设距离阈值min时,结果为0;x大于或者等于max第二预设距离阈值时,结果为1;x在第一预设距离阈值min和第二预设距离阈值max之间时,结果由0到1顺滑过渡。
61.在实际应用中,假设虚拟角色和目标地图格子块之间的位置距离为position_distance,第二预设距离阈值为positiondistance,第一透明度为gradient,所使用的smoothstep函数可以表现为gradient=smoothstep(0,positiondistance,position_distance),使得当position_distance小于或者等于0时,表现为虚拟角色已经过目标地图格子块的部分区域时,对于位于该部分区域的模型顶点的格子位置而言,其位置距离为负数,此时gradient的结果可以为0;当position_distance大于或者等于positiondistance时,表现为虚拟角色还未达到触发相应模型顶点所在区域的效果变化,此时gradient的结果可以为1;当position_distance在0和positiondistance之间时,gradient的结果可以由0到1顺滑过渡,0-1的过渡,表现为格子距离人物近的部分是0,远离人物的部分是1。
62.gradient具体可以用于表示目标地图格子块的格子位置position_world和角色位置之间的距离position_distance的远近程度,同时该值的具体数据受到positiondistance影响,整体趋势表现为近小远大,但是gradient的具体值与具体的positiondistance相关。
63.gradient所表示的远近程度可以对应于透明度,而在计算过程中gradient的值小于0和大于1的状况可能存在,但由于并不希望出现前述情况,基于smoothstep函数的使用可以将格子位置position_world和角色位置playerposition之间的距离值position_distance,基于positiondistance的大小,约束在0-1之间,以便基于对该值在0-1之间的约束,使得能够将该值作为透明度输出。其中,gradient的值为0,可以表现为其透明度为呈现完全透明,即对于目标地图格子块的呈现是透明的,那么在游戏界面上并不对目标地图格子块进行显示;gradient的值为1,可以表现为其透明度为呈现完全不透明输出,即对于目标地图格子块的呈现是完全不透明的,那么在游戏界面上对目标地图格子块进行完全显示。
64.示例性的,如图3a所示,假设右上角的格子坐标为(-20,0,20),右下角的格子坐标为(0,0,20),设定角色位置playerposition为(0,0,0),距离阈值positiondistance为40,此时在通过上述的计算过程可以得到gradient的输出,即可得到如图3a所示的第一中间处理结果。需要说明的是,在实际应用中并未对第一中间处理进行输出,图3a所示的结果主要是为了便于本领域技术人员对基于透明度的处理过程进行理解。
65.子步骤s22,获取目标地图格子块的噪声信息,根据噪声信息和透明度,确定目标地图格子块中各个模型顶点的噪声值,基于噪声值对第一中间处理结果进行处理得到第二中间处理结果;
66.噪声信息可以指的是噪声图采样结果,噪声图采样结果可以如图3b所示,主要是基于存在黑白色的贴图体现的,其贴图通常具有花纹,其中,黑色部分的噪声参考值为0,白色部分的噪声参考值为1,灰色部分的噪声参考值可以根据灰度介于0到1之间。
67.在本发明的一种实施例中,可以基于噪声图采样结果和透明度进行的计算,对在目标地图格子块上进行渲染呈现时的边缘形状进行体现。
68.具体可以表现为采用噪声参考值的一半和透明度的值的一半进行叠加得到叠加值,响应叠加值大于或者等于预设第一噪声阈值,例如1,确定噪声值为1;和/或,响应叠加值小于或者等于预设第二噪声阈值,例如0,确定噪声值为0;和/或,响应叠加值大于预设第二噪声阈值且小于预设第一噪声阈值,例如在0~1之间,确定噪声值为叠加值。
69.噪声值,具体可以通过saturate函数确定,saturate(x)函数的作用主要是如果x的取值小于0,则返回值为0;如果x的取值大于1,则返回值为1;若x的取值在0到1之间,则直接返回x的值。
70.在实际应用中,假设噪声值为dissolve_noise,透明度为gradient,所使用的saturate函数可以表现为dissolve_noise=saturate(dissolve_noise*0.5+gradient*0.5),将dissolve_noise的值约束在0-1之间,以作为噪声值输出。其中,0.5的值不作改变,其在saturate函数存在的数学含义是将取gradient的一半和噪声图结果(即噪声参考值)的一半进行叠加。
71.噪声值所输出的第二中间处理结果,可以如图3c所示,其第二中间处理结果主要是在第一中间处理结果的基础上进一步进行噪声处理得到,第二中间处理结果所具有的花纹即可用于体现目标地图格子块上进行渲染呈现时的边缘形状。需要说明的是,在实际应用中并未对第二中间处理结果进行输出,图3c所示的结果主要是为了便于本领域技术人员对基于噪声处理的过程进行理解。
72.子步骤s23,获取溶解参数值和溶解修正值,根据溶解参数值、溶解修正值和噪声值,确定目标地图格子块中各个模型顶点的溶解速度,基于溶解速度对第二中间处理结果进行处理得到第三中间处理结果;
73.溶解值可以用于表示溶解范围,溶解修正值主要用于对溶解值进行修正,溶解值可以包括第一溶解值和第二溶解值,第二溶解值可以基于第一溶解值和溶解修正值确定,使得第二溶解值能够作为中间计算值,以对第一溶解值和溶解修正值进行引入,从而基于第一溶解值对溶解速度进行影响。
74.具体地,根据第一溶解值和溶解修正值确定滴滴儿溶解值的过程,可以表现为计算预设值和第一溶解值的差值,然后将在预设第一取值范围内的预设值和第一溶解值的差
值,映射在预设第二取值范围,得到第二溶解值;其中,预设第二取值范围基于溶解修正值和预设值确定。
75.溶解值,具体可以通过remap函数确定,remap(x,(a1,b1),(a2,b2))函数的作用主要是将原本取值范围在a1-b1的x值,映射到a2-b2范围。
76.在实际应用中,假设第一溶解值为dissolveswitch,溶解修正值为dissolveextra,第二溶解值为dissolve_switch,预设值可以为1,其中第一溶解值dissolveswitch取值范围是0-1,其可以随着值的增加表示溶解范围的增加,反之减小。所使用的remap函数可以表现为dissolve_switch=remap(1-dissolveswitch,(0,1),(0-dissolveextra,1)),即dissolve_switch可以作为中间计算值,对第一溶解值和溶解修正值在溶解速度的计算过程中进行引入。
77.对于溶解速度的确定,可以通过saturate函数实现,具体可以表现为dissolve_grad=saturate(dissolve_noise-dissolve_switch),基于响应噪声值和第二溶解值的差值大于或者等于预设第一溶解阈值,例如1,确定溶解速度的值为1;和/或,响应噪声值和第二溶解值的差值小于或者等于预设第二溶解阈值,例如0,确定溶解速度的值为0;和/或,响应噪声值和第二溶解值的差值大于预设第二溶解阈值且小于预设第一溶解阈值之间,即在0至1之间,确定溶解速度的值为前述差值。
78.在上述remap函数中,可以将在原本取值范围0~1内的“1-dissolveswitch”的取值,映射到(0-dissolveextra,1)的区间内,得到相应值;其中,所引入的修正值dissolveextra,主要可以用于进行修正,避免计算过程中dissolve_grad可能超出预想的数值范围。在实际应用中,基于在溶解速度的计算过程中对参数溶解值和溶解修正值的引入,1-dissolveswitch并不是直接使用第一溶解值dissolveswitch进行计算,而是为了在第一溶解值dissolveswitch为0时,保证后续得到的溶解速度dissolve_grad的值为1,并可以随着dissolveswitch的逐渐增加,dissolve_grad逐渐减少至0;以及,当dissolve_grad不为这一结果时(例如当dissolveswitch从0增加到0.5的过程中,dissolve_grad值始终为1的情况),还可以通过调整所引入的溶解修正值dissolveextra进行避免。
79.具体的,通常可以基于噪声纹理用于指定溶解的区域和程度,此时可以通过溶解修正值对第一溶解值dissolveswitch的调整影响,基于溶解速度对第二中间处理结果进行处理后所得到的第三中间处理结果,可以参见图3d至如图3k。如图3d所示,可以体现为dissolveextra=0,dissolveswitch=0的第三中间处理结果的结果图;如图3e所示,体现为dissolveextra=0,dissolveswitch=0.5的溶解速度的结果图;如图3f所示,体现为dissolveextra=0,dissolveswitch=0.7的第三中间处理结果的结果图;如图3g所示,dissolveextra=0,dissolveswitch=1;如图3h所示,体现为dissolveextra=0,dissolveswitch=0.9的第三中间处理结果的结果图;如图3i所示,体现为dissolveextra=0.9,dissolveswitch=0.5的第三中间处理结果的结果图;如图3j所示,体现为dissolveextra=0.9,dissolveswitch=0.7的第三中间处理结果的结果图;如图3k所示,体现为dissolveextra=0.9,dissolveswitch=1的第三中间处理结果的结果图,以体现目标地图格子块上进行渲染呈现边缘的变化速度。
80.需要说明的是,dissolve_grad为上述计算的中间步骤,如图3d至如图3k所示,其可以随着所给定的参数变化,在0到1之间的范围进行变动,如果将溶解速度按照图像形式
进行输出,则所输出的图像可以表现为包含有黑白色噪声花纹的图像。其中,在将dissolve_grad作为透明度进行输出时,黑色时(值为0)代表完全透明,白色时(值为1)代表不透明;以及,在实际应用中并未对第三中间处理结果进行输出,如图3d至如图3k所示的结果主要是为了便于本领域技术人员对基于溶解速度的处理过程进行理解。
81.子步骤s23,获取溶解边缘硬度,根据溶解边缘硬度和溶解速度,确定目标地图格子块中各个模型顶点的硬度值,基于硬度值对第三处理结果进行处理得到透明度结果。
82.在得到第三中间处理结果后,可以对溶解后目标地图格子块上进行渲染呈现时的边缘硬度进行调整,具体可以基于对硬度值的计算实现。
83.具体的,可以基于溶解边缘硬度和预设浮动值,计算得到第一溶解边缘硬度阈值和第二溶解边缘硬度阈值,然后响应溶解速度的值小于或者等于第一溶解边缘硬度阈值,确定硬度值为0;和/或,响应溶解速度大于或者等于第二溶解边缘硬度阈值,确定硬度值为1;和/或,响应溶解速度大于第一溶解边缘硬度阈值且小于第二溶解边缘硬度阈值,确定硬度值在0至1进行顺滑过渡。
84.硬度值,可以通过smoothstep函数确定,smoothstep(min,max,x)函数的作用主要是当x小于或者等于第一溶解边缘硬度阈值min时,结果为0;x大于或者等于第二溶解边缘硬度阈值max时,结果为1;x在第一溶解边缘硬度阈值min和第二溶解边缘硬度阈值max之间时,结果由0到1顺滑过渡。
85.在实际应用中,假设溶解边缘硬度为dissolveedgesoftness,溶解边缘硬度dissolveedgesoftness取值范围是0.001-0.5,值越小边缘越硬,反之越柔和,此时可以基于溶解边缘硬度和预设浮动值确定的第一溶解边缘硬度阈值,假设浮动值为0.5,那么所确定的第一溶解边缘硬度阈值可以为“0.5+dissolveedgesoftness”,确定的第二溶解边缘硬度阈值可以为“0.5-dissolveedgesoftness”,所使用的smoothstep函数可以表现为dissolve_grad=smoothstep(0.5+dissolveedgesoftness,0.5-dissolveedgesoftness,dissolve_grad),以在子步骤s23的基础上加入硬度计算,修改第三中间结果所呈现图像结果中黑白边界的硬度,以调整目标地图格子块上进行渲染呈现时的边缘硬度。
86.具体的,当溶解边缘的硬度dissolveedgesoftness改变时,可以通过配合修改溶解修正值dissolveextra以确保美术效果正确。
87.如图3l所示,表现为dissolveextra=0,dissolveswitch=1,硬度dissolveedgesoftness=0.001时的透明度结果的图像输出;如图3m所示,表现为dissolveextra=0.9,dissolveswitch=0.45,硬度dissolveedgesoftness=0.001时的透明度结果的图像输出。然而,在实际应用中并未对透明度结果进行输出,图3l至图3m所示的结果主要是为了便于本领域技术人员对基于溶解边缘硬度的处理过程进行理解。
88.需要说明的是,各个透明度之间存在迭代关系,即上述子步骤s21至子步骤s24按照顺序进行计算,均在片元着色器上进行,且在进行计算时,对目标地图格子块该模型上的每个像素点均会进行计算。
89.步骤202,从游戏中虚拟角色到目标地图格子块的中心作射线,沿着射线的射线方向,按照透明度结果中各个模型顶点的目标透明度的值,对在目标地图格子块上各个模型顶点相应区域的效果进行呈现。
90.其中,位置距离和透明度可以呈现随着虚拟角色对目标地图格子块的接近,即随
着位置距离的减小,目标地图格子块上的渲染效果朝向离虚拟角色更远的方向蔓延的现象。
91.在本发明实施例中,地图格子本身可以自带有包含但不限于颜色的渲染效果,该渲染效果通常基于用户对其所进行的交互进行呈现,对于目标地图格子在游戏界面上的逐渐显示,其在基于透明度进行显示的过程中,还可以包含对其显示地图格子部分所具有的渲染效果同时进行呈现,以基于对地图格子的显示控制间接向用户展示格子上的效果变化。
92.在本发明的一种实施例中,其目标地图格子块的渲染效果呈现,可以表现为目标地图格子块的显示,例如虚拟角色在移动时,在未被踩中的情况下保持原样的格子并不会在游戏中显示,即虽然游戏地图以方格构成,但对于玩家而言在游戏界面上的呈现并不存在格子,而对于虚拟角色踩中的格子则将会在游戏界面上显示出来,即目标地图格子块的呈现可以用于指示与交互相应的渲染效果呈现。那么,此时可以按照透明度在游戏中控制呈现目标地图格子块,以实现目标地图格子块的动态效果呈现。
93.具体地,可以按照目标地图格子块中各个模型顶点的透明度结果,控制呈现目标地图格子块中各个模型顶点的相应区域。其中,透明度结果指的是将透明度在经由噪声、溶解、硬度处理后得到的结果,透明度结果中可以包含基于前述处理得到的透明度值,由于该最终的透明度是经由透明度、噪声值、溶解速度以及硬度值处理得到的,其携带有相应的处理信息。即透明度结果,可以为基于对目标地图格子块的渲染贴图依次进行相应透明度、噪声值、溶解速度以及硬度值处理后得到的目标透明度。
94.此时,具体可以从游戏中虚拟角色到目标地图格子块的中心作射线,沿着射线的射线方向,按照透明度结果中各个模型顶点的目标透明度的值,对在目标地图格子块上各个模型顶点相应区域的效果进行呈现,实现地图格子块上的相关变化朝向离虚拟角色更远的方向蔓延的画面效果。
95.需要说明的是,由于其效果的呈现是基于虚拟角色距离进行实时计算的,那么对于虚拟角色对于其在某个位置的呈现虽然看似静态,但是随着虚拟角色的移动过程中,其计算得到的透明度结果也会基于虚拟角色的距离而发生变化,进而达到随着虚拟角色移动而实现效果变化的目的。
96.在实际应用中在对透明度结果进行应用时,具体是基于上述子步骤s24得到的透明度结果实现应用。示例性的,具体可以表现为基于dissolve_grad的输出结果,将dissolve_grad的值作为格子的透明度结果进行输出。其中,当dissolveswitch=0时,格子的透明度=0,不显示,随着dissolveswitch增大,格子逐渐出现,最终整个格子出现。即玩家从远处逐渐接近格子,当距离缩小到positiondistance后,由程序控制dissolveswitch增大,格子在玩家脚下逐渐出现。
97.具体表现为当dissolveswitch=0时,dissolve_grad=0;当dissolveswitch增加时,dissolve_grad逐渐增加最后至1,其在呈现在目标地图格子块时,可以表现为从角色位置到格子中心做一条射线,沿着射线方向,随着dissolveswitch增大,在黑色的格子上出现白色的部分(边缘是不规则的噪点),白色部分逐渐扩大,最后整个格子都变成白色的。
98.其中,透明度的值为0用于指示不呈现,即目标地图格子块中模型顶点相应区域的完全透明,此时目标地图格子块中模型顶点相应区域不进行呈现;透明度的值为1用于指示
完全呈现,即目标地图格子块中模型顶点相应区域完全不透明,此时目标地图格子块中模型顶点相应区域进行完全呈现。
99.需要说明的是,运用到实际游戏中时,也可以不改变dissolveswitch的值,只改变角色位置playerposition。当游戏中的角色移动时,如果角色位置playerposition离方块越来越近,那么格子也将产生逐渐出现。
100.还需要说明的是,本发明实施例中所提及的边缘,主要指的是在格子块上渲染结果的边缘,而并不是格子块的变化,即所进行的处理均是对渲染结果的透明度的基础上进行的边缘处理。
101.在本发明实施例中,能够基于虚拟角色和地图格子块的距离,按照相应的透明度结果控制目标地图格子块中各个模型顶点所在区域的呈现,从而实现对渲染效果进行控制呈现,使得虚拟角色在接近目标地图格子块的过程中,实现地图格子块随着玩家距离动态切换的效果,达到在单个目标地图格子块上效果发生逐渐变化的目的,体现真实的渲染效果呈现,达到更好的美术品质。
102.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
103.参照图4,示出了本发明的一种游戏中地图格子的渲染装置实施例的结构框图,具体可以包括如下模块:
104.位置获取模块401,用于获取游戏中虚拟角色的角色位置,以及目标地图格子块的格子位置;目标地图格子块为虚拟角色在游戏中发生交互的地图格子;
105.透明度结果确定模块402,用于基于角色位置和格子位置的位置距离,确定目标地图格子块中各个模型顶点的透明度结果;
106.地图格子呈现模块403,用于按照透明度结果在游戏中控制呈现目标地图格子块。
107.在本发明的一种实施例中,格子位置包括目标地图格子块的各个模型顶点的格子位置;透明度结果确定模块402可以包括如下子模块:
108.透明度确定子模块,用于采用角色位置和目标地图格子块的各个模型顶点的格子位置,计算得到角色位置和目标地图格子块的各个模型顶点的位置距离;基于角色位置和目标地图格子块的各个模型顶点的位置距离,确定目标地图格子块中各个模型顶点的透明度结果。
109.在本发明的一种实施例中,透明度确定子模块可以包括如下单元:
110.透明度确定单元,用于获取预设距离阈值,根据位置距离和预设距离阈值,确定目标地图格子块中各个模型顶点的透明度,基于透明度对目标地图格子块的渲染贴图进行处理得到第一中间处理结果;透明度用于指示在目标地图格子块上进行渲染呈现的渲染范围;
111.噪声值确定单元,用于获取目标地图格子块的噪声信息,根据噪声信息和透明度,确定目标地图格子块中各个模型顶点的噪声值,基于所述噪声值对所述第一中间处理结果进行处理得到第二中间处理结果;噪声值用于指示在目标地图格子块上进行渲染呈现时的
边缘形状;
112.溶解速度确定单元,用于获取溶解值和溶解修正值,根据溶解值、溶解修正值和噪声值,确定目标地图格子块中各个模型顶点的溶解速度,基于溶解速度对第二中间处理结果进行处理得到第三中间处理结果;溶解速度用于指示在目标地图格子块上进行渲染呈现边缘的变化速度;
113.硬度值确定单元,用于获取溶解边缘硬度,根据溶解边缘硬度和溶解速度,确定目标地图格子块中各个模型顶点的硬度值,基于硬度值对第三处理结果进行处理得到透明度结果;硬度值用于指示在目标地图格子块上进行渲染呈现时的边缘硬度。
114.在本发明的一种实施例中,所述预设距离阈值包括第一预设距离阈值和第二预设距离阈值;透明度确定单元可以包括如下子单元:
115.透明度确定子单元,用于响应位置距离小于或等于第一预设距离阈值,确定透明度的值为0;和/或,响应位置距离大于或等于第二预设距离阈值,确定透明度的值为1;和/或,响应位置距离大于所述第一预设距离阈值且小于所述第二预设距离阈值,确定透明度的值在0至1进行顺滑过渡。
116.在本发明的一种实施例中,噪声信息包括噪声图采样结果,噪声图采样结果基于存在黑白色的贴图体现,其中,黑色部分的噪声参考值为0,白色部分的噪声参考值为1;噪声值确定单元可以包括如下子单元:
117.噪声值确定子单元,用于采用噪声参考值的一半和透明度的值的一半进行叠加得到叠加值;响应叠加值大于或者等于预设第一噪声阈值,确定噪声值的值为1;和/或,响应叠加值小于或者等于预设第二噪声阈值,确定噪声值的值为0;和/或,响应叠加值大于预设第二噪声阈值且小于预设第一噪声阈值,确定噪声值的值为叠加值。
118.在本发明的一种实施例中,所述溶解值包括第一溶解值和第二溶解值;溶解速度确定单元可以包括如下子单元:
119.溶解速度确定子单元,用于根据第一溶解值和溶解修正值,确定第二溶解值;响应噪声值和第二溶解值的差值大于或者等于预设第一溶解阈值,确定溶解速度的值为1;和/或,响应噪声值和第二溶解值的差值小于或者等于预设第二溶解阈值,确定溶解速度的值为0;和/或,响应噪声值和第二溶解值的差值大于预设第二溶解阈值且小于预设第一溶解阈值,确定溶解速度的值为差值。其中,根据第一溶解值和溶解修正值,确定第二溶解值,包括:计算预设值和第一溶解值的差值;将在预设第一取值范围内的预设值和第一溶解值的差值,映射在预设第二取值范围,得到第二溶解值;其中,预设第二取值范围基于溶解修正值和预设值确定。
120.在本发明的一种实施例中,硬度值确定单元可以包括如下子单元:
121.硬度值确定子单元,用于基于溶解边缘硬度和预设浮动值,计算得到第一溶解边缘硬度阈值和第二溶解边缘硬度阈值;响应溶解速度的值小于第一溶解边缘硬度阈值,确定硬度值的值为0;和/或,响应溶解速度的值大于第二溶解边缘硬度阈值,确定硬度值的值为1;和/或,响应溶解速度的值大于第一溶解边缘硬度阈值且小于第二溶解边缘硬度阈值,确定硬度值的值在0至1进行顺滑过渡。
122.在本发明的一种实施例中,透明度的值为0用于指示所述目标地图格子块自身的渲染效果不呈现,透明度的值为1用于指示所述目标地图格子块自身的渲染效果完全呈现。
123.在本发明的一种实施例中,透明度结果为基于对目标地图格子块的渲染贴图依次进行相应透明度、噪声值、溶解速度以及硬度值处理后得到的目标透明度,地图格子呈现模块403可以包括如下子模块:
124.地图格子呈现子模块,用于从游戏中虚拟角色到目标地图格子块的中心作射线,沿着射线的射线方向,按照透明度结果中各个模型顶点的目标透明度的值,对在目标地图格子块上各个模型顶点相应区域的效果进行呈现。
125.在本发明实施例中,本发明实施例提出的游戏中地图格子的渲染装置能够基于虚拟角色和地图格子块的距离,按照相应的透明度结果控制目标地图格子块中各个模型顶点所在区域的呈现,从而实现对渲染效果进行控制呈现,使得虚拟角色在接近目标地图格子块的过程中,实现地图格子块随着玩家距离动态切换的效果,达到在单个目标地图格子块上效果发生逐渐变化的目的,体现真实的渲染效果呈现,达到更好的美术品质。
126.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
127.本发明实施例还提供了一种电子设备,包括:
128.如图5所示的处理器501、存储器502及存储在所述存储器502上并能够在所述处理器501上运行的计算机程序51,该计算机程序51被处理器501执行时实现上述游戏中地图格子的渲染方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
129.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述游戏中地图格子的渲染方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
130.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
131.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
132.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
133.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
134.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得
在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
135.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
136.最后,需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
137.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
138.以上对本发明所提供的一种游戏中地图格子的渲染方法、一种游戏中地图格子的渲染装置、相应的一种电子设备以及相应的一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种游戏中地图格子的渲染方法,其特征在于,所述方法包括:获取游戏中虚拟角色的角色位置,以及目标地图格子块的格子位置;所述目标地图格子块为所述虚拟角色在游戏中发生交互的地图格子;基于所述角色位置和所述格子位置的位置距离,确定所述目标地图格子块中各个模型顶点的透明度结果;按照所述透明度结果在游戏中控制呈现所述目标地图格子块。2.根据权利要求1所述的方法,其特征在于,所述格子位置包括目标地图格子块的各个模型顶点的格子位置;所述基于所述角色位置和所述格子位置的位置距离,确定所述目标地图格子块各个模型顶点的透明度结果,包括:采用所述角色位置和所述目标地图格子块的各个模型顶点的格子位置,计算得到所述角色位置和所述目标地图格子块的各个模型顶点的位置距离;基于所述角色位置和所述目标地图格子块的各个模型顶点的位置距离,确定所述目标地图格子块中各个模型顶点的透明度结果。3.根据权利要求1或2所述的方法,其特征在于,所述基于所述角色位置和所述格子位置的位置距离,确定所述目标地图格子块中各个模型顶点的透明度结果,包括:获取预设距离阈值,根据所述位置距离和所述预设距离阈值,确定所述目标地图格子块中各个模型顶点的透明度,基于所述透明度对所述目标地图格子块的渲染贴图进行处理得到第一中间处理结果;所述透明度用于指示在所述目标地图格子块上进行渲染呈现的渲染范围;获取所述目标地图格子块的噪声信息,根据所述噪声信息和所述透明度,确定所述目标地图格子块中各个模型顶点的噪声值,基于所述噪声值对所述第一中间处理结果进行处理得到第二中间处理结果;所述噪声值用于指示在所述目标地图格子块上进行渲染呈现时的边缘形状;获取溶解值和溶解修正值,根据所述溶解值、所述溶解修正值和所述噪声值,确定所述目标地图格子块中各个模型顶点的溶解速度,基于所述溶解速度对所述第二中间处理结果进行处理得到第三中间处理结果;所述溶解速度用于指示在所述目标地图格子块上进行渲染呈现边缘的变化速度;获取溶解边缘硬度,根据所述溶解边缘硬度和所述溶解速度,确定所述目标地图格子块中各个模型顶点的硬度值,基于所述硬度值对所述第三处理结果进行处理得到透明度结果;所述硬度值用于指示在所述目标地图格子块上进行渲染呈现时的边缘硬度。4.根据权利要求3所述的方法,其特征在于,所述预设距离阈值包括第一预设距离阈值和第二预设距离阈值;所述根据所述位置距离和所述预设距离阈值,确定所述目标地图格子块中各个模型顶点的透明度,包括:响应所述位置距离小于或等于第一预设距离阈值,确定所述透明度的值为0;和/或,响应所述位置距离大于或等于第二预设距离阈值,确定所述透明度的值为1;和/或,响应所述位置距离大于所述第一预设距离阈值且小于所述第二预设距离阈值,确定所述透明度的值在0至1进行顺滑过渡。5.根据权利要求3所述的方法,其特征在于,所述噪声信息包括噪声图采样结果,所述噪声图采样结果基于存在黑白色的贴图体现,其中,黑色部分的噪声参考值为0,白色部分
的噪声参考值为1;所述根据所述噪声信息和所述透明度,确定所述目标地图格子块中各个模型顶点的噪声值,包括:采用所述噪声参考值的一半和所述透明度的值的一半进行叠加得到叠加值;响应所述叠加值大于或者等于预设第一噪声阈值,确定所述噪声值为1;和/或,响应所述叠加值小于或者等于预设第二噪声阈值0,确定所述噪声值为0;和/或,响应所述叠加值大于所述预设第二噪声阈值且小于所述预设第一噪声阈值,确定所述噪声值所述叠加值。6.根据权利要求3所述的方法,其特征在于,所述溶解值包括第一溶解值和第二溶解值;所述根据所述溶解参数值、所述溶解修正值和所述噪声值,确定所述目标地图格子块中各个模型顶点的溶解速度,包括:根据所述第一溶解值和所述溶解修正值,确定所述第二溶解值;响应所述噪声值和所述第二溶解值的差值大于或者等于预设第一溶解阈值,确定所述溶解速度的值为1;和/或,响应所述噪声值和所述第二溶解值的差值小于或者等于预设第二溶解阈值,确定所述溶解速度的值为0;和/或,响应所述噪声值和所述第二溶解值的差值大于预设第二溶解阈值且小于预设第一溶解阈值,确定所述溶解速度的值为所述差值。7.根据权利要求6所述的方法,其特征在于,所述根据所述第一溶解值和所述溶解修正值,确定所述第二溶解值,包括:计算预设值和所述溶解值的差值;将在预设第一取值范围内的所述预设值和所述第一溶解值的差值,映射在预设第二取值范围,得到第二溶解值;其中,所述预设第二取值范围基于所述溶解修正值和预设值确定。8.根据权利要求3所述的方法,其特征在于,所述根据所述溶解边缘硬度和所述溶解速度,确定所述目标地图格子块中各个模型顶点的硬度值,包括:基于所述溶解边缘硬度和预设浮动值,计算得到第一溶解边缘硬度阈值和第二溶解边缘硬度阈值;响应所述溶解速度的值小于或者等于所述第一溶解边缘硬度阈值,确定所述硬度值为0;和/或,响应所述溶解速度的值大于或者等于所述第二溶解边缘硬度阈值,确定所述硬度值为1;和/或,响应所述溶解速度的值在大于第一溶解边缘硬度阈值且小于所述第二溶解边缘硬度阈值,确定所述硬度值在0至1进行顺滑过渡。9.根据权利要求4至8任一项所述的方法,其特征在于,透明度的值为0用于指示所述目标地图格子块自身的渲染效果不呈现,透明度的值为1用于指示所述目标地图格子块自身的渲染效果完全呈现。10.根据权利要求1或2所述的方法,其特征在于,所述透明度结果为基于对所述目标地图格子块的渲染贴图依次进行相应透明度、噪声值、溶解速度以及硬度值处理后得到的目
标透明度,所述按照所述透明度结果在游戏中控制呈现所述目标地图格子块,包括:从所述游戏中虚拟角色到所述目标地图格子块的中心作射线,沿着所述射线的射线方向,按照所述透明度结果中各个模型顶点的目标透明度的值,对在所述目标地图格子块上各个模型顶点相应区域的效果进行呈现。11.一种游戏中地图格子的渲染装置,其特征在于,所述装置包括:位置获取模块,用于获取游戏中虚拟角色的角色位置,以及目标地图格子块的格子位置;所述目标地图格子块为所述虚拟角色在游戏中发生交互的地图格子;透明度结果确定模块,用于基于所述角色位置和所述格子位置的位置距离,确定所述目标地图格子块中各个模型顶点的透明度结果;地图格子呈现模块,用于按照所述透明度结果在游戏中控制呈现所述目标地图格子块。12.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10中任一项所述游戏中地图格子的渲染方法。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述游戏中地图格子的渲染方法。
技术总结
本发明实施例提供了游戏中地图格子的渲染方法、装置、设备及存储介质,所述方法包括:获取游戏中虚拟角色的角色位置,以及目标地图格子块的格子位置;目标地图格子块为虚拟角色在游戏中发生交互的地图格子;基于角色位置和格子位置的位置距离,确定目标地图格子块中各个模型顶点的透明度结果;按照透明度结果在游戏中控制呈现目标地图格子块。基于虚拟角色和地图格子块的距离,按照相应的透明度结果控制目标地图格子块中各个模型顶点所在区域的呈现,使得虚拟角色在接近目标地图格子块的过程中,实现地图格子块随着玩家距离动态切换的效果,达到在单个目标地图格子块上效果发生逐渐变化的目的。变化的目的。变化的目的。
技术研发人员:黄旭帆
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2023.06.26
技术公布日:2023/9/16
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
