CN109925715A - 一种虚拟水域生成方法、装置及终端 - Google Patents
一种虚拟水域生成方法、装置及终端 Download PDFInfo
- Publication number
- CN109925715A CN109925715A CN201910084328.9A CN201910084328A CN109925715A CN 109925715 A CN109925715 A CN 109925715A CN 201910084328 A CN201910084328 A CN 201910084328A CN 109925715 A CN109925715 A CN 109925715A
- Authority
- CN
- China
- Prior art keywords
- virtual
- waters
- editor
- data
- painting canvas
- 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
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种虚拟水域生成方法、装置及终端,属于计算机图形学技术领域,其中,虚拟水域生成方法包括:获取当前画布帧的编辑数据;将所述当前画布帧的编辑数据写入非空闲状态的缓存空间;所述非空闲状态的缓存空间中存储有历史画布帧的编辑数据;根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图;根据所述点阵图,生成所述虚拟水域的网格模型;渲染所述虚拟水域的网格模型,得到所述虚拟水域。本发明可以直接在Unity3D的编辑器中进行虚拟水域的模型构建以及虚拟水域的生成,省去了在第三方建模软件中独自拉面片建模再导入游戏场景的步骤,极大的减少了游戏制作过程中的工作量、提高了游戏制作的灵活性和效率。
Description
技术领域
本发明涉及计算机图形学技术领域,特别涉及一种虚拟水域生成方法、装置及终端。
背景技术
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
大多数3D游戏场景中都会出现虚拟水域,由于现有技术中的Unity3D没有创建三维模型的功能,因此,在生成3D游戏场景中的虚拟水域时,一般会先根据游戏场景中的地貌、建筑布局等要素,结合场景原图在第三方建模软件,如3DsMax或Maya中制作虚拟水域的三维模型,然后将该虚拟水域的三维模型导入到Unity3D的编辑器中,再放置在游戏场景中对应的位置才能实现。
在实现本发明的过程中,发明人发现现有技术中至少存在以下缺陷:
相关技术中,一旦3D游戏场景稍稍改动,虚拟水域的三维模型就必须在第三方建模软件中重建,再将重建的模型重新导入到Unity3D的编辑器中。而一般3D游戏开发初期其场景变动的可能性非常大,对于拥有较多虚拟水域的场景,现有的构建虚拟水域的方法不仅过程复杂、灵活性差,而且工作量大、效率低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种虚拟水域生成方法、装置及终端。所述技术方案如下:
一方面,提供了一种虚拟水域生成方法,所述方法包括:
获取当前画布帧的编辑数据;
将所述当前画布帧的编辑数据写入非空闲状态的缓存空间;所述非空闲状态的缓存空间中存储有历史画布帧的编辑数据;
根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图;
根据所述点阵图,生成所述虚拟水域的网格模型;
渲染所述虚拟水域的网格模型,得到所述虚拟水域。
另一方面,提供了一种虚拟水域生成装置,所述装置包括:
获取模块,用于获取当前画布帧的编辑数据;
第一写入模块,用于将所述当前画布帧的编辑数据写入非空闲状态的缓存空间;所述非空闲状态的缓存空间中存储有历史画布帧的编辑数据;
第一生成模块,用于根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图;
第二生成模块,用于根据所述点阵图,生成所述虚拟水域的网格模型;
渲染模块,用于渲染所述虚拟水域的网格模型,得到所述虚拟水域。
另一方面,提供了一种终端,包括:
处理器,适于实现一条或一条以上指令;以及,
存储器,所述存储器存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行上述所述的虚拟水域生成方法。
另一方面,提供了一种计算机存储介质,该计算机存储介质存储有计算机程序指令,该计算机程序指令被执行时,实现上述所述的虚拟水域生成方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例通过获取当前画布帧的编辑数据,将所述当前画布帧的编辑数据写入非空闲状态的缓存空间,该非空闲状态的缓存空间中存储有历史画布帧的编辑数据,根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图,根据所述点阵图,生成所述虚拟水域的网格模型,渲染所述虚拟水域的网格模型,得到所述虚拟水域,从而可以直接在Unity3D的编辑器中进行虚拟水域的模型构建以及虚拟水域的生成,省去了在第三方建模软件中独自拉面片建模再导入Unity3D游戏场景的步骤,极大的减少了游戏制作过程中美术的工作量、提高了游戏制作的灵活性和效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种虚拟水域生成方法的流程示意图;
图2是本发明实施例提供的另一种虚拟水域生成方法的流程示意图;
图3(a)是本发明实施例提供的位图的示意图;图3(b)是本发明实施例提供的与图3(a)的位图对应的点阵图的示意图;图3(c)是本发明实施例提供的与图3(b)的点阵图对应的虚拟水域的网格模型的示意图;
图4是本发明实施例提供的根据位图生成点阵图的一种方法流程示意图;
图5(a)是本发明实施例提供的一种待生成虚拟水域的场景示意图;图5(b)是本发明实施例提供的虚拟水域生成过程的一个示意图;图5(c)是本发明实施例提供的生成的虚拟水域的一个示意图;
图6是本发明实施例提供的一种虚拟水域生成装置的结构示意图;
图7是本发明实施例提供的另一种虚拟水域生成装置的结构示意图;
图8是本发明实施例提供的第一生成模块的结构示意图;
图9是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其所示为本发明实施例提供的一种虚拟水域生成方法的流程示意图。需要说明的是,本发明实施例的虚拟水域生成方法可应用于本发明实施例的虚拟水域生成装置,该虚拟水域生成装置可配置于终端中的Unity3D编辑器,其中,该终端可以是手机、平板电脑、掌上电脑及个人数字助理等具有各种操作***的硬件设备。
此外,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图1所示,所述方法包括:
S101,获取当前画布帧的编辑数据。
在本说明书实施例中,Unity3D的编辑器可以提供用于对3D游戏场景中虚拟水域进行编辑的编辑工具,该编辑工具可以是但不限于画笔、刷子、滴管等。
当用户通过Unity3D的编辑器(以下简称为编辑器)进行3D游戏场景中的虚拟水域的制作时,可以通过输入工具如鼠标的点击等方式来激活上述编辑工具,然后在目标场景的画布中移动编辑工具以进行虚拟水域的生成操作。当编辑工具在目标场景的画布中移动时,编辑器可以获取当前画布帧的编辑数据。
需要说明的是,当编辑工具被激活之后,用户可以对编辑工具的参数信息进行设置,例如可以设置编辑工具的大小、编辑工具的流量、分辨率等参数。所述当前画布帧的编辑数据可以包括编辑工具在当前画布帧的参数信息以及所述编辑工具与画布的交点位置信息。
S103,将所述当前画布帧的编辑数据写入非空闲状态的缓存空间;所述非空闲状态的缓存空间中存储有历史画布帧的编辑数据。
在本说明书实施例中,如图2所示,编辑器在获取当前画布帧的编辑数据之前,可以响应于用户发起的虚拟水域生成请求,创建至少两个缓存空间,所述缓存空间的状态包括空闲状态和非空闲状态。所述空闲状态表示缓存空间为空,没有数据的存储;所述非空闲状态表示缓存空间不为空,存储有数据,具体的,非空闲状态的缓存空间中存储有历史画布帧的编辑数据,即非空闲状态的缓存空间中存储有当前画布帧之前的所有画布帧的编辑数据。
S105,根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图。
所述点阵图表示水面顶点网格的分布情况,具体的,如图2所示,可以根据非空闲状态的缓存空间中所有画布帧的编辑数据生成位图,然后根据所述位图生成所述点阵图。
在一个具体实施方式中,所述画布帧的编辑数据包括各画布帧对应的编辑工具的参数信息以及所述编辑工具与画布的交点位置信息。其中,编辑工具的参数信息为预先设置的编辑工具在各画布帧的参数信息,例如可以包括编辑工具的大小、编辑工具的流量、分辨率等参数信息。编辑工具与画布的交点位置信息可以为交点在画布中的位置坐标。相应的,所述根据所述非空闲状态的缓存空间中所有画布帧的编辑数据生成位图包括:根据所述编辑工具的参数信息以及交点位置信息进行像素的填充,生成所述位图。
具体的,可以将编辑工具的参数信息以及交点位置信息传入GPU(GraphicProcessing Unit,图形处理器)的着色器,由GPU的着色器根据编辑工具的参数信息以及交点位置信息进行对应像素的填充以生成位图,然后将该位图写入非空闲状态的缓存空间。当然,也可以将编辑工具的参数信息以及交点位置信息传入CPU(CentralProcessing Unit,中央处理器),由CPU进行位图的生成,本发明对此不作具体限定。
为了实现后续生成的虚拟水域的边界得到精确控制,以达到与周边场景的自然衔接,在本说明书实施例中,编辑工具的参数信息可以包括羽化值。相应的,在根据所述编辑工具的参数信息以及交点位置信息进行像素的填充,生成所述位图时,可以根据羽化值和交点位置信息,确定所述羽化区域和非羽化区域,然后向所述羽化区域和非羽化区域分别填充不同颜色值的像素点,得到所述位图。例如,可以向羽化区域填充灰色的像素点,向非羽化区域填充白色的像素点,如图3a所示的位图的示意图。
在本说明书实施例中,所述根据位图生成点阵图可以采用图4所示的方法,如图4所示,该方法可以包括:
S401,根据位图中的像素点的颜色值,确定位图中的羽化区域和非羽化区域。
例如,将填充了灰色的像素点的区域确定为羽化区域,将填充了白色的像素点的区域确定为非羽化区域。
S403,按照第一点阵密度值,生成所述羽化区域对应的第一点阵区域;按照第二点阵密度值,生成所述非羽化区域对应的第二点阵区域;其中,所述第一点阵密度值大于所述第二点阵密度值。
S405,根据所述第一点阵区域和第二点阵区域,生成点阵图。
如此,生成的点阵图中边缘的羽化区域具有较高密度的点,而非羽化区域中的点的密度相对较低,如图3b所示的点阵图的示意图,从而可以确保后续基于该点阵图生成的网格模型的顶点包含更多所需的顶点数据信息,有利于实现自然衔接的效果。
为了实现对于连续画布帧的处理,避免报错并提高处理效率,在本说明书实施例中,将针对非空闲状态的缓存空间的写入操作与读取操作分开,如图2所示,在根据非空闲状态的缓存空间中所有画布帧的编辑数据生成位图之后,可以将所述非空闲状态的缓存空间中所有画布帧的编辑数据写入空闲状态的缓存空间,并变更所述非空闲状态的缓存空间为空闲状态的缓存空间,即在将非空闲状态的缓存空间中所有画布帧的编辑数据复制到空闲状态的缓存空间之后,可以清空该非空闲状态的缓存空间以使得其转换为空闲状态的缓存空间。
S107,根据所述点阵图,生成所述虚拟水域的网格模型。
在本说明书实施例总,可以采用预设三角剖分的算法对所述点阵图进行处理,以生成虚拟水域的三角网格模型。
三角剖分的定义为:假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段,E为e的集合。那么该点集V的一个三角剖分T=(V,E)是一个平面图G,该平面图满足条件:(1)除了端点,平面图中的边不包含点集中的任何点;(2)没有相交边;(3)平面图中所有的面都是三角面,且所有三角面的合集是散点集V的凸包。
具体的,预设三角剖分的算法可以为形成规则三角网格结构的算法,如图3c所示为采用形成规则三角网格结构的算法生成的虚拟水域的三角网格模型的示意图。当然,预设三角剖分的算法也可以为形成不规则三角网格结构的算法。对于形成不规则三角网格结构的算法可以为德劳内(Delaunay)三角剖分的算法,采用Delaunay三角剖分的算法得到的三角网格模型中顶点的分布会更加均匀,有利于消除生成的虚拟水域边缘的锯齿。
具体的,假设E中的一条边e(两个端点为a,b),e若满足下列条件:存在一个圆经过a,b两点,圆内不含点集V中任何其他的点,则称e为Delaunay边。如果点集V的一个三角剖分T只包含Delaunay边,那么该三角剖分称为Delaunay三角剖分。实现Delaunay三角剖分的算法可以包括但不限于翻边算法、逐点***算法、分割合并算法、Bowyer-Watson算法等。
S109,渲染所述虚拟水域的网格模型,得到所述虚拟水域。
具体的,可以获取虚拟水域的网格模型中各顶点的顶点数据,得到顶点数据集并将该顶点数据集作为输入传递给顶点着色器(Vertex Shader),在顶点着色器中处理这些数据,然后,由图形处理器将顶点着色器的输出数据组装为三角形,并对这些三角形进行适当地裁剪,以适应用户视域(viewport),再由光栅化单元对裁剪后的三角形进行处理,得到片段(Fragments)数据。片段数据是一种简单的数据格式,每一个片段数据包含一个三角形在屏幕上能显示的所有像素,片段数据中的数据内容通常由顶点着色器决定。事实上,顶点着色器可以将顶点属性参数作为自己的输出。光栅化单元负责将顶点着色器输出的顶点数据在三角形上进行颜色插值(interpolate),使片段数据上的每个像素都得到正确的属性值。此后,这些插值后未经处理的片段数据被传输给片段着色器(fragmentshader),由片段着色器确定并输出片段数据上的每个像素的最终颜色,这样,即完成了渲染的目的。
需要说明的是,除了片段着色器接收的片段数据外,还可以将一些预存的纹理数据传递给片段着色器,供片段着色器取样。
为了更加清楚的说明本发明实施例的技术方案,下面以编辑工具为笔刷,缓存空间为Render Texture(渲染纹理,以下简称为RT)为例对本发明的虚拟水域生成方法进行阐述,可以理解的,以下实例并不对本发明构成限定。
如图5(a)所示的池塘场景中,需要在该池塘中刷出一块虚拟水域,用户可以在编辑器中水的控制面板开启笔刷的功能,并可以同时对笔刷的参数进行设置,该笔刷的参数可以包括笔刷的大小、羽化值等。与此同时,编辑器会响应于虚拟水域生成请求,创建两个相同大小的RT,分别为RT1和RT2。该示例中是在池塘中新建一块虚拟水域,因此,RT1和RT2在开始之前均为空闲状态,此时可以假设RT1和RT2中的任意一个为非空闲状态,例如将RT1指定为非空闲状态,在这之后则是根据RT1和RT2中实际的数据存储情况确定各自是空闲状态还是非空闲状态。若当前是在已有虚拟水域的基础上进行的修改,则编辑器会获取已有虚拟水域的编辑数据,并将该虚拟水域的编辑数据写入到RT1或者RT2中,被写入了编辑数据的RT则为非空闲状态。
这之后,屏幕中的鼠标会变成一块蓝色光标,如图5(b)所示,其蓝色的范围表示刷子的范围,当然,范围的大小是可以随时调节的。通过按住鼠标左键不放拖动鼠标,便可在想要有水的区域刷出虚拟水域,如图5(c)所示。下面以前三帧为例来说明虚拟水域的刷出过程。
在刷第一帧时,编辑器获取第一画布帧的编辑数据(笔刷的参数信息以及笔刷与画布的交点位置信息),并将获取的第一画布帧的编辑数据写入RT1,该RT1中的编辑数据传入GPU的着色器中处理,得到对应的第一位图,该第一位图被写入到RT1中。编辑器根据RT1中的第一位图生成第一点阵图,根据第一点阵图生成第一虚拟水域网格模型,通过对该第一虚拟水域网格模型进行渲染,得到当前的虚拟水域。此外,编辑器在根据RT1中的第一位图生成第一点阵图之后,将RT1中的编辑数据写入到RT2中,并清空RT1。
在刷第二帧时,编辑器获取第二画布帧的编辑数据,并将获取的第二画布帧的编辑数据写入RT2,该RT2中的所有编辑数据(包括第一画布帧和第二画布帧)传入GPU的着色器中处理,得到对应的第二位图,该第二位图被写入到RT2中。编辑器根据RT2中的第二位图生成第二点阵图,根据第二点阵图生成第二虚拟水域网格模型,通过对该第二虚拟水域网格模型进行渲染,得到当前的虚拟水域。此外,编辑器在根据RT2中的第二位图生成第二点阵图之后,将RT2中的编辑数据写入到RT1中,并清空RT2。
在刷第三帧时,编辑器获取第三画布帧的编辑数据,并将获取的第三画布帧的编辑数据写入RT1,该RT1中的所有编辑数据(包括第一画布帧、第二画布帧和第三画布帧)传入GPU的着色器中处理,得到对应的第三位图,该第三位图被写入到RT1中。编辑器根据RT1中的第三位图生成第三点阵图,根据第三点阵图生成第三虚拟水域网格模型,通过对该第三虚拟水域网格模型进行渲染,得到当前的虚拟水域。此外,编辑器在根据RT1中的第三位图生成第三点阵图之后,将RT1中的编辑数据写入到RT2中,并清空RT1。在刷后续帧时,以此类推,在此不再赘述。
综上,本发明实施例通过获取当前画布帧的编辑数据,将所述当前画布帧的编辑数据写入非空闲状态的缓存空间,该非空闲状态的缓存空间中存储有历史画布帧的编辑数据,根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图,根据所述点阵图,生成所述虚拟水域的网格模型,渲染所述虚拟水域的网格模型,得到所述虚拟水域,从而可以直接在Unity3D的编辑器中进行虚拟水域的模型构建以及虚拟水域的生成,省去了在第三方建模软件中独自拉面片建模再导入游戏场景的步骤,极大的减少了游戏制作过程中美术的工作量、提高了游戏制作的灵活性和效率。
此外,由于本发明实施例直接在Unity3D中制作虚拟水域,该虚拟水域的效果是所见即所得,方便了制作者对于虚拟水域的修改,提高了制作效率。并且无需对Unity3D的编辑器的结构进行复杂的改动,易于推广实施。
与上述几种实施例提供的虚拟水域生成方法相对应,本发明实施例还提供一种虚拟水域生成装置,由于本发明实施例提供的虚拟水域生成装置与上述几种实施例提供的虚拟水域生成方法相对应,因此前述虚拟水域生成方法的实施方式也适用于本实施例提供的虚拟水域生成装置,在本实施例中不再详细描述。
请参阅图6,其所示为本发明实施例提供的一种虚拟水域生成装置的结构示意图,如图6所示,该装置可以包括:获取模块610、第一写入模块620、第一生成模块630、第二生成模块640和渲染模块650,其中,
获取模块610,用于获取当前画布帧的编辑数据;
第一写入模块620,用于将所述当前画布帧的编辑数据写入非空闲状态的缓存空间;所述非空闲状态的缓存空间中存储有历史画布帧的编辑数据;
第一生成模块630,用于根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图;
第二生成模块640,用于根据所述点阵图,生成所述虚拟水域的网格模型;
渲染模块650,用于渲染所述虚拟水域的网格模型,得到所述虚拟水域。
请参阅图7,其所示为本发明实施例提供的另一种虚拟水域生成装置的结构示意图,如图7所示,该装置可以包括:创建模块660、获取模块610、第一写入模块620、第一生成模块630、第二生成模块640、渲染模块650、第二写入模块670和变更模块680。其中,获取模块610、第一写入模块620、第一生成模块630、第二生成模块640和渲染模块650可以参见前述图6所示的装置实施例,在此不再赘述,其中,
创建模块660,用于响应于虚拟水域生成请求,创建至少两个缓存空间,所述缓存空间的状态包括空闲状态和非空闲状态。
第二写入模块670,用于将所述非空闲状态的缓存空间中所有画布帧的编辑数据写入空闲状态的缓存空间。
变更模块680,用于变更所述非空闲状态的缓存空间为空闲状态的缓存空间。
可选的,如图8所示,第一生成模块630可以包括:
第一生成子模块6310,用于根据所述非空闲状态的缓存空间中所有画布帧的编辑数据生成位图;
第二生成子模块6320,根据所述位图生成点阵图。
在一具体实施例中,所述画布帧的编辑数据包括编辑工具的参数信息以及所述编辑工具与画布的交点位置信息;相应的,所述第一生成子模块6310具体用于根据所述编辑工具的参数信息以及交点位置信息进行像素的填充,生成所述位图。
可选的,所述编辑工具的参数信息包括羽化值,相应的,如图8所示,第一生成子模块6310可以包括:
第一确定模块6311,用于根据所述羽化值和交点位置信息,确定羽化区域和非羽化区域;
像素填充模块6312,用于向所述羽化区域和非羽化区域分别填充不同颜色值的像素点,得到所述位图。
在另一具体实施例中,如图8所示,第二生成子模块6320可以包括:
第二确定模块6321,用于根据位图中的像素点的颜色值,确定位图中的羽化区域和非羽化区域;
点阵区域生成模块6322,用于按照第一点阵密度值,生成所述羽化区域对应的第一点阵区域;按照第二点阵密度值,生成所述非羽化区域对应的第二点阵区域;其中,所述第一点阵密度值大于所述第二点阵密度值。
点阵图生成模块6323,用于根据所述第一点阵区域和第二点阵区域,生成点阵图。
在另一具体实施例中,第二生成模块640可以采用预设三角剖分的算法对所述点阵图进行处理,生成所述虚拟水域的三角网格模型。
本发明实施例的虚拟水域生成装置可以直接在Unity3D的编辑器中进行虚拟水域的模型构建以及虚拟水域的生成,省去了在第三方建模软件中独自拉面片建模再导入游戏场景的步骤,极大的减少了游戏制作过程中美术的工作量、提高了游戏制作的灵活性和效率。
此外,由于本发明实施例直接在Unity3D中制作虚拟水域,该虚拟水域的效果是所见即所得,方便了制作者对于虚拟水域的修改,提高了制作效率。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
请参阅图9,其所示为本发明实施例提供的一种终端的结构示意图,该终端用于实施上述实施例中提供的虚拟水域生成方法。具体来讲:
终端900可以包括RF(Radio Frequency,射频)电路910、包括有一个或一个以上计算机可读存储介质的存储器920、输入单元930、显示单元940、视频传感器950、音频电路960、WiFi(wireless fidelity,无线保真)模块970、包括有一个或者一个以上处理核心的处理器980、以及电源90等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器980处理;另外,将涉及上行的数据发送给基站。通常,RF电路910包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯***)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端900的使用所创建的数据(比如视频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器920还可以包括存储器控制器,以提供处理器980和输入单元930对存储器920的访问。
输入单元930可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元930可包括图像输入设备931以及其他输入设备932。图像输入设备931可以是摄像头,也可以是光电扫描设备。除了图像输入设备931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元940可包括显示面板941,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板941。
终端900可包括至少一种视频传感器950,视频传感器用于获取用户的视频信息。终端900还可以包括其它传感器(未示出),比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在终端900移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
视频电路960、扬声器961,传声器962可提供用户与终端900之间的视频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路911以发送给比如另一终端,或者将音频数据输出至存储器920以便进一步处理。音频电路960还可能包括耳塞插孔,以提供外设耳机与终端900的通信。
WiFi属于短距离无线传输技术,终端900通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器980是终端900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行终端900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理核心;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
终端900还包括给各个部件供电的电源90(比如电池),优选的,电源可以通过电源管理***与处理器980逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源90还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端900还可以包括蓝牙模块等,在此不再赘述。
具体在本实施例中,终端900还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述方法实施例提供的虚拟水域生成方法的指令。
本发明的实施例还提供了一种存储介质,所述存储介质可设置于终端之中以保存用于实现方法实施例中的一种虚拟水域生成方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集可由终端的处理器加载并执行以实现上述方法实施例提供的虚拟水域生成方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种虚拟水域生成方法,其特征在于,所述方法包括:
获取当前画布帧的编辑数据;
将所述当前画布帧的编辑数据写入非空闲状态的缓存空间;所述非空闲状态的缓存空间中存储有历史画布帧的编辑数据;
根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图;
根据所述点阵图,生成所述虚拟水域的网格模型;
渲染所述虚拟水域的网格模型,得到所述虚拟水域。
2.根据权利要求1所述的虚拟水域生成方法,其特征在于,在获取当前画布帧的编辑数据之前,所述方法还包括:
响应于虚拟水域生成请求,创建至少两个缓存空间,所述缓存空间的状态包括空闲状态和非空闲状态。
3.根据权利要求1所述的虚拟水域生成方法,其特征在于,所述根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图包括:
根据所述非空闲状态的缓存空间中所有画布帧的编辑数据生成位图;
根据所述位图生成所述点阵图。
4.根据权利要求3所述的虚拟水域生成方法,其特征在于,在根据所述非空闲状态的缓存空间中所有画布帧的编辑数据生成位图之后,所述方法还包括:
将所述非空闲状态的缓存空间中所有画布帧的编辑数据写入空闲状态的缓存空间;
变更所述非空闲状态的缓存空间为空闲状态的缓存空间。
5.根据权利要求3所述的虚拟水域生成方法,其特征在于,所述画布帧的编辑数据包括编辑工具的参数信息以及所述编辑工具与画布的交点位置信息;
相应的,所述根据所述非空闲状态的缓存空间中所有画布帧的编辑数据生成位图包括:根据所述编辑工具的参数信息以及交点位置信息进行像素的填充,生成所述位图。
6.根据权利要求5所述的虚拟水域生成方法,其特征在于,所述编辑工具的参数信息包括羽化值,
相应的,所述根据所述编辑工具的参数信息以及交点位置信息进行像素的填充,生成所述位图包括:
根据所述羽化值和交点位置信息,确定羽化区域和非羽化区域;
向所述羽化区域和非羽化区域分别填充不同颜色值的像素点,得到所述位图。
7.根据权利要求6所述的虚拟水域生成方法,其特征在于,所述根据所述位图生成所述点阵图包括:
根据位图中的像素点的颜色值,确定位图中的羽化区域和非羽化区域;
按照第一点阵密度值,生成所述羽化区域对应的第一点阵区域;
按照第二点阵密度值,生成所述非羽化区域对应的第二点阵区域;
根据所述第一点阵区域和第二点阵区域,生成点阵图;
其中,所述第一点阵密度值大于所述第二点阵密度值。
8.根据权利要求1所述的虚拟水域生成方法,其特征在于,所述根据所述点阵图,生成所述虚拟水域的网格模型包括:
采用预设三角剖分的算法对所述点阵图进行处理,生成所述虚拟水域的三角网格模型。
9.一种虚拟水域生成装置,其特征在于,所述装置包括:
获取模块,用于获取当前画布帧的编辑数据;
第一写入模块,用于将所述当前画布帧的编辑数据写入非空闲状态的缓存空间;所述非空闲状态的缓存空间中存储有历史画布帧的编辑数据;
第一生成模块,用于根据所述非空闲状态的缓存空间中所有画布帧的编辑数据,生成点阵图;
第二生成模块,用于根据所述点阵图,生成所述虚拟水域的网格模型;
渲染模块,用于渲染所述虚拟水域的网格模型,得到所述虚拟水域。
10.一种终端,其特征在于,包括:
处理器,适于实现一条或一条以上指令;以及,
存储器,所述存储器存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如权利要求1-8任一项所述的虚拟水域生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910084328.9A CN109925715B (zh) | 2019-01-29 | 2019-01-29 | 一种虚拟水域生成方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910084328.9A CN109925715B (zh) | 2019-01-29 | 2019-01-29 | 一种虚拟水域生成方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109925715A true CN109925715A (zh) | 2019-06-25 |
CN109925715B CN109925715B (zh) | 2021-11-16 |
Family
ID=66985272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910084328.9A Active CN109925715B (zh) | 2019-01-29 | 2019-01-29 | 一种虚拟水域生成方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109925715B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110827407A (zh) * | 2019-10-29 | 2020-02-21 | 广州西山居世游网络科技有限公司 | 一种自动输出网格资源三角形合适度的方法和*** |
CN113426131A (zh) * | 2021-07-02 | 2021-09-24 | 腾讯科技(成都)有限公司 | 虚拟场景的画面生成方法、装置、计算机设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620740A (zh) * | 2008-06-30 | 2010-01-06 | 北京壁虎科技有限公司 | 交互信息生成方法及*** |
CN102044089A (zh) * | 2010-09-20 | 2011-05-04 | 董福田 | 一种三维模型的自适应化简、渐进传输和快速绘制的方法 |
CN102682472A (zh) * | 2012-05-07 | 2012-09-19 | 电子科技大学 | 一种粒子特效的可视化合成***与方法 |
CN102930564A (zh) * | 2011-09-08 | 2013-02-13 | 微软公司 | 视觉着色器设计器 |
KR20130035485A (ko) * | 2011-09-30 | 2013-04-09 | (주)시지웨이브 | 3차원 가상현실 동영상 편집시스템 및 편집방법 |
CN105279253A (zh) * | 2015-10-13 | 2016-01-27 | 上海联彤网络通讯技术有限公司 | 提升网页画布渲染速度的***及方法 |
CN106952329A (zh) * | 2017-02-21 | 2017-07-14 | 长沙趣动文化科技有限公司 | 基于Unity3D与NGUI的粒子特效编辑方法及*** |
CN106971414A (zh) * | 2017-03-10 | 2017-07-21 | 江西省杜达菲科技有限责任公司 | 一种基于深度循环神经网络算法的三维动画生成方法 |
CN107256207A (zh) * | 2012-09-26 | 2017-10-17 | Sk 普兰尼特有限公司 | 用于生成3d对象的设备和方法 |
CN108989869A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 视频画面播放方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-01-29 CN CN201910084328.9A patent/CN109925715B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620740A (zh) * | 2008-06-30 | 2010-01-06 | 北京壁虎科技有限公司 | 交互信息生成方法及*** |
CN102044089A (zh) * | 2010-09-20 | 2011-05-04 | 董福田 | 一种三维模型的自适应化简、渐进传输和快速绘制的方法 |
CN102930564A (zh) * | 2011-09-08 | 2013-02-13 | 微软公司 | 视觉着色器设计器 |
KR20130035485A (ko) * | 2011-09-30 | 2013-04-09 | (주)시지웨이브 | 3차원 가상현실 동영상 편집시스템 및 편집방법 |
CN102682472A (zh) * | 2012-05-07 | 2012-09-19 | 电子科技大学 | 一种粒子特效的可视化合成***与方法 |
CN107256207A (zh) * | 2012-09-26 | 2017-10-17 | Sk 普兰尼特有限公司 | 用于生成3d对象的设备和方法 |
CN105279253A (zh) * | 2015-10-13 | 2016-01-27 | 上海联彤网络通讯技术有限公司 | 提升网页画布渲染速度的***及方法 |
CN106952329A (zh) * | 2017-02-21 | 2017-07-14 | 长沙趣动文化科技有限公司 | 基于Unity3D与NGUI的粒子特效编辑方法及*** |
CN106971414A (zh) * | 2017-03-10 | 2017-07-21 | 江西省杜达菲科技有限责任公司 | 一种基于深度循环神经网络算法的三维动画生成方法 |
CN108989869A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 视频画面播放方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (5)
Title |
---|
中国地球物理学会: "《中国地球物理2007》", 30 September 2007, 北京:中国海洋大学出版社 * |
怡丹科技工作室: "《中文版Photoshop CS经典实例制作》", 30 September 2004, 成都:电子科技大学出版社 * |
林鹏等: "《PC游戏编程 入门篇》", 30 April 2002, 重庆:重庆大学出版社 * |
王红卫: "《全视频!Photoshop CS6图像处理专家》", 28 February 2013, 北京:中国铁道出版社 * |
谢宾: "小型 2D 游戏引擎设计和实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110827407A (zh) * | 2019-10-29 | 2020-02-21 | 广州西山居世游网络科技有限公司 | 一种自动输出网格资源三角形合适度的方法和*** |
CN110827407B (zh) * | 2019-10-29 | 2023-08-29 | 广州西山居网络科技有限公司 | 一种自动输出网格资源三角形合适度的方法和*** |
CN113426131A (zh) * | 2021-07-02 | 2021-09-24 | 腾讯科技(成都)有限公司 | 虚拟场景的画面生成方法、装置、计算机设备及存储介质 |
CN113426131B (zh) * | 2021-07-02 | 2023-06-30 | 腾讯科技(成都)有限公司 | 虚拟场景的画面生成方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109925715B (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103946789B (zh) | 图形处理单元中的再现模式选择 | |
ES2660434T3 (es) | Sistema y procedimiento para proporcionar una canalización de gráficos mejorada | |
CN109389664B (zh) | 模型贴图渲染方法、装置及终端 | |
CN106796734A (zh) | 针对数据可视化的性能优化 | |
Boubekeur et al. | A flexible kernel for adaptive mesh refinement on GPU | |
CN113034656B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
US20230120253A1 (en) | Method and apparatus for generating virtual character, electronic device and readable storage medium | |
CN111445563B (zh) | 一种图像生成的方法以及相关装置 | |
Bowers et al. | A ray tracing approach to diffusion curves | |
CN109925715A (zh) | 一种虚拟水域生成方法、装置及终端 | |
CN108888954A (zh) | 一种拾取坐标的方法、装置、设备及存储介质 | |
US7474928B2 (en) | Hybrid vector/raster based paint | |
CN117408004A (zh) | 一种基于矢量切片技术实现三维管网动态建模方法及*** | |
CN110502305B (zh) | 一种动态界面的实现方法、装置及相关设备 | |
CN116206006A (zh) | 一种基于ue渲染引擎的卡风格直接光照效果渲染方法 | |
CN110245206A (zh) | 地图样式的获取方法、装置、服务器、终端及存储介质 | |
CN116485980A (zh) | 一种虚拟对象的渲染方法、装置、设备以及存储介质 | |
CN111275806A (zh) | 一种基于点的并行化实时渲染***及方法 | |
CN109816761A (zh) | 图形转换方法、装置、存储介质和电子设备 | |
US20220206676A1 (en) | Modifying drawing characteristics of digital raster images utilizing stroke properties | |
CN110827400B (zh) | 三维场景中对象的模型生成方法、装置以及终端 | |
CN114820968A (zh) | 三维可视化方法和装置、机器人、电子设备和存储介质 | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
CN117893663B (zh) | 基于WebGPU的Web图形渲染性能优化方法 | |
CN117112950B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |