【技术实现步骤摘要】
渲染海浪的方法、装置、设备和计算机可读存储介质
[0001]本专利技术涉及计算机图形学领域,特别涉及一种渲染海浪的方法、装置、设备和计算机可读存储介质。
技术介绍
[0002]海面在游戏中是一种比较常见的效果,它是增强游戏场景视觉效果的重要元素之一,在一些游戏场景中所占画面的面积较大,而很多游戏是采用游戏引擎开发,Unreal Engine 4就是其中较为著名的一种游戏开发工具。
[0003]Unreal Engine 4是由Epic Games公司开发的强大的三维游戏引擎,可以创建三维视频游戏、二维平面游戏和建筑实时展示的多平台综合型游戏。在利用Unreal Engine 4游戏引擎开发移动端游戏时,若需要渲染海浪,现有的方法是在水面和岸边接触的部分显示一个海浪纹理的方式,采用这种方式来表现海浪的效果。
[0004]然而,上述现有渲染海浪的方法只能表现一些海浪纹理流动的简单效果,不能渲染海浪从海上冲向岸边的效果,因而视觉效果差强人意。
技术实现思路
[0005]本申请提供一种渲染海浪的方法、装置、设备和计算机可读存储介质,以提升海浪渲染效果,使游戏中的海浪更接近于现实世界的海浪。
[0006]一方面,本申请提供了一种渲染海浪的方法,包括:
[0007]根据场景深度和预设水面面片的像素深度,获取平行于海岸线的实时条带状遮罩;
[0008]截取所述实时条带状遮罩,形成实时海浪线;
[0009]将预先制作的移动海浪纹理映射至所述实时条带状遮罩,得到实时相对海 ...
【技术保护点】
【技术特征摘要】
1.一种渲染海浪的方法,其特征在于,所述方法包括:根据场景深度和预设水面面片的像素深度,获取平行于海岸线的实时条带状遮罩;截取所述实时条带状遮罩,形成实时海浪线;将预先制作的移动海浪纹理映射至所述实时条带状遮罩,得到实时相对海岸移动的海浪渲染效果;将所述实时相对海岸移动的海浪效果与所述实时海浪线叠加,得到海浪的最终渲染效果。2.如权利要求1所述渲染海浪的方法,其特征在于,所述根据场景深度和预设水面面片的像素深度,获取平行于海岸线的实时条带状遮罩,包括:根据所述场景深度、所述像素深度、当前时刻以及所述当前时刻的正弦值,确定与所述当前时刻相关的平行于海岸线的条带状遮罩的移动方向与移动幅度;取所述移动方向与移动幅度之和的小数部分;以所述小数部分为变量,计算得到所述平行于海岸线的实时条带状遮罩。3.如权利要求2所述渲染海浪的方法,其特征在于,所述根据所述场景深度、所述像素深度、当前时刻以及所述当前时刻的正弦值,确定与所述当前时刻相关的平行于海岸线的条带状遮罩的移动方向与移动幅度之和,包括:计算所述场景深度与所述像素深度的差值,将所述差值作为与所述当前时刻相关的平行于海岸线的条带状遮罩的移动方向;计算所述当前时刻与所述当前时刻的正弦值之和,将所述当前时刻与所述当前时刻的正弦值之和作为与所述当前时刻相关的平行于海岸线的条带状遮罩的移动幅度;所述以所述小数部分为变量,计算得到所述平行于海岸线的实时条带状遮罩,包括:以所述小数部分为参数,调用取整函数Ceil((1
‑
x)
‑
0.5),将Ceil((1
‑
x)
‑
0.5)赋值给α,所述x为所述小数部分;以所述α为参数,调用第一截断函数Saturate(α);以power(2x,8)、2x和Saturate(α)为参数,调用第二截断函数Lerp(power(2x,8),2x,Saturate(α)),将所述第二截断函数的返回值作为所述平行于海岸线的实时条带状遮罩,所述power(2x,8)表示对2x求8次幂。4.如权利要求1所述渲染海浪的方法,其特征在于,所述截取所述实时条带状遮罩,形成实时海浪线,包括:以所述实时条带状遮罩与海浪线宽度可调参数之差为参数,调用取整函数Ceil(FlowMask
‑
_WaveLineWidth),所述FlowMask为所述实时条带状遮罩,所述_WaveLineWidth为所述海浪线宽度可调参数;以power(FlowMask*x,4)、0、所述Ceil(FlowMask
‑
_WaveLineWidth)的返回值为参数,调用第二截断函数Lerp(power(FlowMask*x,4),0,Ceil(FlowMask
‑
_WaveLineWidth)),所述power(FlowMask*x,4)表示对FlowMask*x求4次幂;将所述第二截断函数Lerp(power(FlowMask*x,4),0,Ceil(FlowMask
‑
_WaveLineWidth))的返回值与部分所述实时条带状遮罩相加,得到所述实时海浪线,所述部分实时条带状遮罩为所述FlowMask与预设小数的乘积。5.如权利要求1所述渲染海浪的方法,其特征在于,所述移动海浪纹理通过如下方式制作:以1
‑
(SceneDepth
‑
PixelDepth)/500为参数,调用第一截断函数Saturate(1
‑
(SceneDepth
‑
PixelDepth)/500),所述SceneDepth
‑
PixelDepth为所述场景深度与像素深度的差值;基于海浪循环速度调节参数,对海浪的纹理进行采样,得到海浪纹理采样值;将所述第一截断函数Satura...
【专利技术属性】
技术研发人员:姜星宇,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。