CN117876566A - 地平线弯曲特效实现方法、装置、电子设备和存储介质 - Google Patents
地平线弯曲特效实现方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117876566A CN117876566A CN202311839742.9A CN202311839742A CN117876566A CN 117876566 A CN117876566 A CN 117876566A CN 202311839742 A CN202311839742 A CN 202311839742A CN 117876566 A CN117876566 A CN 117876566A
- Authority
- CN
- China
- Prior art keywords
- rendered
- point
- horizon
- axis
- coordinate system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000694 effects Effects 0.000 title claims abstract description 62
- 238000005452 bending Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000005070 sampling Methods 0.000 claims abstract description 36
- 238000009877 rendering Methods 0.000 claims abstract description 15
- 238000013507 mapping Methods 0.000 claims description 63
- 230000006870 function Effects 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000007654 immersion Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
Abstract
本发明涉及电子游戏技术领域,提供了一种地平线弯曲特效实现方法、装置、电子设备和存储介质,方法包括:获取包含地平线的游戏画面中的每一待渲染点;基于预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点,预设参考位置是根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的;根据每一待渲染点的采样点的像素值,对每一待渲染点进行渲染,得到包括地平线的弯曲效果的游戏画面。本发明能够提高地平线弯曲特效的实现效率。
Description
技术领域
本发明涉及电子游戏技术领域,具体而言,涉及一种地平线弯曲特效实现方法、装置、电子设备和存储介质。
背景技术
在电子游戏场景中,高空观察地形时,地平线边缘呈现类球状弯曲效果对游戏的沉浸感有非常重要的作用。
现有技术中通常是基于球形地形系统实现地平线边际弯曲效果,即将地形网格弯曲贴合于球面,出于地形网格带来的性能负担考虑,地平线边际通常使用球状网格模型,实现地平线边缘弯曲效果。但是该技术由于模拟真实球状地形,重力方向朝向球心,朝上方向不同于普通游戏场景中的+Y轴,增大了游戏的物理模拟系统和逻辑处理的复杂度,极大地影响了地平线弯曲特效的实现效率。
发明内容
本发明的目的在于提供了一种地平线弯曲特效实现方法、装置、电子设备和存储介质,其能够提高地平线弯曲特效的实现效率。
本发明的实施例可以这样实现:
第一方面,本发明提供一种地平线弯曲特效实现方法,方法包括:
获取包含地平线的游戏画面中的每一待渲染点;
基于预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点,预设参考位置是根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的;
根据每一待渲染点的采样点的像素值,对每一待渲染点进行渲染,得到包括地平线的弯曲效果的游戏画面。
在可选的实施方式中,每一待渲染点的位置包括在屏幕纹理坐标系中的V轴坐标和U轴坐标,基于预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点的步骤包括:
将预设参考位置映射在屏幕纹理坐标系的值域范围内,得到映射值;
根据映射值及每一待渲染点的V轴坐标,确定每一待渲染点的初始偏移值;
根据每一待渲染点的U轴坐标,确定每一待渲染点的插值因数;
使用插值因数,对每一待渲染点的V轴坐标与其初始偏移值进行插值计算,确定每一待渲染点的最终偏移值;
将所有待渲染点中与每一待渲染点的位置距离为该待渲染点的最终偏移值的待渲染点确定为每一待渲染点的采样点。
在可选的实施方式中,将预设参考位置映射在屏幕纹理坐标系的值域范围内,得到映射值的步骤包括:
计算预设参考位置映射在屏幕纹理坐标系的值域范围内的初始映射值;
若初始映射值在第一预设范围内,则将初始映射值重新映射在第二预设范围内,得到映射值,第一预设范围表征与值域范围的最大值之间的距离小于预设距离,第一预设范围和第二预设范围不存在交集且第一预设范围和第二预设范围的并集为屏幕纹理坐标系的值域范围;
若初始映射值未在第一预设范围内,则将初始映射值作为映射值。
在可选的实施方式中,根据映射值及每一待渲染点的V轴坐标,确定每一待渲染点的初始偏移值的步骤包括:
根据映射值及每一待渲染点的V轴坐标,利用公式确定每一待渲染点的初始偏移值,其中,f为每一待渲染点的初始偏移值,a、c为预设常数,e_y为映射值,y为每一待渲染点的V轴坐标。
在可选的实施方式中,根据每一待渲染点的U轴坐标,确定每一待渲染点的插值因数的步骤包括:
根据每一待渲染点的U轴坐标,利用公式g=((x-0.5)*2)2确定每一待渲染点的插值因数,g为每一待渲染点的插值因数,x为每一待渲染点的U轴坐标。
在可选的实施方式中,方法还包括:
根据视角、法向量在相机坐标系的Y轴分向量及在相机坐标系的Z轴的分向量,计算地平线平面投影至相机坐标系的Y轴的投影坐标,并将投影坐标作为预设参考位置。
在可选的实施方式中,根据视角、法向量在相机坐标系的Y轴分向量及在相机坐标系的Z轴的分向量,计算地平线平面投影至相机坐标系的Y轴的投影坐标的步骤包括:
根据视角、法向量在相机坐标系的Y轴分向量及在相机坐标系的Z轴的分向量,利用公式ey=Clamp((PN_d.z/PN_d.y/tan(fov/2)),0,1)计算地平线平面投影至相机坐标系的Y轴的投影坐标,其中,ey为地平线平面投影至相机坐标系的Y轴的投影坐标,PN_d.y为法向量在相机坐标系的Y轴分向量,PN_d.z为法向量在相机坐标系的Z轴的分向量,tan为正切函数,fov为视角,Clamp为截断函数。
第二方面,本发明提供一种地平线弯曲特效实现装置,装置包括:
获取模块,用于获取包含地平线的游戏画面中的每一待渲染点;
确定模块,用于基于预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点,预设参考位置是根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的;
渲染模块,用于根据每一待渲染点的采样点的像素值,对每一待渲染点进行渲染,得到包括地平线的弯曲效果的游戏画面。
第三方面,本发明提供一种电子设备,包括处理器和存储器,存储器用于存储程序,处理器用于在执行程序时,实现前述实施方式中第一方面的地平线弯曲特效实现方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中第一方面的地平线弯曲特效实现方法。
与现有技术相比,本发明实施例根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点,根据每一待渲染点的采样点的像素值,对每一待渲染点进行渲染,得到包括地平线的弯曲效果的游戏画面,由于避免使用球状网格模型,大大简化了实现地平线弯曲效果的处理复杂度,提高了地平线弯曲特效的实现效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本实施例提供的地平线弯曲特效实现方法的流程示例图。
图2为本实施例提供的扭曲变形的示例图。
图3为本实施例提供的地平线弯曲特效开启前后的对比示例图。
图4为本实施例提供的地平线弯曲特效实现装置的方框示例图。
图5为本实施例提供的电子设备的方框示例图。
图标:10-电子设备;11-处理器;12-存储器;13-总线;100-地平线弯曲特效实现装置;110-获取模块;120-确定模块;130-渲染模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
请参考图1,图1为本实施例提供的地平线弯曲特效实现方法的流程示例图,该方法包括以下步骤:
步骤S101,获取包含地平线的游戏画面中的每一待渲染点。
在本实施例中,每一待渲染点对应游戏画面中的一个像素点,每一像素点均有对应的像素值。
步骤S102,基于预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点,预设参考位置是根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的。
在本实施例中,相机坐标系是以相机的聚焦中心为原点,以光轴为Z轴建立的三维直角坐标系。相机的视角,即相机的视野角,是指从相机的镜头看到的景象范围,视野角也称为视场角,其大小是由镜头的焦距、感光元件的大小和实际拍摄距离等因素所决定。
在本实施例中,采样点是游戏画面中所有待渲染点中的一个点,每一待渲染点均对应一个采样点,采样点的像素值为用于渲染其对应的待渲染点时采用的像素值。
步骤S103,根据每一待渲染点的采样点的像素值,对每一待渲染点进行渲染,得到包括地平线的弯曲效果的游戏画面。
在本实施例中,一种具体实现方式,可以是通过在全屏后期特效的像素着色器,对于每一待渲染点,使用其屏幕像素纹理坐标与对应采样点相对于该待渲染点的采样偏移值获取场景渲染结果,实现地平线边际弯曲效果。
本实施例提供的上述方法,由于根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点,再采样点的像素值,对对应的待渲染点进行渲染,得到包括地平线的弯曲效果的游戏画面,通过避免使用球状网格模型,大大简化了实现地平线弯曲效果的处理复杂度,提高了地平线弯曲特效的实现效率。
在可选的实施方式中,每一待渲染点的位置包括在屏幕纹理坐标系中的V轴坐标和U轴坐标,一种确定待渲染点的采样点的方式为:
首先,将预设参考位置映射在屏幕纹理坐标系的值域范围内,得到映射值;
在本实施例中,屏幕纹理坐标系是2D纹理坐标系,该坐标系中的横轴称为U轴,纵轴称为V轴,对于显示在屏幕上的游戏画面而言,游戏画面的左上角为原点,宽、高均为1,即其值域范围为[0,1]之间。
在本实施例中,一种映射实现方式为:
(1)计算预设参考位置映射在屏幕纹理坐标系的值域范围内的初始映射值;
在本实施例中,可以采用公式e_y=1-(ey+1)*0.5计算初始映射值,其中,ey为预设参考位置,e_y为初始映射值。
(2)若初始映射值在第一预设范围内,则将初始映射值重新映射在第二预设范围内,得到映射值,第一预设范围表征与值域范围的最大值之间的距离小于预设距离,第一预设范围和第二预设范围不存在交集且第一预设范围和第二预设范围的并集为屏幕纹理坐标系的值域范围;若初始映射值未在第一预设范围内,则将初始映射值作为映射值。
在本实施例中,第一预设范围为[0.9,1.0],第二预设范围为(0.9,0),当初始映射值在第一预设范围内时,发明人发现,此时地平线投影后位于屏幕顶部时,利用采样点对待渲染点进行偏移采样会导致游戏画面的扭曲变形,产生扭曲拉伸错误,因此,本发明实施例在当初始映射值在第一预设范围内时,重新将其映射在第二预设范围内,以避免偏移采样导致的扭曲问题。
其次,根据映射值及每一待渲染点的V轴坐标,确定每一待渲染点的初始偏移值;
在本实施例中,作为一种实现方式,根据映射值及每一待渲染点的V轴坐标,利用公式确定每一待渲染点的初始偏移值,其中,f为每一待渲染点的初始偏移值,a、c为预设常数,e_y为映射值,y为每一待渲染点的V轴坐标。上述公式实际上是基于待渲染点的V轴坐标y和其初始偏移值之间的关系满足的曲线函数/>而定的,该曲线函数可以根据实际对曲线弯曲特性的需求对其中的预设常数进行调整。
第三,根据每一待渲染点的U轴坐标,确定每一待渲染点的插值因数;
在可选的实施方式中,作为一种实现方式,根据每一待渲染点的U轴坐标,利用公式g=((x-0.5)*2)2确定每一待渲染点的插值因数,g为每一待渲染点的插值因数,x为每一待渲染点的U轴坐标。上述公式g=((x-0.5)*2)2实际上是基于待渲染点的U轴坐标x和插值因数之间的关系满足的曲线函数g(x)=((x-0.5)*2)2而定的。
第四,使用插值因数,对每一待渲染点的V轴坐标与其初始偏移值进行插值计算,确定每一待渲染点的最终偏移值;
在本实施例中,可以采用预设插值函数进行插值计算,插值函数包括、但不限于线性插值、最邻近插值等。
第五,将所有待渲染点中与每一待渲染点的位置距离为该待渲染点的最终偏移值的待渲染点确定为每一待渲染点的采样点。
在本实施例中,为了将游戏画面中的地平线映射在屏幕纹理坐标系的值域范围内,发明人对游戏场景中的地平线投影到屏幕坐标系中的Y坐标进行了分析,该Y坐标用于计算采样在Y轴上的偏移值,此处的屏幕坐标系以屏幕中心为原点,屏幕上下边界值域为[-1,1],本实施例采用平坦地形方案,世界空间中地平线平面定义为:高度位于0处、法线向量朝向+Y轴记为符号PN、沿XZ轴无限延展的平面;限制摄像机不允许进行欧拉角翻滚。为方便求解地平线投影到屏幕上的Y轴位置,将地平线平面的法线向量PN转换到相机空间。请参照图2,图2为本实施例提供的地平线位于屏幕Y轴上的三种情况的示例图,图2中,相机空间中YZ平面,地平线平面0、1、2分别对应三种地平线边际位于屏幕Y轴上的极端情况:
(1)地平线平面0与负最大可视角度向量平行时,地平线平面法向量分向量与负最大可视角度向量垂直,此时地平线边际将位于屏幕Y轴的下边界处,值为-1;
(2)地平线平面1与视线方向平行,地平线边际投影到屏幕Y轴为中心点,值为0;
(3)地平线平面2与正最大可视角度向量平行,地平线平面法向量分向量与正最大可视角度向量垂直,此时地平线边际将位于屏幕Y轴的上边界,值为1。
通过图2的分析可知,相机空间地平线平面法向量在YZ平面分向量的Z/Y比值与相机可视角度正切值相除,即为地平线边际投影到屏幕Y轴上的坐标,基于此,本实施例还提供了一种确定预设参考位置的方式:
根据视角、法向量在相机坐标系的Y轴分向量及在相机坐标系的Z轴的分向量,计算地平线平面投影至相机坐标系的Y轴的投影坐标,并将投影坐标作为预设参考位置。
在可选的实施方式中,作为一种实现方式,根据视角、法向量在相机坐标系的Y轴分向量及在相机坐标系的Z轴的分向量,利用公式e_y=Clamp((PN_d.z/PN_d.y/tan(fov/2)),0,1)计算地平线平面投影至相机坐标系的Y轴的投影坐标,其中,e_y为地平线平面投影至相机坐标系的Y轴的投影坐标,PN_d.y为法向量在相机坐标系的Y轴分向量,PN_d.z为法向量在相机坐标系的Z轴的分向量,tan为正切函数,fov为视角,Clamp为截断函数。
为了更直观地展示本实施例提供的地平线弯曲特效实现方法的效果,请参照图3,图3为本实施例提供的地平线弯曲特效开启前后的对比示例图,从图3中可以看出,利用本实施例提供的方法得到的地平线弯曲特效比较平缓,极好地提升游戏的沉浸感,同时又避免了利用球状网格模型导致的逻辑处理复杂的问题,提高了处理效率。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面分别给出一种地平线弯曲特效实现装置100的实现方式。请参照图4,图4为本发明实施例提供的地平线弯曲特效实现装置的方框示意图,需要说明的是,本实施例所提供的地平线弯曲特效实现装置100,其基本原理及产生的技术效果和对应的上述实施例相同,为简要描述,本实施例部分未提及指出。
地平线弯曲特效实现装置100包括获取模块110、确定模块120及渲染模块130。
获取模块110,用于获取包含地平线的游戏画面中的每一待渲染点;
确定模块120,用于基于预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点,预设参考位置是根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的;
渲染模块130,用于根据每一待渲染点的采样点的像素值,对每一待渲染点进行渲染,得到包括地平线的弯曲效果的游戏画面。
在可选的实施方式中,每一待渲染点的位置包括在屏幕纹理坐标系中的V轴坐标和U轴坐标,确定模块120具体用于:将预设参考位置映射在屏幕纹理坐标系的值域范围内,得到映射值;根据映射值及每一待渲染点的V轴坐标,确定每一待渲染点的初始偏移值;根据每一待渲染点的U轴坐标,确定每一待渲染点的插值因数;使用插值因数,对每一待渲染点的V轴坐标与其初始偏移值进行插值计算,确定每一待渲染点的最终偏移值;将所有待渲染点中与每一待渲染点的位置距离为该待渲染点的最终偏移值的待渲染点确定为每一待渲染点的采样点。
在可选的实施方式中,确定模块120在用于将预设参考位置映射在屏幕纹理坐标系的值域范围内,得到映射值时具体用于:计算预设参考位置映射在屏幕纹理坐标系的值域范围内的初始映射值;若初始映射值在第一预设范围内,则将初始映射值重新映射在第二预设范围内,得到映射值,第一预设范围表征与值域范围的最大值之间的距离小于预设距离,第一预设范围和第二预设范围不存在交集且第一预设范围和第二预设范围的并集为屏幕纹理坐标系的值域范围;若初始映射值未在第一预设范围内,则将初始映射值作为映射值。
在可选的实施方式中,确定模块120在具体用于根据映射值及每一待渲染点的V轴坐标,确定每一待渲染点的初始偏移值时具体用于:根据映射值及每一待渲染点的V轴坐标,利用公式确定每一待渲染点的初始偏移值,其中,f为每一待渲染点的初始偏移值,a、c为预设常数,e_y为映射值,y为每一待渲染点的V轴坐标。
在可选的实施方式中,确定模块120在具体用于根据每一待渲染点的U轴坐标,确定每一待渲染点的插值因数时具体用于:根据每一待渲染点的U轴坐标,利用公式g=((x-0.5)*2)2确定每一待渲染点的插值因数,g为每一待渲染点的插值因数,x为每一待渲染点的U轴坐标。
在可选的实施方式中,确定模块120还用于:根据视角、法向量在相机坐标系的Y轴分向量及在相机坐标系的Z轴的分向量,计算地平线平面投影至相机坐标系的Y轴的投影坐标,并将投影坐标作为预设参考位置。
在可选的实施方式中,确定模块120在用于根据视角、法向量在相机坐标系的Y轴分向量及在相机坐标系的Z轴的分向量,计算地平线平面投影至相机坐标系的Y轴的投影坐标时具体用于:根据视角、法向量在相机坐标系的Y轴分向量及在相机坐标系的Z轴的分向量,利用公式e_y=Clamp((PN_d.z/PN_d.y/tan(fov/2)),0,1)计算地平线平面投影至相机坐标系的Y轴的投影坐标,其中,e_y为地平线平面投影至相机坐标系的Y轴的投影坐标,PN_d.y为法向量在相机坐标系的Y轴分向量,PN_d.z为法向量在相机坐标系的Z轴的分向量,tan为正切函数,fov为视角,Clamp为截断函数。
本发明实施例还提供了电子设备10的方框示意图,前述实施例中的实现上述实施例的地平线弯曲特效实现方法,或者实现上述实施例的地平线弯曲特效实现方法应用于该电子设备10,需要说明的是,请参照图5,图5示出了本发明实施例提供的电子设备10的方框示意图,电子设备10包括处理器11、存储器12和总线13,处理器11和存储器12通过总线13连接。
处理器11可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述实施例的地平线弯曲特效实现方法,或者上述实施例的地平线弯曲特效实现方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程逻辑门阵列(FieldProgrammable Logic Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储实现上述实施例的地平线弯曲特效实现方法的程序,该程序可以是以软件或固件(firmware)的形式存储于存储器12中或固化在电子设备10的操作系统(Operating System,OS)中的软件功能模块。处理器11在接收到执行指令后,执行程序以实现上述实施例揭示的地平线弯曲特效实现方法。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中第一方面的地平线弯曲特效实现方法。
综上所述,本发明实施例提供了一种地平线弯曲特效实现方法、装置、电子设备和存储介质,方法包括:获取包含地平线的游戏画面中的每一待渲染点;基于预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点,预设参考位置是根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的;根据每一待渲染点的采样点的像素值,对每一待渲染点进行渲染,得到包括地平线的弯曲效果的游戏画面。与现有技术相比,本实施至少具有以下优势:(1)根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的预设参考位置及每一待渲染点的位置,从所有待渲染点中确定每一待渲染点的采样点,再采样点的像素值,对对应的待渲染点进行渲染,得到包括地平线的弯曲效果的游戏画面,通过避免使用球状网格模型,大大简化了实现地平线弯曲效果的处理复杂度,提高了地平线弯曲特效的实现效率;(2)将预设参考位置映射在屏幕纹理坐标系的值域范围内时,通过判断映射值的范围,在其投影接近游戏画面顶部导致扭曲时,通过进行二次映射,避免了扭曲问题。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种地平线弯曲特效实现方法,其特征在于,所述方法包括:
获取包含地平线的游戏画面中的每一待渲染点;
基于预设参考位置及所述每一待渲染点的位置,从所有所述待渲染点中确定所述每一待渲染点的采样点,所述预设参考位置是根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的;
根据所述每一待渲染点的采样点的像素值,对每一所述待渲染点进行渲染,得到包括所述地平线的弯曲效果的游戏画面。
2.如权利要求1所述的地平线弯曲特效实现方法,其特征在于,所述每一待渲染点的位置包括在屏幕纹理坐标系中的V轴坐标和U轴坐标,所述基于预设参考位置及所述每一待渲染点的位置,从所有所述待渲染点中确定所述每一待渲染点的采样点的步骤包括:
将所述预设参考位置映射在所述屏幕纹理坐标系的值域范围内,得到映射值;
根据所述映射值及所述每一待渲染点的V轴坐标,确定所述每一待渲染点的初始偏移值;
根据所述每一待渲染点的U轴坐标,确定所述每一待渲染点的插值因数;
使用所述插值因数,对所述每一待渲染点的V轴坐标与其初始偏移值进行插值计算,确定所述每一待渲染点的最终偏移值;
将所有所述待渲染点中与所述每一待渲染点的位置距离为该待渲染点的最终偏移值的待渲染点确定为所述每一待渲染点的采样点。
3.如权利要求2所述的地平线弯曲特效实现方法,其特征在于,所述将所述预设参考位置映射在所述屏幕纹理坐标系的值域范围内,得到映射值的步骤包括:
计算所述预设参考位置映射在所述屏幕纹理坐标系的值域范围内的初始映射值;
若所述初始映射值在第一预设范围内,则将所述初始映射值重新映射在第二预设范围内,得到所述映射值,所述第一预设范围表征与所述值域范围的最大值之间的距离小于预设距离,所述第一预设范围和所述第二预设范围不存在交集且所述第一预设范围和所述第二预设范围的并集为所述屏幕纹理坐标系的值域范围;
若所述初始映射值未在所述第一预设范围内,则将所述初始映射值作为所述映射值。
4.如权利要求2所述的地平线弯曲特效实现方法,其特征在于,所述根据所述映射值及所述每一待渲染点的V轴坐标,确定所述每一待渲染点的初始偏移值的步骤包括:
根据所述映射值及所述每一待渲染点的V轴坐标,利用公式确定所述每一待渲染点的初始偏移值,其中,f为所述每一待渲染点的初始偏移值,a、c为预设常数,e_y为所述映射值,y为所述每一待渲染点的V轴坐标。
5.如权利要求2所述的地平线弯曲特效实现方法,其特征在于,所述根据所述每一待渲染点的U轴坐标,确定所述每一待渲染点的插值因数的步骤包括:
根据所述每一待渲染点的U轴坐标,利用公式g=((x-0.5)*2)2确定所述每一待渲染点的插值因数,g为所述每一待渲染点的插值因数,x为所述每一待渲染点的U轴坐标。
6.如权利要求1所述的地平线弯曲特效实现方法,其特征在于,所述方法还包括:
根据所述视角、所述法向量在所述相机坐标系的Y轴分向量及在所述相机坐标系的Z轴的分向量,计算所述地平线平面投影至所述相机坐标系的Y轴的投影坐标,并将所述投影坐标作为所述预设参考位置。
7.如权利要求6所述的地平线弯曲特效实现方法,其特征在于,所述根据所述视角、所述法向量在所述相机坐标系的Y轴分向量及在所述相机坐标系的Z轴的分向量,计算所述地平线平面投影至所述相机坐标系的Y轴的投影坐标的步骤包括:
根据所述视角、所述法向量在所述相机坐标系的Y轴分向量及在所述相机坐标系的Z轴的分向量,利用公式ey=Clamp((PN_d.z/PN_d.y/tan(fov/2)),0,1)计算所述地平线平面投影至所述相机坐标系的Y轴的投影坐标,其中,ey为所述地平线平面投影至所述相机坐标系的Y轴的投影坐标,PN_d.y为所述法向量在所述相机坐标系的Y轴分向量,PN_d.z为所述法向量在所述相机坐标系的Z轴的分向量,tan为正切函数,fov为所述视角,Clamp为截断函数。
8.一种地平线弯曲特效实现装置,其特征在于,所述装置包括:
获取模块,用于获取包含地平线的游戏画面中的每一待渲染点;
确定模块,用于基于预设参考位置及所述每一待渲染点的位置,从所有所述待渲染点中确定所述每一待渲染点的采样点,所述预设参考位置是根据地平线在相机坐标系中的地平线平面的法向量及相机的视角确定的;
渲染模块,用于根据所述每一待渲染点的采样点的像素值,对每一所述待渲染点进行渲染,得到包括所述地平线的弯曲效果的游戏画面。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现权利要求1-7中任一项所述的地平线弯曲特效实现方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的地平线弯曲特效实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311839742.9A CN117876566A (zh) | 2023-12-28 | 2023-12-28 | 地平线弯曲特效实现方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311839742.9A CN117876566A (zh) | 2023-12-28 | 2023-12-28 | 地平线弯曲特效实现方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117876566A true CN117876566A (zh) | 2024-04-12 |
Family
ID=90591339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311839742.9A Pending CN117876566A (zh) | 2023-12-28 | 2023-12-28 | 地平线弯曲特效实现方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117876566A (zh) |
-
2023
- 2023-12-28 CN CN202311839742.9A patent/CN117876566A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111750820B (zh) | 影像定位方法及其系统 | |
US11615552B2 (en) | Crossing point detector, camera calibration system, crossing point detection method, camera calibration method, and recording medium | |
US20200366838A1 (en) | Panoramic image generation method and device | |
US9591280B2 (en) | Image processing apparatus, image processing method, and computer-readable recording medium | |
WO2016065632A1 (zh) | 一种图像处理方法和设备 | |
CN112444242A (zh) | 一种位姿优化方法及装置 | |
US10447989B2 (en) | Method and device for synthesizing depth images | |
JP2007183948A (ja) | 幾何情報を校正してパノラマ映像を提供する方法および装置 | |
CN113077548B (zh) | 针对物体的碰撞检测方法、装置、设备和存储介质 | |
US8675013B1 (en) | Rendering spherical space primitives in a cartesian coordinate system | |
CN113256742B (zh) | 界面展示方法、装置、电子设备和计算机可读介质 | |
CN113763569A (zh) | 一种在三维仿真中使用的图像标注方法及装置、电子设备 | |
CN114549289A (zh) | 图像处理方法、装置、电子设备和计算机存储介质 | |
CN117557740B (zh) | 三维模型分割层级切换方法、装置、电子设备及存储介质 | |
CN118001727A (zh) | 模型渲染方法、动画制作方法、装置、设备及存储介质 | |
CN111773706A (zh) | 一种游戏场景的渲染方法和装置 | |
CN117876566A (zh) | 地平线弯曲特效实现方法、装置、电子设备和存储介质 | |
CN111275611A (zh) | 三维场景中物体深度确定方法、装置、终端及存储介质 | |
CN109377268A (zh) | 商品的调整方法及装置 | |
CN111028357B (zh) | 增强现实设备的软阴影处理方法和装置 | |
CN112767547B (zh) | 一种海洋空间的态势可视化方法和装置 | |
CN115439331B (zh) | 角点的校正方法和元宇宙中三维模型的生成方法、装置 | |
CN113870365B (zh) | 相机标定方法、装置、设备以及存储介质 | |
CN115856849B (zh) | 一种深度相机与2d激光雷达标定方法及相关设备 | |
CN117237500A (zh) | 三维模型显示视角调整方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |