CN113936084A - 一种虚拟天空中目标元素的生成方法及相关设备 - Google Patents
一种虚拟天空中目标元素的生成方法及相关设备 Download PDFInfo
- Publication number
- CN113936084A CN113936084A CN202111263149.5A CN202111263149A CN113936084A CN 113936084 A CN113936084 A CN 113936084A CN 202111263149 A CN202111263149 A CN 202111263149A CN 113936084 A CN113936084 A CN 113936084A
- Authority
- CN
- China
- Prior art keywords
- rendering
- target element
- area
- coordinate
- light
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供了一种虚拟天空中目标元素的生成方法及相关设备,涉及计算机技术领域。该方法包括:获取预设的渲染模型中的每个像素点的UV坐标信息;根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域,在每个渲染区域确定目标元素的位置信息;基于所述位置信息生成所述目标元素的渲染图。本申请方案的实施可以有助于提升虚拟天空的绘制效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种虚拟天空中目标元素的生成方法及相关设备。
背景技术
在一些场景体验的程序或网页中,如3D游戏程序或网页,一般构造有一个视觉上接近真实世界的虚拟环境,使得用户在使用该程序时可以获得真切的体验感。
在现有技术中,对于静态纹理的虚拟天空,通常是先由美术人员提供预先绘制或拍摄处理好的天空全景图,并将该天空全景图在立方体或球体模型的产品中进行渲染和还原。
为体现虚拟天空的丰富和多样性,虚拟天空中一般包括多种元素,对于不同元素的显示效果而言,采用上述方法因需要制作多个全景图方可实现,其带来巨大的工作量,而且对美术人员的拍摄、绘制和后期处理的要求也比较高,从而导致产品的制作效率较低,质量也难以提升。
发明内容
为了能够解决上述虚拟天空的制作效率较低,质量也难以提升的缺陷,本申请提供的技术方案提供了一种虚拟天空中目标元素的生成方法及相关设备。
在本申请的第一方面,提供了一种虚拟天空中目标元素的生成方法,包括:
获取预设的渲染模型中的每个像素点的UV坐标信息;
根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域,在每个渲染区域确定目标元素的位置信息;
基于所述位置信息生成所述目标元素的渲染图。
在第一方面的可选实施例中,所述根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域的步骤,包括;
根据预设倍数对所述成像区域中的每个像素点的UV坐标信息进行放大处理,得到处理后的像素坐标;
以所述像素坐标中的坐标值作为划分依据,将所述渲染区域中所有像素点划分为若干个渲染区域;其中,对应坐标轴上的坐标值的整数部分均相同的多个所述像素坐标划分为同一渲染区域;
将对应坐标轴的相同整数的坐标值作为所在所述渲染区域的区域坐标中对应坐标轴的坐标值。
在第一方面的可选实施例中,所述在每个渲染区域确定目标元素的位置信息的步骤,包括:
根据所述渲染区域的区域坐标,通过预设的随机算法对每个渲染区域中的目标元素的位置信息进行运算,得到目标元素的分布坐标信息。
在第一方面的可选实施例中,所述目标元素的分布坐标信息满足的预设的随机算法如下:
Xo=(Sin(X1)+1)/2;
Yo=(Cos(Y1)+1)/2;
其中,(Xo,Yo)为目标元素的分布坐标信息,(X1,Y1)为所述目标元素所在渲染区域的区域坐标。
在第一方面的可选实施例中,所述基于所述位置信息生成所述目标元素的渲染图,包括:
利用取小数函数获取所述渲染区域中的每个像素点的像素坐标的小数部分,确定每个像素点在所在渲染区域中的相对坐标;
根据所述渲染区域中的每个像素点的相对坐标与其目标元素的分布坐标信息的距离,控制所述渲染区域中的每个像素点的发光。
在第一方面的可选实施例中,所述控制所述渲染区域中的每个像素点的发光的步骤,包括:
当所述像素点的距离小于预设值时,控制所述渲染区域中的所述像素点发光;反之,则不发光;
和/或,
所述像素点的发光亮度随着其与所在所述渲染区域的目标元素的分布坐标信息的距离的增大而减小。
在第一方面的可选实施例中,所述虚拟天空中目标元素的生成方法,其特征在于,还包括:
所述像素点的发光间隔通过当前时间信息进行调节,利用发光时间函数得到每个所述像素点的发光时间,在所述渲染区域上生成随时间变换的目标元素的发光渲染图。
在第一方面的可选实施例中,所述目标元素的发光时间满足的发光时间函数如下:
Light=(X1*time*cos(Y1*time))
当Light的结果大于0,对应的目标元素发光;否则,不发光;
其中,time为当前时间信息。
第二方面,本公开实施例还提供了一种虚拟天空中目标元素的生成装置,包括:
坐标获取模块,用于获取预设的渲染模型中的每个像素点的UV坐标信息;
位置信息确定模块,用于根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域,在每个渲染区域确定目标元素的位置信息;
渲染模块,用于基于所述位置信息生成所述目标元素的渲染图。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行实现本公开实施例的第一方面所述的虚拟天空中目标元素的生成方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本公开实施例第一方面所述的虚拟天空中目标元素的生成方法。
本申请提供的技术方案带来的有益效果是:
在本申请所提供的上述实施例中,借助渲染模型对虚拟天空进行渲染。在该渲染模型中,以UV坐标信息定位渲染模型上每个像素点的具体位置;并根据该UV坐标信息,将渲染模型所选定的成像区域划分为若干个渲染区域。并且,利用每个渲染区域中像素点的UV坐标信息,对对应的像素点进行渲染,并且得到在经过渲染得到的目标元素的位置信息。基于该技术方案,能够将现有的虚拟天空的个性绘制,转化为渲染模型中成像区域对像素点的渲染,通过每个像素点的UV坐标信息,可以对渲染的位置和图像进行控制和调整,使得对虚拟天空的渲染有规律可循,从而提高了渲染效率,并降低绘制难度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种虚拟天空中目标元素的生成的流程图;
图2为本申请实施例提供的一种预设球体模型的示意图;
图3为本申请实施例提供的一种渲染模型中的成像区域的渲染网格图;
图4为本申请实施例提供的步骤S102的详细步骤的流程图;
图5为本申请实施例提供的一种虚拟天空中目标元素的生成装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在相关技术中,针对虚拟环境的天空画面,需要人工根据不同的预设效果,将目标元素,如星星的不同显示效果(闪烁、移动等),逐一绘制图纸上,进而基于该图纸进行渲染。由于效果的不同,针对不同的效果需要绘制相应的图纸,因此需要耗费大量的时间及图纸,该方法在渲染虚拟天空时的效率非常低,且所呈现的为静态效果,用户体验低。
为解决上述至少一个问题,本申请提供一种虚拟天空中目标元素的生成方法及相关设备。下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例中提供了一种虚拟天空中目标元素的生成方法,如图1所示,图1示出了本申请实施例提供的一种虚拟天空中目标元素的生成方法的流程示意图,其中,该方法可以由任一电子设备执行,如可以是用户终端或服务器,用户终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但本申请并不局限于此。具体地,该方法包括下述步骤S101-S103:
步骤S101:获取预设的渲染模型各个像素点的UV坐标信息。
具体地,预设渲染模型可以用于构建虚拟环境中的虚拟天空。虚拟环境可以是指各类程序(如小程序、安装在终端上的应用程序)在终端上运行时或通过终端网页浏览在线网页时显示的虚拟环境;该虚拟环境可以是模仿真实世界设计而成,也可以是虚构而成的环境;适应于不同网络、应用或策划的需求,虚拟环境可以是二维的,也可以是三维的。该预设渲染模型可以为半球体、球体、椭球体或方体等规则或不规则的模型。
为了对方案进行清楚说明,在下述部分以半球体模型作为例子进行方案描述。
在本实施例中,预设的渲染模型可以是呈球形的网状结构;如图2所示,该渲染模型包括半球体模型,由至少两条在维度方向(如图2所示的横向)上布设的第一线条和至少两条在经度方向(如图2所示的纵向)上布设的第二线条构成。
该渲染模型中的渲染效果是通过对排布于渲染模型中的所有的像素点的渲染效果。渲染模型的像素点是规律排布的,因此,根据渲染模型的坐标设置,能够获取该渲染模型中的每个像素点的UV坐标信息。
UV坐标信息是指U,V纹理贴图坐标(水平方向是U,垂直方向是V),通过UV坐标信息可以定位图像上的任意一个像素点;该U,V纹理贴图坐标所确定的像素点与三维模型是相互联系的。针对本申请的实施例,该UV坐标信息可以标识预设的渲染模型的表面纹理贴图的每个像素点的位置,即虚拟天空中进行渲染的具体位置。
从上述的半球体模型表面上的每个顶点或连接点的位置是由第一线条和第二线条交汇而成的,即每个顶点或连接点的位置对应第一线条的U轴坐标值和第二线条的V轴坐标值,因此,每个顶点或连接点的位置所对应的坐标是由对应的U轴坐标值和V轴坐标值组成的,通过该渲染模型的顶点或连接点坐标进行计算可以得到该渲染模型上每个像素点的对应的UV坐标信息。通过每个像素点的UV坐标信息,将该渲染模型从半球体模型的三维表面信息轻易转化为二维的平面的位置信息,降低了像素点的坐标信息的数据处理量,降低了数据的处理难度。
基于上述的像素点的获取,可以在该渲染模型上各像素点的UV坐标信息确定各种与天空相关的目标元素(如太阳、星星、月亮等)。本实施例对此不做限定。
步骤S102:根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域,在每个渲染区域确定目标元素的位置信息。
其中,成像区域是指虚拟相机在渲染模型中所照向的区域,该成像区域的图像用于在显示屏中显示。
参照图3所示,图3为本申请实施例提供的一种渲染模型中的成像区域的渲染网格图。
根据上述步骤S101的说明,如图3示出的二维平面是通过获取渲染模型中的每个像素点的UV坐标信息,将三维表面信息转化而成的。
在图3示出的二维平面的每个顶点或连接点的位置是具有的UV坐标信息,在本实施例中,根据UV坐标信息,在如图3中示出的渲染模型中获取用于渲染目标元素的成像区域,如图3中的标号为1234的四个顶点所围设而成的方形区域,在该方形区域中选取ABCD四个连接点围设得到的区域作为成像区域。
一般而言,获取预设的渲染模型各个像素点的UV坐标信息是指获取渲染模型中用于渲染目标元素的成像区域中的各个像素点的UV坐标信息。
除了图3中所示的成像区域为方形以外,该成像区域还可以为其他形状,如圆形、三角形或者是不规则图形。
在本实施例中,对于每个顶点或连接点而言,是至少由两条在维度方向上的第一线条和至少两条在经度方向上的第二线条交叉而成的交汇点,根据该第一线条和第二线条对应顶点或连接点的UV坐标信息,能够确认对应成像区域的位置信息。
根据渲染需求,根据成像区域内所有像素点的UV坐标信息将该成像区域进行划分,得到若干个渲染区域。每个渲染区域分别在该渲染模型的U轴和V轴上有对应的U轴位置范围和V轴位置范围。
基于渲染区域的U轴位置范围和V轴位置范围,确定对应的目标元素的渲染的坐标范围。
步骤S103:基于所述位置信息生成所述目标元素的渲染图。
具体地,可以直接根据该目标元素的位置信息,或者是对该目标元素的位置信息经过转化或运算,在渲染模型的表面上得到目标元素的具体渲染位置。
可选地,在该具体渲染位置上渲染该目标元素,是在对应的渲染区域上对具体的像素点进行渲染,得到渲染后的所有像素点。该成像区域中所有渲染后的像素点构成渲染后的成像,而该渲染后得到的成像为该成像区域中的目标元素的渲染图。
可选地,分别根据每个渲染区域中的目标元素的位置信息得到其对应的渲染区域的渲染位置,然后对每个渲染区域的渲染位置中的像素点进行渲染,从而得到所有目标元素在成像区域构成的渲染图。
在本申请所提供的上述实施例中,借助渲染模型对虚拟天空进行渲染。在该渲染模型中,以UV坐标信息定位渲染模型上每个像素点的位置;并根据该UV坐标信息,将渲染模型所选定的成像区域划分为若干个渲染区域,并确定出每个渲染区域中的目标元素的位置信息。然后,利用每个渲染区域中目标元素的位置信息,分别对每个渲染区域中的像素点进行渲染,从而得到目标元素的渲染图。基于该技术方案,能够将现有的虚拟天空的人工绘制,转化为渲染模型中成像区域对像素点的渲染,通过每个像素点的UV坐标信息,可以对渲染的位置和图像进行控制和调整,使得对虚拟天空的渲染有规律可循,从而提高了渲染效率,并降低绘制难度。尤其当应用于目标元素的数量多和分布广的场景下,相对于传统的人工绘制方式来说大大提高了渲染效率。
参考图4,图4为本申请实施例提供的步骤S102的详细步骤的流程图。
对于上述步骤S102中的根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域的步骤,可以进一步包括:
S1021、根据预设倍数对所述成像区域中的每个像素点的UV坐标信息进行放大处理,得到处理后的像素坐标;
S1022、以所述像素坐标中的坐标值作为划分依据,将所述渲染区域中所有像素点划分为若干个渲染区域;其中,对应坐标轴上的坐标值的整数部分均相同的多个所述像素坐标划分为同一渲染区域;
S1023、将对应坐标轴的相同整数的坐标值作为所在所述渲染区域的区域坐标中对应坐标轴的坐标值。
根据上述步骤S1021-S1023所提供的实施例中,对每个成像区域中每个像素点的UV坐标信息进行放大处理。具体方式为将该成像区域中所有的像素点的UV坐标值按照预设的倍数进行放大,例如100倍或1000倍,得到处理后的像素坐标。
如以U和V来代表U轴和V轴的坐标信息,以预设倍数为100倍为例,则处理后的像素坐标满足:
X1=U*100
Y1=U*100
其中,(X1,Y1)为该成像区域中的处理后的像素坐标。
这样,可以避免因成像区域原来的UV坐标信息带有冗长的小数部分,影响数据的处理和读取的情况。
其中,渲染区域中像素点的数量取决于显示的分辨率,例如显示的分辨率为1080*960,则该渲染区域的像素点的数量等于1080*960个。
进行放大处理得到处理后的像素坐标后,利用向下取整函数(floor函数)分别对每个像素坐标的值进行向下取整处理。将对应坐标轴(本实施例中的U轴或V轴)上的坐标值的整数部分均相同的多个像素坐标划分为同一渲染区域。
例如,两个像素点处理后的像素坐标的坐标值分别(1.3,1.4)、(1.6,1.7)时,经过向下取整处理后,均为(1,1),由此,将该两个像素点归到同一渲染区域中。
若对于两个像素点在放大处理后的像素坐标的坐标值分别(1.3,1.4)、(2.6,2.7)时,经过向下取整处理后,得到的坐标分别为(1,1)和(2,2)。即两个像素点分别位于两个不同的渲染区域。
根据上述对成像区域的像素点进行向下取整,并划分渲染区域的方式,将成像区域中的所有的像素点划分至对应的渲染区域。
同时,经过向下取整后,得到的坐标值为划分至该渲染区域的所有像素点的区域坐标,以及作为该渲染区域的区域坐标。
延用上述两个例子,像素坐标的坐标值为(1.3,1.4)、(1.6,1.7)的两个像素点的区域坐标为(1,1),且该两个像素点所在的渲染区域的区域坐标也为(1,1);而像素坐标的坐标值为(2.6,2.7)的像素点的区域坐标为(2,2),且该像素点所在的渲染区域的区域坐标也为(2,2)。
该实施例是直接根据向下取整处理后得到的像素点的区域坐标,对成像区域的像素点进行区域划分,无需根据成像区域的形状特征,更换不同的区域划分方式,从而提升了该方案应用的广泛性和灵活性,有助于提升渲染效率。
在此基础上,对于步骤S102中的在每个渲染区域确定目标元素的位置信息的步骤,可以进一步包括:
S1024、根据所述渲染区域的区域坐标,通过预设的随机算法对每个渲染区域中的目标元素的位置信息进行运算,得到目标元素的分布坐标信息。
在本实施例中,将渲染区域中的像素点的区域坐标作为渲染区域的区域坐标。
根据渲染区域的区域坐标,如上述实施例中渲染区域的区域坐标(1,1),利用预设的随机算法,基于该渲染区域的区域坐标计算与该渲染区域对应的目标元素的位置信息进行计算,得到目标元素的分布坐标信息,从而确定目标元素的位置信息。
通过随机算法,基于渲染区域的区域坐标计算处该渲染区域中的目标元素的位置信息,使得目标元素的位置信息与其所在的渲染区域的区域坐标相关,且元素目标的位置信息具有随机性,也即是不同渲染区域的目标元素在其对应的渲染区域中的相对位置不是整齐划一的,而是随机分布的。从所有渲染区域的整体渲染效果来看,所有目标元素的分布呈现凌乱的状态。当目标元素为星星或其它需要凌乱分布的元素时,通过本实施例得到的目标元素的位置信息来进行渲染后得到渲染图像更加符合实际场景。
在本实施例中,目标元素的分布坐标信息满足的预设的随机算法如下:
Xo=(Sin(X1)+1)/2;
Yo=(Cos(Y1)+1)/2;
其中,(Xo,Yo)为目标元素的分布坐标信息,(X1,Y1)为所述目标元素所在渲染区域的区域坐标。
延用上述例子,当像素点的所在的渲染区域的区域坐标为(1,1)时,按照上述随机算法进行计算,得到的目标元素的分布坐标信息为(0.92,0.77)。其中,该目标元素的分布坐标信息并不是一个绝对坐标,是相对其所在的渲染区域的相对坐标,该目标元素的分布坐标信息用于指示该目标元素的在其所在渲染区域的位置。沿用上述例子,目标元素的分布坐标信息为(0.92,0.77)表征着该目标元素在区域坐标为(1,1)的渲染区域的位置,该目标元素的具体位置相对坐标点(1,1)的U轴和V轴的距离分别为0.92和0.77;其中目标元素的绝对坐标为(1.92,1.77)。
其中,可以理解的是,目标元素的分布坐标信息有可能与该渲染区域内其中一像素点的像素坐标相同,也就是该目标元素的位置与渲染区域内其中一像素点的位置重合;目标元素的分布坐标信息也可能与该渲染区域内所有像素点的像素坐标均不相同,也即是该目标元素的位置与渲染区域内所有的像素点的位置均不重合。
目标元素的渲染图是对成像区域中的每个渲染区域的所有像素点的渲染结果。即使对于一个目标元素而言,也是对应渲染区域的多个像素点渲染的结果。
在上述目标元素的分布坐标信息的实施例的基础上,步骤S103可以进一步包括:
S1031、利用取小数函数获取所述渲染区域中的每个像素点的像素坐标的小数部分,确定每个像素点在所在渲染区域中的相对坐标;
S1032、根据所述渲染区域中的每个像素点的相对坐标与其目标元素的分布坐标信息的距离,控制所述渲染区域中的每个像素点的发光。
延用上述例子,利用取小数函数对像素坐标为(1.3,1.4)、(1.6,1.7)的两个像素点进行运算,确定该两个像素点在区域坐标为(1,1)的渲染区域内的相对坐标分别为(0.3,0.4)、(0.6,0.7)。
并且,将该两个像素点分别与目标元素的分布坐标信息的距离,即:
(0.3,0.4)与(0.92,0.77)的距离,以及(0.6,0.7)与(0.92,0.77)的距离。
像素点与目标元素的分布坐标信息的距离用于指示目标元素的所在位置与像素点所在位置之间的距离。
根据该距离,包括目标元素的分布坐标与该像素点在渲染区域内的相对坐标之间的距离,实现控制对应像素点的发光的效果。
进一步地,当像素点的距离小于预设值时,控制所述渲染区域中的像素点发光;否则,该像素点不发光。
同理,也可以根据像素点的距离大于预设值的对比结果,来控制渲染区域中的像素点发光情况。
在此基础上,或者还能对发光的亮度进行控制。
在本实施例中,像素点的发光亮度随着其与所在所述渲染区域的目标元素的分布坐标信息的距离的增大而减小,在该渲染区域上生成目标元素的发光渲染图。
具体地,(0.3,0.4)与(0.92,0.77)的距离比(0.6,0.7)与(0.92,0.77)的距离的大,那像素点(1.3,1.4)的发光亮度会小于像素点(1.6,1.7)的发光亮度。
同理,根据渲染需要,将像素点的发光亮度随着其与所在所述渲染区域的目标元素的分布坐标信息的距离的增大而增大也是可以的。
基于上述对像素点的是否发光和/或发光亮度进行控制的实施例,能够根据该渲染区域中的目标元素和该渲染区域中各个像素点的距离进行调节,在成像区域进行渲染,得到包括对应每个渲染区域形成发光亮度变化的目标元素的发光渲染图。该目标元素的发光渲染图,即无需如传统的渲染方法需要人工把握目标元素的渲染的亮度变化,也不会存在只是根据目标元素的轮廓将该渲染区域对应的像素点渲染至同一亮度而导致的效果不真实的情况,从而即提升了虚拟天空的渲染效率,也提升了渲染效果。
对于像素点的发光调整,还可以包括如下实施例:
像素点的发光间隔通过当前时间信息进行调节,利用发光时间函数得到每个所述像素点的发光时间,在渲染区域上生成随时间变换的目标元素的发光渲染图。
在本实施例中,将目标元素对应的渲染区域的像素点除了根据自身的位置信息以外,还根据时间的经过进行变化。具体地,可以是基于当前时间,和/或,当前时间在一天当中的时段,对目标元素的发光间隔进行控制,从而营造虚拟天空随着时间的经过发生变换的渲染效果。
可选地,该目标元素的发光时间满足的发光时间函数如下:
Light=(X1*time*cos(Y1*time))
当Light的结果大于0,对应的目标元素发光;否则,不发光;
其中,time为当前时间信息。
该当前时间信息,可以包括当前时间,或当前时间在一天当中的时段,还可进一步给每个时段分配对应的时间范围值,由此控制对应目标元素在早上和晚上不同时间中的发光间隔。
在本申请中,上述所有实施例所提到的目标元素,可以是如太阳、星星、月亮等。
以目标元素是星星为例,在一天不同时间中对应区域的星星分布是不同的。可以根据本申请所提供的虚拟天空中目标元素的生成方法,在渲染模型中形成不同的成像区域,每个成像区域根据对应的随机算法,确定其各个渲染区域中的星星的分布坐标信息。
并且,根据每个渲染区域的对应的星星的分布坐标信息与该渲染区域中的每个像素点的距离,确定组成该星星的每个像素点的是否发光,和/或,发光亮度。
进一步,对不同成像区域的星星配置对应的发光时间函数,使得对应成像区域的星星能够随着时间的经过进行发光变换。
由此,可以根据上述实施例,渲染得到根据所在虚拟天空的区域的位置,包括对应的成像区域、渲染区域和星星的分布坐标信息等信息,以及当前时间信息,包括:基于当前时间,或当前时间在一天当中的时段等信息,自动渲染得到形成一个虚拟天空的星空图。该虚拟天空的星空图的生成方法,通过每个像素点的UV坐标信息,可以对渲染的位置和图像进行控制和调整,使得对虚拟天空的渲染有规律可循,克服了如传统的人工绘制的效率低下问题,达到了降低绘制难度,提高渲染效率的目的,同时,可以更容易创造出变换丰富的渲染效果。
本申请实施例提供了一种虚拟天空中目标元素的生成装置,如图5所示,图5为本申请实施例提供的一种虚拟天空中目标元素的生成装置的结构示意图。
图5中的该虚拟天空画面的渲染装置500可以包括:坐标获取模块501、位置信息确定模块502、渲染模块503。
其中,坐标获取模块501,用于获取预设的渲染模型中的每个像素点的UV坐标信息;
位置信息确定模块502,用于根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域,在每个渲染区域确定目标元素的位置信息;
位置信息确定模块502,用于基于所述位置信息生成所述目标元素的渲染图。
可选地,位置信息确定模块502用于执行根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域时,具体用于;
根据预设倍数对所述成像区域中的每个像素点的UV坐标信息进行放大处理,得到处理后的像素坐标;
以所述像素坐标中的坐标值作为划分依据,将所述渲染区域中所有像素点划分为若干个渲染区域;其中,对应坐标轴上的坐标值的整数部分均相同的多个所述像素坐标划分为同一渲染区域;
将对应坐标轴的相同整数的坐标值作为所在所述渲染区域的区域坐标中对应坐标轴的坐标值。
可选地,位置信息确定模块502用于执行目标元素的分布坐标信息满足的预设的随机算法时,具体用于:
根据所述渲染区域的区域坐标,通过预设的随机算法对每个渲染区域中的目标元素的位置信息进行运算,得到目标元素的分布坐标信息。
可选地,位置信息确定模块502,用于执行在每个渲染区域确定目标元素的位置信息时,具体如下:
Xo=(Sin(X1)+1)/2;
Yo=(Cos(Y1)+1)/2;
其中,(Xo,Yo)为目标元素的分布坐标信息,(X1,Y1)为所述目标元素所在渲染区域的区域坐标。
可选地,渲染模块503,用于执行基于所述位置信息生成所述目标元素的渲染图时,具体用于:
利用取小数函数获取所述渲染区域中的每个像素点的像素坐标的小数部分,确定每个像素点在所在渲染区域中的相对坐标;
根据所述渲染区域中的每个像素点的相对坐标与其目标元素的分布坐标信息的距离,控制所述渲染区域中的每个像素点的发光。
可选地,渲染模块503,用于执行控制所述渲染区域中的每个像素点的发光时,具体用于:
当所述像素点的距离小于预设值时,控制所述渲染区域中的所述像素点发光;反之,则不发光;
和/或,
所述像素点的发光亮度随着其与所在所述渲染区域的目标元素的分布坐标信息的距离的增大而减小,在所述渲染区域上生成所述目标元素的发光渲染图。
可选地,渲染模块503,用于执行控制所述渲染区域中的每个像素点的发光时,具体还用于:
所述像素点的发光间隔通过当前时间信息进行调节,利用发光时间函数得到每个所述像素点的发光时间,在所述渲染区域上生成随时间变换的目标元素的发光渲染图。
可选地,渲染模块503,用于执行目标元素的发光时间满足的发光时间函数时,具体如下:
Light=(X1*time*cos(Y1*time))
当Light的结果大于0,对应的目标元素发光;否则,不发光;
其中,time为当前时间信息。
基于与本申请实施例中所示的方法相同的原理,本申请实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指令执行实施例所示的方法。与现有技术相比,本申请实施例中的电子设备能够将现有的虚拟天空的个性绘制,转化为渲染模型中成像区域对像素点的渲染,通过每个像素点的UV坐标信息,可以对渲染的位置和图像进行控制和调整,使得对虚拟天空的渲染有规律可循,从而提高了渲染效率,并降低绘制难度。
参照图6,图6为本申请一个实施例所提供的一种头戴式显示设备的画面显示的电子设备的结构示意图。
在一个可选实施例中提供了一种电子设备,如图6所示,图6所示的电子设备600包括:处理器601和存储器603。其中,处理器601和存储器603相连,如通过总线602相连。可选地,电子设备600还可以包括收发器604。需要说明的是,实际应用中收发器604不限于一个,该电子设备600的结构并不构成对本申请实施例的限定。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (11)
1.一种虚拟天空中目标元素的生成方法,其特征在于,包括:
获取预设的渲染模型中的每个像素点的UV坐标信息;
根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域,在每个渲染区域确定目标元素的位置信息;
基于所述位置信息生成所述目标元素的渲染图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域的步骤,包括;
根据预设倍数对所述成像区域中的每个像素点的UV坐标信息进行放大处理,得到处理后的像素坐标;
以所述像素坐标中的坐标值作为划分依据,将所述渲染区域中所有像素点划分为若干个渲染区域;其中,对应坐标轴上的坐标值的整数部分均相同的多个所述像素坐标划分为同一渲染区域;
将对应坐标轴的相同整数的坐标值作为所在所述渲染区域的区域坐标中对应坐标轴的坐标值。
3.根据权利要求2所述的方法,其特征在于,
所述在每个渲染区域确定目标元素的位置信息的步骤,包括:
根据所述渲染区域的区域坐标,通过预设的随机算法对每个渲染区域中的目标元素的位置信息进行运算,得到目标元素的分布坐标信息。
4.根据权利要求3所述的方法,其特征在于,
所述目标元素的分布坐标信息满足的预设的随机算法如下:
Xo=(Sin(X1)+1)/2;
Yo=(Cos(Y1)+1)/2;
其中,(Xo,Yo)为目标元素的分布坐标信息,(X1,Y1)为所述目标元素所在渲染区域的区域坐标。
5.根据权利要求3或4所述的方法,其特征在于,所述基于所述位置信息生成所述目标元素的渲染图,包括:
利用取小数函数获取所述渲染区域中的每个像素点的像素坐标的小数部分,确定每个像素点在所在渲染区域中的相对坐标;
根据所述渲染区域中的每个像素点的相对坐标与其目标元素的分布坐标信息的距离,控制所述渲染区域中的每个像素点的发光。
6.根据权利要求5所述的方法,其特征在于,
所述控制所述渲染区域中的每个像素点的发光的步骤,包括:
当所述像素点的距离小于预设值时,控制所述渲染区域中的所述像素点发光;反之,则不发光;
和/或,
所述像素点的发光亮度随着其与所在所述渲染区域的目标元素的分布坐标信息的距离的增大而减小。
7.根据权利要求5所述的方法,其特征在于,还包括:
所述像素点的发光间隔通过当前时间信息进行调节,利用发光时间函数得到每个所述像素点的发光时间,在所述渲染区域上生成随时间变换的目标元素的发光渲染图。
8.根据权利要求5所述的方法,其特征在于,
所述目标元素的发光时间满足的发光时间函数如下:
Light=(X1*time*cos(Y1*time))
当Light的结果大于0,对应的目标元素发光;否则,不发光;
其中,time为当前时间信息。
9.一种虚拟天空中目标元素的生成装置,其特征在于,包括:
坐标获取模块,用于获取预设的渲染模型中的每个像素点的UV坐标信息;
位置信息确定模块,用于根据所述UV坐标信息将所述渲染模型中的成像区域划分若干个渲染区域,在每个渲染区域确定目标元素的位置信息;
渲染模块,用于基于所述位置信息生成所述目标元素的渲染图。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1至8任一项所述的虚拟天空中目标元素的生成方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机指令,当所述计算机指令在计算机上运行时,使得计算机可以执行上述权利要求1至8中任一项所述的虚拟天空中目标元素的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111263149.5A CN113936084B (zh) | 2021-10-28 | 2021-10-28 | 一种虚拟天空中目标元素的生成方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111263149.5A CN113936084B (zh) | 2021-10-28 | 2021-10-28 | 一种虚拟天空中目标元素的生成方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113936084A true CN113936084A (zh) | 2022-01-14 |
CN113936084B CN113936084B (zh) | 2022-10-28 |
Family
ID=79284669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111263149.5A Active CN113936084B (zh) | 2021-10-28 | 2021-10-28 | 一种虚拟天空中目标元素的生成方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113936084B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6232981B1 (en) * | 1998-03-26 | 2001-05-15 | Silicon Graphics, Inc. | Method for improving texture locality for pixel quads by diagonal level-of-detail calculation |
US20050271361A1 (en) * | 2004-05-19 | 2005-12-08 | Sachiyo Aoki | Image frame processing method and device for displaying moving images to a variety of displays |
US20140152681A1 (en) * | 2012-12-04 | 2014-06-05 | Fujitsu Limited | Rendering apparatus, rendering method, and computer product |
US20150015571A1 (en) * | 2012-12-04 | 2015-01-15 | Panasonic Corporation | Divided-area-based rendering device and divided-area-based rendering method |
US20170243319A1 (en) * | 2016-02-18 | 2017-08-24 | Nvidia Corporation | Sub-frame scanout for latency reduction in virtual reality applications |
CN113077541A (zh) * | 2021-04-02 | 2021-07-06 | 广州益聚未来网络科技有限公司 | 一种虚拟天空画面的渲染方法及相关设备 |
CN113269858A (zh) * | 2021-07-19 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 虚拟场景渲染方法、装置、计算机设备和存储介质 |
-
2021
- 2021-10-28 CN CN202111263149.5A patent/CN113936084B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6232981B1 (en) * | 1998-03-26 | 2001-05-15 | Silicon Graphics, Inc. | Method for improving texture locality for pixel quads by diagonal level-of-detail calculation |
US20050271361A1 (en) * | 2004-05-19 | 2005-12-08 | Sachiyo Aoki | Image frame processing method and device for displaying moving images to a variety of displays |
US20140152681A1 (en) * | 2012-12-04 | 2014-06-05 | Fujitsu Limited | Rendering apparatus, rendering method, and computer product |
US20150015571A1 (en) * | 2012-12-04 | 2015-01-15 | Panasonic Corporation | Divided-area-based rendering device and divided-area-based rendering method |
US20170243319A1 (en) * | 2016-02-18 | 2017-08-24 | Nvidia Corporation | Sub-frame scanout for latency reduction in virtual reality applications |
CN113077541A (zh) * | 2021-04-02 | 2021-07-06 | 广州益聚未来网络科技有限公司 | 一种虚拟天空画面的渲染方法及相关设备 |
CN113269858A (zh) * | 2021-07-19 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 虚拟场景渲染方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
张磊著: "《协作保护位置隐私》", 31 August 2018 * |
Also Published As
Publication number | Publication date |
---|---|
CN113936084B (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9652880B2 (en) | 2D animation from a 3D mesh | |
CN106558017B (zh) | 球形显示图像处理方法及系统 | |
US9224233B2 (en) | Blending 3D model textures by image projection | |
CN112138386A (zh) | 一种体积渲染方法、装置、存储介质及计算机设备 | |
US20200118253A1 (en) | Environment map generation and hole filling | |
WO2023207963A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US20170287201A1 (en) | Texture generation system | |
CN111899323B (zh) | 三维地球的绘制方法及装置 | |
CN102819855A (zh) | 二维图像的生成方法及装置 | |
CN110917617A (zh) | 水波纹图像的生成方法、装置、设备及存储介质 | |
CN114693856B (zh) | 对象生成方法、装置、计算机设备和存储介质 | |
CN113593027A (zh) | 一种三维航电显控界面装置 | |
CN114375464A (zh) | 使用边界体积表示对虚拟空间中的动态单元进行光线追踪 | |
CN113936084B (zh) | 一种虚拟天空中目标元素的生成方法及相关设备 | |
CN113034661A (zh) | 一种MatCap贴图生成的方法及装置 | |
CN112734900A (zh) | 阴影贴图的烘焙方法、装置、设备及计算机可读存储介质 | |
CN110038302B (zh) | 基于Unity3D的网格生成方法及装置 | |
CN112115226A (zh) | 地图渲染方法和地图渲染装置 | |
US10275939B2 (en) | Determining two-dimensional images using three-dimensional models | |
CN113516751B (zh) | 游戏中云的显示方法、装置以及电子终端 | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
CN114596403A (zh) | 图像处理方法、装置、存储介质及终端 | |
CN111599011A (zh) | 基于WebGL技术的电力系统场景快速构建方法及系统 | |
CN113592999B (zh) | 一种虚拟发光体的渲染方法及相关设备 | |
CN117695633B (zh) | 基于游戏引擎与gis三维引擎的同步匹配方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |