游戏中水体的显示方法、装置以及终端设备与流程
- 国知局
- 2024-07-11 16:27:27
本公开涉及游戏,具体而言,涉及一种游戏中水体的显示方法、装置以及终端设备。
背景技术:
1、在3d游戏中,如何真实地模拟表现出游戏场景内的交互对提升游戏的沉浸感和真实感有着至关重要的作用,而水体交互是场景交互的重要组成部分。由于移动端算力的限制,如何使用更低的算力,高效地模拟出游戏角色、场景物体与水体波动交互的逼真效果,是移动端游戏开发者所需面临的难题。常用的水体交互模拟技术如:基于物理引擎的模拟、基于波动方程的模拟等。
2、现有的移动端游戏中,大多数还是采用播放序列帧动画的方式来表现物体与水面交互产生的水花,例如玩家在水面中行走时,游戏程序相应地在脚步踩下的位置放置一个水花飞溅的粒子帧动画,每个粒子在出现一定的时间后消失,从而在人物走过的轨迹水面上形成一个水花拖尾的痕迹,形成水波飞溅的效果。除此之外,还有一些水体交互效果采用顶点动画纹理的技术方案来实现,该方案本质上还是蒙皮骨骼动画,只是将蒙皮骨骼的动画数据预先烘焙存储到纹理中,从而可以在顶点shader高效实时计算动画形变,该方案在表现流体的飞溅和扩散(例如水球的爆炸效果)中比较常见。
3、序列帧动画和蒙皮动画的方案虽然具有较大的灵活性,可以根据需求定制任何想表现的效果,但是这种方案对美术的制作要求较高,每种不同的效果都需要各自单独制作,因而资源的消耗也比较大,制作完成之后也需要一定的人力去定时维护这些游戏资产。同时这两种方案本质上还是属于比较取巧的做法,产生水波动画的物体(例如粒子)本质上与水面是互不耦合的,即本质上水面并没有真正地在被扰动而产生波纹,因而在真实性方面具有非常明显的局限性,无法生成不同波纹之间叠加、波浪与周围物体碰撞回弹等能极大提升沉浸感的真实物理效果。
技术实现思路
1、本公开实施例的目的在于提供一种游戏中水体的显示方法、装置以及终端设备,用以缓解现有技术中存在的对于水体交互的渲染资源消耗和渲染效果难以平衡的技术问题。
2、第一方面,本公开提供一种游戏中水体的显示方法,包括:
3、响应针对水体的触发操作,确定所述触发操作在所述水体上的触发点的位置;
4、基于所述触发点的位置确定当前帧中所述水体经触发得到的高度增量;
5、读取第一渲染纹理,所述第一渲染纹理用于存储两帧以上的历史帧中的水体分别对应的第一高度场;
6、读取第二渲染纹理,所述第二渲染纹理用于存储当前帧的纹理坐标对应的碰撞体标识,所述碰撞体标识用于表征对应的纹理坐标处是否存在碰撞体;
7、基于所述当前帧的高度增量、所述第一渲染纹理中历史帧的第一高度场和所述第二渲染纹理中的碰撞体标识,获得所述当前帧中所述水体的高度场;
8、基于所述当前帧中所述水体的高度场,对所述水体进行渲染。
9、第二方面,本公开提供一种游戏中水体的显示装置,包括:
10、触发模块,用于响应针对水体的触发操作,确定所述触发操作在所述水体上的触发点的位置;
11、确定模块,用于基于所述触发点的位置确定当前帧中所述水体经触发得到的高度增量;
12、第一读取模块,用于读取第一渲染纹理,所述第一渲染纹理用于存储两帧以上的历史帧中的水体分别对应的第一高度场;
13、第二读取模块,用于读取第二渲染纹理,所述第二渲染纹理用于存储当前帧的纹理坐标对应的碰撞体标识,所述碰撞体标识用于表征对应的纹理坐标处是否存在碰撞体;
14、获取模块,用于基于所述当前帧的高度增量、所述第一渲染纹理中历史帧的第一高度场和所述第二渲染纹理中的碰撞体标识,获得所述当前帧中所述水体的高度场;
15、渲染模块,用于基于所述当前帧中所述水体的高度场,对所述水体进行渲染当前帧中水体的高度场当前帧中水体的高度场。
16、第三方面,本公开提供一种终端设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式任一项所述的方法。
17、第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述前述实施方式任一项所述的方法。
18、本公开提供了一种游戏中水体的显示方法、装置以及终端设备。通过响应针对水体的触发操作,确定所述触发操作在所述水体上的触发点的位置;基于所述触发点的位置确定当前帧中所述水体经触发得到的高度增量;读取第一渲染纹理,所述第一渲染纹理用于存储两帧以上的历史帧中的水体分别对应的第一高度场;读取第二渲染纹理,所述第二渲染纹理用于存储当前帧的纹理坐标对应的碰撞体标识,所述碰撞体标识用于表征对应的纹理坐标处是否存在碰撞体;基于所述当前帧的高度增量、所述第一渲染纹理中历史帧的第一高度场和所述第二渲染纹理中的碰撞体标识,获得所述当前帧中所述水体的高度场;基于所述当前帧中所述水体的高度场,对所述水体进行渲染。以此实现在保证高效、实时、逼真的水体交互效果,尽可能地还原水面波动的真实细节的同时,降低计算资源消耗,给予用户在水面游戏场景更为爽快的交互反馈体验,提供更好的游戏体验。
技术特征:1.一种水体的显示方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,基于所述当前帧的高度增量、所述第一渲染纹理中历史帧的第一高度场和所述第二渲染纹理中当前帧的碰撞体标识,获取所述当前帧中所述水体的高度场,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述基于所述历史帧的第二高度场和所述当前帧的碰撞体标识,获得所述当前帧中所述水体的高度场,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述历史帧中所述当前纹理坐标对应的第二高度场、所述历史帧中所述当前纹理坐标的相邻纹理坐标对应的第二高度场,获得所述当前帧中所述当前纹理坐标对应的高度场,包括:
6.根据权利要求2所述的方法,其特征在于,所述基于所述历史帧的第二高度场和所述当前帧的碰撞体标识,获得所述当前帧中所述水体的高度场,包括:
7.根据权利要求6所述的方法,其特征在于,所述基于所述历史帧中所述当前纹理坐标对应的第二高度场,获得所述当前帧中所述水体的高度场,包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.一种游戏中水体的显示装置,其特征在于,包括:
10.一种终端设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至8任一项所述的方法。
技术总结本公开提供一种游戏中水体的显示方法、装置以及终端设备。涉及游戏技术领域。包括:响应针对水体的触发操作,确定触发操作在水体上的触发点的位置;基于触发点的位置确定当前帧中水体经触发得到的高度增量;读取第一渲染纹理,第一渲染纹理用于存储两帧以上的历史帧中的水体分别对应的第一高度场;读取第二渲染纹理,第二渲染纹理用于存储当前帧的纹理坐标对应的碰撞体标识,碰撞体标识用于表征对应的纹理坐标处是否存在碰撞体;基于当前帧的高度增量、第一渲染纹理中历史帧的第一高度场和第二渲染纹理中的碰撞体标识,获得当前帧中水体的高度场;基于当前帧中水体的高度场,对水体进行渲染。以此实现在保证高效、实时、逼真的水体交互效果,尽可能地还原水面波动的真实细节的同时,降低计算资源消耗。技术研发人员:杨文聪受保护的技术使用者:网易(上海)网络有限公司技术研发日:技术公布日:2024/5/16本文地址:https://www.jishuxx.com/zhuanli/20240615/79444.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。