一种角色皮肤绘制方法、系统、电子设备技术方案

技术编号:32326291 阅读:14 留言:0更新日期:2022-02-16 18:33
本申请公开了一种角色皮肤绘制方法、系统、电子设备,涉及游戏渲染的技术领域。该方法包括:角色绘制完成后,使用Command Buffer再次绘制角色皮肤区域,再次绘制包括:对绘制完成的角色皮肤区域叠加次表面散射效果。本申请解决了在角色皮肤渲染时,游戏场景显示容易出现迟滞的技术问题。现迟滞的技术问题。现迟滞的技术问题。

【技术实现步骤摘要】
一种角色皮肤绘制方法、系统、电子设备


[0001]本申请涉及游戏渲染的
,尤其是涉及一种角色皮肤绘制方法、系统、电子设备。

技术介绍

[0002]目前,在游戏角色的皮肤渲染上,核心的内容是皮肤次表面散射,而为了做到这一点,目前较为流行的手段大概分为两类:1、基于屏幕空间的次表面散射;2、基于微积分的PreIntegrate渲染技术。
[0003]屏幕空间的方法类似于图像空间的方法,只是计算irradiance时输出的位置不是UV坐标而是模型的投影坐标,此外还需要将屏幕空间中属于皮肤的材质的像素用stencil buffer标记出来,然后对标记出的皮肤材质进行若干次卷积操作,卷积核的权重由diffusion profile确定,卷积核的大小则需要根据当前像素的深度(d(x,y))及其导数(dFdx(d(x,y))和dFdy(d(x,y))来确定。
[0004]在实现本申请过程中,专利技术人发现现有技术中至少存在如下问题:现有对每个游戏角色在屏幕空间的方法进行次表面散射计算,导致需要大量的运算,从而有可能超出目前普通显示卡GPU的运算能力的上限,使得显示卡的绘制速度降低,导致游戏在屏幕上所显示的画面出现迟滞的现象。

技术实现思路

[0005]为此,本申请的实施例提供了一种角色皮肤绘制方法、系统、电子设备,能够解决在角色皮肤渲染时,游戏场景显示容易出现迟滞的技术问题,具体技术方案内容如下:
[0006]第一方面,本申请的实施例提供一种角色皮肤绘制方法,所述方法包括:
[0007]角色绘制完成后,使用Command Buffer再次绘制角色皮肤区域,再次绘制包括:对绘制完成的角色皮肤区域叠加次表面散射效果。
[0008]通过采用上述技术方案,将角色皮肤的次表面散射计算使用Command Buffer进行绘制,将角色次表面皮肤信息由屏幕空间简化到Command Buffer中,一般场景中皮肤区域的像素占比很小,绘制计算量比整个屏幕空间计算量要小,优化了移动端的性能和游戏效果,减少游戏在屏幕上显示的画面出现迟滞的现象。
[0009]优选的,所述使用Command Buffer再次绘制角色皮肤区域包括:
[0010]设置角色优先级;
[0011]根据角色优先级采用Command Buffer再次绘制角色皮肤区域。
[0012]通过采用上述技术方案,根据角色优先级进行渲染,优先渲染重要角色,提高用户体验。
[0013]优选的,所述根据角色优先级采用Command Buffer再次绘制角色皮肤区域包括:根据角色皮肤的优先级在Command Buffer中依次对角色皮肤进行次表面散射计算。
[0014]通过采用上述技术方案,根据角色优先级来绘制角色皮肤区域,减少同一时刻一
次绘制的计算量,进一步减少角色皮肤效果绘制对设备资源的占用量,从而优化了移动端的性能和游戏效果的表现,减少游戏在屏幕上显示的画面出现迟滞的现象。
[0015]优选的,所述使用Command Buffer再次绘制角色皮肤区域包括:
[0016]设置多个Command Buffer,将多个角色皮肤次表面散射计算采用多个Command Buffer并行计算。通过采用上述技术方案,采用多个Command Buffer并行进行游戏角色渲染,减少游戏场景中同一帧出现的角色渲染的时延,实现较优的游戏场景渲染效果。
[0017]优选的,所述使用Command Buffer再次绘制角色皮肤区域包括:
[0018]获取当前的GPU可用内存;
[0019]若当前的GPU可用内存低于当前所有角色皮肤区域次表面散射所需的内存,依次采用Command Buffer计算角色皮肤次表面散射计算;
[0020]若当前的GPU可用内存充足,设置多个Command Buffer,设置多个Command Buffer,将多个角色皮肤次表面散射计算采用多个Command Buffer并行计算。
[0021]通过采用上述技术方案,根据GPU内存选择Command Buffer处理方案,在当前的GPU可用内存较少的情况下,采用根据角色优先级向Command Buffer内依次计算角色皮肤次表面散射计算的串行处理角色皮肤渲染次序的方式,减少了GPU发生溢出的情况;在当前的GPU可用内存较多的时候,采用多个Command Buffer并行计算角色皮肤次表面散射的方式,实现较优的渲染场景,从而实现设备性能与渲染效果均衡的效果。
[0022]优选的,所述角色优先级的设置方法为:
[0023]获取角色属性,所述角色属性包括主角色、主角色的对手、主角色的队友以及NPC;
[0024]根据角色属性确定角色的角色优先级。
[0025]通过采用上述技术方案,根据角色属性的不同,来划分角色优先级,实现精细化控制的效果。
[0026]优选的,当角色与屏幕距离超过设定的角色皮肤效果最大显示距离时,不对该角色的皮肤区域进行再次绘制。
[0027]通过采用上述技术方案,可以有效减少角色皮肤次表面散射的计算量,进一步优化了移动端的性能和游戏效果的表现,减少游戏在屏幕上显示的画面出现迟滞的现象。
[0028]第二方面,本申请的实施例提供一种角色次表面分离系统,所述系统包括:
[0029]计算模块,用于角色绘制完成后,使用Command Buffer再次绘制角色皮肤区域,再次绘制包括:对绘制完成的角色皮肤区域叠加次表面散射效果。
[0030]第三方面,本申请的实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任意一项所述的角色皮肤绘制方法的步骤。
[0031]第四方面,本申请的实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述任意一项所述的角色皮肤绘制方法的步骤。
[0032]综上所述,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
[0033]1、将角色皮肤的次表面散射计算使用Command Buffer进行绘制,将角色次表面皮肤信息由屏幕空间简化到Command Buffer中,一般场景中皮肤区域的像素占比很小,这样
绘制计算量比整个屏幕空间计算量要小,优化了移动端的性能和游戏效果的表现,减少游戏在屏幕上显示的画面出现迟滞的现象;
[0034]2、根据角色优先级来依次绘制角色皮肤区域,减少同一时刻一次绘制的计算量,进一步减少角色皮肤效果绘制对设备资源的占用量,从而优化了移动端的性能和游戏效果的表现,减少游戏在屏幕上显示的画面出现迟滞的现象;
[0035]3、根据GPU内存选择Command Buffer处理方案,在当前的GPU可用内存较少的情况下,采用在command buffer根据角色优先级依次进行角色次表面散射计算的方式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种角色皮肤绘制方法,其特征在于,所述方法包括:角色绘制完成后,使用Command Buffer再次绘制角色皮肤区域,再次绘制包括:对绘制完成的角色皮肤区域叠加次表面散射效果。2.根据权利要求1所述的角色皮肤绘制方法,其特征在于,所述使用Command Buffer再次绘制角色皮肤区域包括:设置角色优先级;根据角色优先级采用Command Buffer再次绘制角色皮肤区域。3.根据权利要求2所述的角色皮肤绘制方法,其特征在于,所述根据角色优先级采用Command Buffer再次绘制角色皮肤区域包括:根据角色优先级在Command Buffer中依次对角色皮肤进行次表面散射计算。4.根据权利要求1或2所述的角色皮肤绘制方法,其特征在于,所述使用Command Buffer再次绘制角色皮肤区域包括:设置多个Command Buffer,将多个角色皮肤次表面散射计算采用多个Command Buffer并行计算。5.根据权利要求1或2所述的角色皮肤绘制方法,其特征在于,所述使用Command Buffer再次绘制角色皮肤区域包括:获取当前的GPU可用内存;若当前的GPU可用内存低于当前所有角色皮肤区域次表面散射所需的内存,依次采用Command Buffer计算角色皮肤次表面散射计算;若当前...

【专利技术属性】
技术研发人员:刘舟张阳黄云龙
申请(专利权)人:广州三七极耀网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1