CN117132700A - 虚拟植物渲染方法、装置、设备、存储介质和产品 - Google Patents
虚拟植物渲染方法、装置、设备、存储介质和产品 Download PDFInfo
- Publication number
- CN117132700A CN117132700A CN202210544493.XA CN202210544493A CN117132700A CN 117132700 A CN117132700 A CN 117132700A CN 202210544493 A CN202210544493 A CN 202210544493A CN 117132700 A CN117132700 A CN 117132700A
- Authority
- CN
- China
- Prior art keywords
- area
- virtual
- coordinate
- target
- coordinate movement
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000033001 locomotion Effects 0.000 claims abstract description 172
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 16
- 239000000463 material Substances 0.000 claims description 9
- 230000006870 function Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 239000002699 waste material Substances 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
-
- 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
- G06T15/80—Shading
- G06T15/83—Phong shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种虚拟植物渲染方法、装置、设备、存储介质和产品,属于计算机技术领域。方法包括:在电子地图中确定多个顶点的坐标信息,多个顶点依次连接形成第一区域,第一区域是电子地图中用于显示虚拟植物的区域;确定多组坐标移动参数;基于多组坐标移动参数,分别对多个顶点的坐标信息进行处理,得到第一区域中的多个目标位置点;在多个目标位置点,渲染虚拟植物。本申请实施例可应用于地图领域。本申请实施例提供的方法无需用户手动标记虚拟植物的显示位置点,能够提高在电子地图中渲染虚拟植物的效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种虚拟植物渲染方法、装置、设备、存储介质和产品。
背景技术
电子地图是利用计算机技术,以数字方式存储和查阅的地图,电子地图不仅可以显示虚拟道路和虚拟建筑,以模拟真实世界中的道路和建筑,还可以显示虚拟植物,以模拟真实世界中的植物,使得电子地图的显示效果更加逼真。因此,在终端显示电子地图时,需要在电子地图中渲染虚拟植物。
目前,在制作电子地图时,需要技术人员手动标记虚拟植物在电子地图中的显示位置点,将该显示位置点的位置数据存储到电子地图的地图数据中,这样后续基于已存储的显示位置点的位置数据,在电子地图对应的显示位置点渲染虚拟植物。但是,这种手动标记的方式效率较低。
发明内容
本申请实施例提供了一种虚拟植物渲染方法、装置、设备、存储介质和产品,无需手动标记虚拟植物的显示位置点,能够提高在电子地图中渲染虚拟植物的效率。所述技术方案如下:
一方面,提供了一种虚拟植物渲染方法,所述方法包括:
在电子地图中确定多个顶点的坐标信息,多个所述顶点依次连接形成第一区域,所述第一区域是所述电子地图中用于显示虚拟植物的区域;
确定多组坐标移动参数,一组坐标移动参数包括第一坐标移动参数和第二坐标移动参数,所述第一坐标移动参数用于表示所述第一区域的任一顶点到目标线段之间的距离,所述目标线段是所述第一区域中与多个所述顶点中任两个连接的顶点形成的参考边平行的线段,所述第二坐标移动参数用于在所述目标线段中取点;
基于多组所述坐标移动参数,分别对多个所述顶点的坐标信息进行处理,得到所述第一区域中的多个目标位置点,一组坐标移动参数对应得到一个目标位置点;
在多个所述目标位置点,渲染所述虚拟植物。
另一方面,提供了一种虚拟植物渲染装置,所述装置包括:
坐标确定模块,用于在电子地图中确定多个顶点的坐标信息,多个所述顶点依次连接形成第一区域,所述第一区域是所述电子地图中用于显示虚拟植物的区域;
参数确定模块,用于确定多组坐标移动参数,一组坐标移动参数包括第一坐标移动参数和第二坐标移动参数,所述第一坐标移动参数用于表示所述第一区域的任一顶点到目标线段之间的距离,所述目标线段是所述第一区域中与多个所述顶点中任两个连接的顶点形成的参考边平行的线段,所述第二坐标移动参数用于在所述目标线段中取点;
位置点确定模块,用于基于多组所述坐标移动参数,分别对多个所述顶点的坐标信息进行处理,得到所述第一区域中的多个目标位置点,一组坐标移动参数对应得到一个目标位置点;
渲染模块,用于在多个所述目标位置点,渲染所述虚拟植物。
在一些实施例中,所述参数确定模块,包括:
密度获取单元,用于获取所述虚拟植物的密度信息;
面积确定单元,用于基于所述第一区域的多个所述顶点的坐标信息,确定所述第一区域的面积信息;
数量确定单元,用于基于所述密度信息和所述面积信息,确定第一数量,所述第一数量用于表示所述第一区域中需要显示的虚拟植物的数量;
参数确定单元,用于基于所述第一数量,确定多组所述坐标移动参数,所述坐标移动参数的组数为所述第一数量。
在一些实施例中,所述参数确定单元,用于确定i的取值,所述i的取值为待确定的坐标移动参数的组序号;通过第一关系数据和第二关系数据分别对所述i的取值进行处理,得到一组坐标移动参数,所述第一关系数据用于表示所述i的取值与所述第一坐标移动参数之间的关系,所述第二关系数据用于表示所述i的取值与所述第二坐标移动参数之间的关系。
在一些实施例中,所述参数确定单元,用于通过所述第一关系数据,对所述i的取值和多个所述顶点的坐标信息进行处理,得到所述第一坐标移动参数,所述第一关系数据用于表示所述i的取值、多个所述顶点的坐标信息与所述第一坐标移动参数之间的关系;
通过所述第二关系数据,对所述i的取值和多个所述顶点的坐标信息进行处理,得到所述第二坐标移动参数,所述第二关系数据用于表示所述i的取值、多个所述顶点的坐标信息与所述第二坐标移动参数之间的关系。
在一些实施例中,多个所述目标位置点依次被确定;所述渲染模块,包括:
第一确定单元,用于在所述电子地图中确定第二区域,所述第二区域是所述电子地图中用于显示参考虚拟对象的区域,所述参考虚拟对象是除所述虚拟植物之外的其他虚拟对象;
第二确定单元,用于在所述电子地图中确定第三区域,所述第三区域是已确定出的目标位置点所处的区域;
处理单元,用于每当确定出一个目标位置点,在所述目标位置点位于所述第二区域或者所述第三区域的情况下,丢弃所述目标位置点;在所述目标位置点未位于所述第二区域和所述第三区域的情况下,保留所述目标位置点,基于所述目标位置点更新所述第三区域;
渲染单元,用于在确定出多个所述目标位置点后,在保留的目标位置点,渲染所述虚拟植物。
在一些实施例中,所述渲染模块,包括:
第三确定单元,用于从多个外形特征中,分别为多个所述目标位置点确定外形特征,所述外形特征为所述虚拟植物的外形特征;
创建单元,用于为多个所述目标位置点创建多个目标对象,一个目标位置点对应一个目标对象;
添加单元,用于将多个所述目标位置点的坐标信息和对应的外形特征分别添加到多个所述目标对象的属性信息中;
渲染单元,用于基于多个所述目标对象的属性信息,渲染多个所述虚拟植物。
在一些实施例中,所述第三确定单元,用于执行以下至少一项:
所述外形特征包括所述虚拟植物的放大倍数;基于所述目标位置点对应的第一坐标移动参数和第二坐标移动参数,对第二数量进行取余处理,得到第一位次,从放大倍数数组中获取排列顺序为所述第一位次的放大倍数,所述放大倍数数组包括所述第二数量个放大倍数;
所述外形特征包括所述虚拟植物的旋转角度;基于所述目标位置点对应的第一坐标移动参数和第二坐标移动参数,对第三数量进行取余处理,得到第二位次,从旋转角度数组中获取排列顺序为所述第二位次的旋转角度,所述旋转角度数组包括所述第三数量个旋转角度。
在一些实施例中,所述渲染单元,用于创建包含植物模型数据的模型对象,所述植物模型数据包括所述虚拟植物的几何形状数据和材质数据;基于所述目标对象的数量和所述模型对象,生成所述虚拟植物的实例模型,所述实例模型包括多个实例,多个所述实例的数量与所述目标对象组中目标对象的数量相同,所述实例包括所述几何形状数据和所述材质数据,所述实例模型用于一次渲染出所述实例模型包括的多个实例;遍历多个所述目标对象,将多个所述目标对象的属性信息分别添加到多个所述实例;基于添加属性信息后的多个实例,渲染多个所述虚拟植物。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行以实现本申请实施例中的虚拟植物渲染方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一段计算机程序,所述至少一段计算机程序由处理器加载并执行以实现如本申请实施例中的虚拟植物渲染方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述各个方面的各种可选实现方式中提供的虚拟植物渲染方法。
本申请实施例提供了一种虚拟植物渲染方法、装置、设备、存储介质和产品,通过确定多组坐标移动参数,可以自动在第一区域中确定多个目标位置点,也即是,实现了自动确定虚拟植物的显示位置点,因此,本申请实施例提供的虚拟植物渲染方法无需用户手动标记虚拟植物的显示位置点,能够提高在电子地图中渲染虚拟植物的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种虚拟植物渲染方法的实施环境的示意图;
图2是本申请实施例提供的一种虚拟植物渲染方法的流程图;
图3是本申请实施例提供的另一种虚拟植物渲染方法的流程图;
图4是本申请实施例提供的一种虚拟植物碰撞的示意图;
图5是本申请实施例提供的一种虚拟植物与虚拟建筑碰撞的示意图;
图6是本申请实施例提供的一种第二区域的示意图;
图7是本申请实施例提供的一种第三区域的示意图;
图8是本申请实施例提供的一种电子地图的示意图;
图9是本申请实施例提供的另一种虚拟植物渲染方法的流程图;
图10是本申请实施例提供的一种虚拟植物模型的示意图;
图11是本申请实施例提供的另一种虚拟植物渲染方法的流程图;
图12是本申请实施例提供的一种系统结构图;
图13是本申请实施例提供的一种虚拟植物渲染装置的框图;
图14是本申请实施例提供的另一种虚拟植物渲染装置的框图;
图15是本申请实施例提供的一种终端的结构框图;
图16是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”、“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的电子地图数据等都是在充分授权的情况下获取的。
以下,对本申请涉及的应用场景进行介绍:
本申请实施例提供的虚拟植物渲染方法可以应用于生活指导场景、娱乐场景等多种场景。
例如,应用于生活指导场景中。
用户可以通过电子地图类应用查看周围环境、导航等,若采用本申请实施例提供的方法,电子地图类应用不仅可以向用户呈现周围的街道、建筑等,还可以向用户呈现周围的植物,使得用户能够更加准确地获悉周围的环境,提高了电子地图类应用的显示效果。
例如,应用于娱乐场景中。
游戏应用可以向用户提供一个虚拟场景,该虚拟场景中可以包括虚拟植物、虚拟角色等多种虚拟对象,若采用本申请实施例提供的方法,游戏应用可以在虚拟场景中自动确定虚拟植物的显示位置点,在该位置点渲染虚拟植物,无需技术人员手动标记,减少了人力成本。
以下,对本申请涉及的实施环境进行介绍:
本申请实施例提供的虚拟植物渲染方法,由计算机设备执行。在一种可能实现方式中,该计算机设备为终端。该终端包括但不限于手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电、车载终端、飞行器等。在一些实施例中,终端响应于电子地图的打开操作,在电子地图中,确定多个目标位置点,在该多个目标位置点,渲染虚拟植物。
在另一种可能实现方式中,该计算机设备包括终端和服务器。该服务器是独立的服务器也能够是多个物理服务器工程的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
下面首先以计算机设备包括终端101和服务器102为例,介绍一下本申请实施例提供的虚拟植物渲染方法的实施环境示意图。参见图1,该实施环境包括终端101和服务器102。终端101和服务器102能够通过有线或无线通信方式进行之间或间接地连接,本申请在此不做限制。
在一些实施例中,服务器102主要承担计算工作,终端101承担次要计算工作;或者,服务器102承担次要计算服务,终端101承担主要计算工作;或者,服务器102和终端101二者之间采用分布式计算架构进行协同计算。
在一些实施例中,终端101安装目标应用,服务器102是为该目标应用提供服务的服务器。可选地,目标应用为终端101操作系统中的目标应用,或者,为第三方提供的目标应用,本申请实施例对此不做限定。终端101能够通过该目标应用实现例如数据传输、消息交互等功能。可选地,目标应用为电子地图类应用,该电子地图类应用具有查看电子地图的功能,当然,该电子地图类应用还能够具有其他功能,例如,地点查询功能、路线查询功能、路况查询功能、导航功能等。可选地,目标应用为游戏应用,电子地图为游戏应用提供的虚拟场景,该游戏应用具有查看电子地图的功能,当然,该游戏应用还能够具有其他功能,例如,虚拟角色交互功能、购物功能等。
在一些实施例中,终端101从服务器102中获取电子地图的电子地图数据,基于电子地图数据,渲染电子地图。
图2是根据本申请实施例提供的一种虚拟植物渲染方法的流程图,参见图2,在本申请实施例中以终端为执行主体进行示例性说明,该虚拟植物渲染方法包括以下步骤:
201、终端在电子地图中确定多个顶点的坐标信息,多个顶点依次连接形成第一区域,该第一区域是电子地图中用于显示虚拟植物的区域。
在本申请实施例中,电子地图是基于电子地图数据渲染的,在电子地图中确定多个顶点的坐标信息,即是从电子地图数据中获取多个顶点的坐标信息。其中,多个顶点依次连接形成第一区域,例如,多个顶点分别是顶点A、B和C,那么顶点A、B和C依次连接,得到三角形的第一区域ABC。又如,多个顶点分别是顶点A、B、C和D,那么顶点A、B、C和D依次连接,得到四边形的第一区域ABCD。
在一些实施例中,电子地图中不同的区域可以用于显示不同的内容。例如,第一区域是电子地图中用于显示虚拟植物的区域,第二区域是电子地图中用于显示虚拟建筑的区域等。通过将不同区域的多个顶点的坐标信息存储到电子地图数据中,后续,可以基于不同的区域的多个顶点的坐标信息在电子地图中确定显示不同内容的不同区域。
在一些实施例中,电子地图数据包括绿地数据、建筑数据、街道数据等。其中,绿地数据包括至少一个绿地区域中多个顶点的坐标信息,其中,绿地区域为用于显示虚拟植物的区域,也即是上述步骤201中的第一区域。建筑数据包括至少一个虚拟建筑中多个顶点的坐标信息。
可选地,终端在电子地图中确定多个顶点的坐标信息,包括:终端从当前加载的电子地图数据中获取绿地数据。
在一些实施例中,第一区域为绿地区域的子区域。其中,绿地区域可以是不规则的区域的,绿地区域中多个顶点的坐标信息为绿地区域中多个边界点的坐标信息。第一区域可以是目标形状的区域,第一区域可以通过对绿地区域进行划分得到。本申请实施例,对绿地区域和第一区域不做限定。
202、终端确定多组坐标移动参数,一组坐标移动参数包括第一坐标移动参数和第二坐标移动参数,该第一坐标移动参数用于表示第一区域的任一顶点到目标线段之间的距离,该目标线段是第一区域中与多个顶点中任两个连接的顶点形成的参考边所平行的线段,该第二坐标移动参数用于在该目标线段中取点。
为了使终端能够在电子地图中自动确定虚拟植物的显示位置点,不再由技术人员手动标记虚拟植物的显示位置点,本申请实施例提供了一种虚拟植物渲染方法,即是,基于一组坐标移动参数在第一区域中确定目标位置点。其中,一组坐标移动参数包括第一坐标移动参数和第二坐标移动参数,该第一坐标移动参数用于表示第一区域的任一顶点到目标线段之间的距离,该距离为该顶点到目标线段之间的垂直距离,该目标线段是第一区域中与多个顶点中任两个连接的顶点形成的参考边平行的线段,该第二坐标移动参数用于在该目标线段中取点。这样,保证了在一区域中取点时,基于第一坐标移动参数和第二坐标移动参数所取的点是位于该区域内部的点。
例如,区域是一个三角形的区域,三角形的三个顶点分别是A、B和C,其中,第一坐标移动参数用于表示顶点A与目标线段之间的距离,该目标线段是与线段BC平行的线段。其中,确定与线段BC平行的直线,再确定该直线与线段AB和AC的相交点,可以得到与线段BC平行的目标线段。由于该第一坐标移动参数用于表示顶点A与该目标线段之间的距离。因此,改变第一坐标移动参数,就可以改变目标线段与顶点A之间的距离,从而实现在距离顶点A不同的区域中取点。第二坐标移动参数用于在目标线段中取点,因此,改变第二坐标移动参数就可以改变在目标线段中的取点位置。
本申请实施例中,多组坐标移动参数包括的第一坐标移动参数和第二坐标移动参数并不相同,因此,终端可以基于多组坐标移动参数,在第一区域中确定多个目标位置点。
203、终端基于多组坐标移动参数,分别对多个顶点的坐标信息进行处理,得到第一区域中的多个目标位置点,一组坐标移动参数对应得到一个目标位置点。
终端基于一组坐标移动参数和第一区域中多个顶点的坐标信息,可以在第一区域中确定一个目标位置点,基于多组坐标移动参数和第一区域中多个顶点的坐标信息,可以在第一区域中确定多个目标位置点。
204、终端在多个目标位置点,渲染该虚拟植物。
需要说明的是,本申请实施例提供的虚拟植物渲染方法,仅是以终端确定多个目标位置点为例进行示例性说明,而在另一实施例中,由服务器确定多个目标位置点,将多个目标位置点的坐标信息添加到电子地图数据中,以使终端基于电子地图数据,在电子地图中的多个目标位置点渲染虚拟植物。
本申请实施例提供的虚拟植物渲染方法,通过确定多组坐标移动参数,可以自动在第一区域中确定多个目标位置点,也即是,实现了自动确定虚拟植物的显示位置点,因此,本申请实施例提供的虚拟植物渲染方法无需用户手动标记虚拟植物的显示位置点,能够提高在电子地图中渲染虚拟植物的效率。并且,该方法具有较高的可移植性,能够大量推广。
图3是本申请实施例提供的一种虚拟植物渲染方法的流程图。该虚拟植物渲染方法包括以下步骤:
301、终端在电子地图中确定绿地区域,该绿地区域是电子地图中用于显示虚拟植物的区域。
终端基于加载的电子地图数据渲染电子地图,该电子地图数据中包括绿地区域的位置数据,如果绿地区域是规则形状的区域,该位置数据可以是该绿地区域的多个顶点的坐标信息;如果绿地区域是不规则形状的区域,该位置数据可以是该绿地区域的多个边界点的坐标信息。
本申请实施例中,终端在电子地图中确定绿地区域,包括,终端在加载的电子地图数据中获取绿地区域的位置数据。
302、终端对绿地区域进行三角剖分,得到多个第一区域。
需要说明的是,多边形中的视野问题较难处理,但是三角形中的视野问题比较容易处理,因此,可以将绿地区域进行三角剖分,得到多个第一区域,该多个第一区域为三角形区域。
由于第一区域是三角形区域,因此,从绿地区域中确定三个顶点,即可得到一个第一区域。在一些实施例中,终端对绿地区域进行三角剖分,得到多个第一区域,包括:终端将绿地区域中多个顶点,依次确定为多个第一区域中多个顶点;或者,终端将绿地区域中多个边界点,依次确定为多个第一区域中多个顶点。
例如,绿地区域为一矩形区域,该绿地区域的多个顶点分别为A、B、C和D,将顶点A、B和C确定为第一区域1的多个顶点,将顶点B、C和D确定为第一区域2的多个顶点。
需要说明的是,本申请实施例可以采用任一种三角剖分算法对绿地区域进行三角剖分,本申请实施例对此不做限定。
需要说明的另一点是,如果绿地区域是三角形区域,那么可以不对绿地区域进行三角剖分。
303、终端为第一区域确定多组坐标移动参数,一组坐标移动参数包括第一坐标移动参数和第二坐标移动参数,该第一坐标移动参数用于表示第一区域的任一顶点到目标线段之间的距离,该目标线段是第一区域中与多个顶点中任两个连接的顶点形成的参考边平行的线段,该第二坐标移动参数用于在目标线段中取点。
本申请实施例在得到多个第一区域之后,分别在多个第一区域中确定多个目标位置点,本申请实施例仅是以在一个第一区域中确定多个目标位置点为例进行示例性说明。
本申请实施例提供的虚拟植物渲染方法,是自动在第一区域中确定显示虚拟植物的目标位置点,因此,目标位置点的数量就是显示的虚拟植物的数量,为了使虚拟植物渲染方法的渲染效果更好,渲染出的虚拟植物的密度合适,可以设置虚拟植物的密度,基于该虚拟植物的密度来渲染虚拟植物。
在一些实施例中,终端安装有目标应用,终端通过该目标应用渲染电子地图。该目标应用封装了一个可以控制虚拟植物渲染效果的接口,可选地,该接口可以定义是否渲染虚拟植物、虚拟植物的密度、虚拟植物的放大倍数、虚拟植物的旋转角度、虚拟植物模型数据等。在一些实施例中,该接口提供给目标应用的管理人员,由管理人员进行设置,其中,管理人员的设置可以对使用目标应用的多个用户有效。在一些实施例中,该接口提供给目标应用的用户,由用户进行设置,该设置仅对本端有效。
在一种可能实现方式中,终端确定多组坐标移动参数,包括:终端获取虚拟植物的密度信息;基于第一区域的多个顶点的坐标信息,确定第一区域的面积信息;基于密度信息和面积信息,确定第一数量,该第一数量用于表示第一区域中需要显示的虚拟植物的数量;基于第一数量,确定多组坐标移动参数,该坐标移动参数的组数为第一数量。
例如,第一区域的多个顶点分别为顶点A、B和C,第一区域的面积为S=(Ax*By+Ax*Cy+Bx*Cy-Ax*Cy-Ay*Bx-By*Cx)/2。其中,Ax为顶点A的横坐标,Bx为顶点B的横坐标,Cx为顶点C的横坐标,Ay为顶点A的纵坐标,By为顶点B的纵坐标,Cy为顶点C的纵坐标。*表示乘法运算,/表示除法运算。
第一数量其中,ρ表示虚拟植物的密度,/>表示向下取整。例如,/>表示5;/>表示7。
本申请实施例中,终端通过确定的多组坐标移动参数来从第一区域中确定多个目标位置点,因此,终端需要确定多组不同的坐标移动参数,才可以从第一区域中确定多个不同的目标位置点。在一些实施例中,终端基于一个变量以及与该变量相关的关系数据,来确定多组不同的坐标移动参数,通过多次改变该变量的值,来确定出不同的坐标移动参数。
可选地,将变量设置为i。终端基于第一数量,确定多组坐标移动参数,包括:对i进行随机取值处理,得到i的取值;通过第一关系数据和第二关系数据分别对该i的取值进行处理,得到一组坐标移动参数,该第一关系数据用于表示i的取值与第一坐标移动参数之间的关系,该第二关系数据用于表示i的取值与第二坐标移动参数之间的关系。需要说明的是,在一些实施例中,终端每次渲染电子地图时,都会执行本申请实施例提供的目标位置点确定方法,如果采用这种方法来确定多组坐标移动参数的话,每次渲染电子地图时,所确定的多个目标位置点会不完全相同。
在一些实施例中,终端每次渲染电子地图时,所确定的多个目标位置点相同,这样,用户每次打开电子地图时,同一区域显示的虚拟植物相同。可选地,将变量设置为i。终端基于第一数量,确定多组坐标移动参数,包括:确定i的取值,该i的取值为待确定的坐标移动参数的组序号;通过第一关系数据和第二关系数据分别对该i的取值进行处理,得到一组坐标移动参数,该第一关系数据用于表示i的取值与第一坐标移动参数之间的关系,该第二关系数据用于表示i的取值与第二坐标移动参数之间的关系。
需要说明的是,本申请实施例仅是以i的取值为待确定的坐标移动参数的组序号为例进行示例性说明,只需保证终端每次渲染电子地图时,所确定的多个i的取值相同即可,本申请实施例对确定i的取值的方法不做限定。
例如,创建i,将i的初始值设置为0,基于i的取值0,计算一组坐标移动参数,将i更新为i+1,也即是i的取值为1,基于i的取值1,再计算一组坐标移动参数,再将i更新为i+1,也即是,i的取值为1,基于i的取值2,再计算一组坐标移动参数,依次类推,计算多组坐标移动参数。
需要说明的是,采用上述定义i的取值来计算多组坐标移动参数的方法,会导致为多个第一区域确定的多组坐标移动参数是相同的,导致多个第一区域中目标位置点的分布方式也是相同的,为了使得虚拟植物的分布具有更好的随机性,本申请实施例还提供了另一种确定坐标移动参数的方法。
可选地,终端通过第一关系数据和第二关系数据分别对该i的取值进行处理,得到一组坐标移动参数,包括:终端通过第一关系数据,对该i的取值和多个顶点的坐标信息进行处理,得到第一坐标移动参数,该第一关系数据用于表示该i的取值、多个顶点的坐标信息与第一坐标移动参数之间的关系;终端通过第二关系数据,对该i的取值和多个顶点的坐标信息进行处理,得到第二坐标移动参数,该第二关系数据用于表示该i的取值、多个顶点的坐标信息与第二坐标移动参数之间的关系。
由于终端在确定第一坐标移动参数和第二坐标移动参数的时候,是基于i的取值和多个顶点的坐标信息来确定的,即便不同第一区域中i的取值是相同的,但是不同第一区域中多个顶点的坐标信息是不同的,因此,为不同第一区域确定的坐标移动参数是不同的。
需要说明的是,第一关系数据和第二关系数据可以是任一种关系数据,该关系数据可以是经验关系数据,也可以是技术人员设置的关系数据,本申请实施例对第一关系数据和第二关系数据不做限定。
在一些实施例中,第一坐标移动参数和第二坐标移动参数是0至1之间的任一数值。
第一关系数据为:r1=|{[(Ax+Bx+Cx)*10i+4/π]mod 1000}/1000|;其中,r1表示第一坐标移动参数,Ax表示第一区域的顶点A的横坐标,Bx表示第一区域的顶点B的横坐标,Cx表示第一区域的顶点C的横坐标,i为创建的i,通过改变i的取值,来得到不同的r1。π表示圆周率,mod表示取余处理,/表示除法计算,*表示乘法计算,|a|表示a的绝对值。
第二关系数据为:r2=|{[(Ay+By+Cy)*10i+8/π]mod 1000}/1000|;其中,r2表示第二坐标移动参数,Ay表示第一区域的顶点A的纵坐标,By表示第一区域的顶点B的纵坐标,Cy表示第一区域的顶点C的纵坐标,i为创建的i,通过改变i的取值,来得到不同的r2。π表示圆周率,mod表示取余处理,/表示除法计算,*表示乘法计算,|a|表示a的绝对值。
需要说明的是,本申请实施例中的第一坐标移动参数和第二坐标移动参数可以看做一随机数,可以采用任一种伪随机算法来确定,本申请实施例对第一坐标移动参数和第二坐标移动参数的确定方法不做限定。
304、终端基于多组坐标移动参数,分别对多个顶点的坐标信息进行处理,得到第一区域中的多个目标位置点,一组坐标移动参数对应得到一个目标位置点,该多个目标位置点依次被确定。
其中,第一坐标移动参数用于表示第一区域的任一顶点到目标线段之间的距离,该目标线段是第一区域中与多个顶点中任两个连接的顶点形成的参考边平行的线段,该第二坐标移动参数用于在目标线段中取点。
因此,终端可以先基于第一坐标移动参数,在第一区域中确定目标线段,再基于第二坐标移动参数在该目标线段中取点,得到目标位置点。这样,终端基于多组坐标移动参数,就可以从第一区域中取多个目标位置点,多组坐标移动参数不同,所取的目标位置点也不同。
以第一区域的多个顶点为顶点A、B和C为例,第一坐标移动参数用于表示顶点A、B和C中任一顶点到目标线段的距离,目标线段可以是与边AB、BC或者AC平行的线段。例如,终端基于第一坐标移动参数表示的距离,确定平行于边BC的直线,该直线与线段AB和线段AC相交,得到目标线段,基于第二坐标移动参数,在得到的该目标线段中取点。
在一些实施例中,提供有第三关系数据,该第三关系数据用于表示第一坐标移动参数、第二坐标移动参数和第一区域的多个顶点的坐标信息之间的关系。
可选地,该第三关系数据为:point(x,y)=(1-sqrt(r1))*A(x,y)+sqrt(r1)*(1-r2)*B(x,y)+sqrt(r1)*r2*C(x,y);其中,point表示目标位置点,point(x,y)表示目标位置点的坐标信息,sqrt表示平方根函数,r1表示第一坐标移动参数,r2表示第二坐标移动参数,*表示乘法运算,A(x,y)表示第一区域的顶点A的坐标信息,B(x,y)表示第一区域的顶点B的坐标信息,C(x,y)表示第一区域的顶点C的坐标信息。
需要说明的是,本申请实施例中的目标位置点,也即是用于显示虚拟植物的位置点,是通过确定多组坐标移动参数来确定的,而多组坐标移动参数的确定具有一定的随机性,因此,确定出的多个目标位置点也具有一定的随机性,在一些实施例中,确定出的多个目标位置点中存在一些目标位置点的距离较近,如果在这些目标位置点上渲染虚拟植物的话,会导致这些目标位置点上的虚拟植物交叉碰撞,影响显示效果。如图4所示,图4中显示了在多个目标位置点渲染的虚拟植物,其中,部分虚拟植物的显示效果较好,未与其他虚拟植物发生交叉碰撞,而部分虚拟植物的显示效果较差,与其他虚拟植物发生了交叉碰撞,图4中的虚拟植物401和虚拟植物402是显示效果较好的虚拟植物,未与其他虚拟植物发生交叉碰撞,发生了交叉碰撞的虚拟植物可以参考区域403所示,该区域403中的虚拟植物发生了交叉碰撞,显示效果较差。
需要说明的另一点是,电子地图中,绿地区域和虚拟建筑存在相交关系,例如,虚拟建筑位于绿地区域之上。相关技术中,绿地区域采用绿色色值进行渲染,先对绿地区域进行渲染,然后再渲染虚拟建筑,此时,渲染的虚拟建筑会将相交部分的绿地区域遮挡住。但是在应用本申请实施例提供的技术方案时,虚拟在绿地区域中渲染虚拟植物,在绿地区域与虚拟建筑相交的部分,如果渲染虚拟植物的话,不但会产生不必要的资源浪费,而且还可能导致,虚拟植物与虚拟建筑发生交叉碰撞。如图5所示,图5中包括虚拟建筑501、虚拟植物502以及与虚拟建筑501发生交叉碰撞的虚拟植物503。其中,虚拟植物正常显示是如虚拟植物502所示的,但是虚拟植物如果与虚拟建筑发生交叉碰撞,那么虚拟植物高于虚拟建筑的部分会显示在虚拟建筑上方,如虚拟植物503所示。
为了减少虚拟植物与虚拟植物之间发生交叉碰撞、虚拟植物和虚拟建筑之间发生交叉碰撞,本申请实施例还提供了一种筛选目标位置点的方法,以减少虚拟植物与其他虚拟物体之间发生交叉碰撞,如步骤305至步骤308所示。
需要说明的是,在执行完步骤304之后,可以直接执行,在多个目标位置点,渲染虚拟植物,也可以在执行完步骤304之后,执行步骤305至步骤308。在一些实施例中,可以基于是否有防碰撞的需求,来决定是否执行步骤305至步骤308。
305、终端在电子地图中确定第二区域,该第二区域是电子地图中用于显示参考虚拟对象的区域,该参考虚拟对象是除虚拟植物之外的其他虚拟对象。
本申请实施例中,参考虚拟对象可以是虚拟建筑、虚拟路灯、虚拟电线杆等任一种电子地图中的虚拟对象,需要说明的是,本申请实施例中的参考虚拟对象可以包括一种或者多种虚拟对象,本申请实施例对此不做限定。可选地,参考虚拟对象是显示在绿地区域附近的虚拟对象,由于参考虚拟对象是显示在绿地区域附近的虚拟对象,并且虚拟植物还具有一定的体积,因此,在目标位置点位于绿地区域附近时,渲染出的虚拟植物可能会与绿地区域附近的其他虚拟对象发生交叉碰撞,从而,可以获取参考虚拟对象所在的第二区域,避免在第二区域中渲染虚拟植物。
在一些实施例中,参考虚拟对象的显示位置是一位置点,那么参考虚拟对象的显示位置点,确定一个以该显示位置点为中心的区域。在一些实施例中,终端在电子地图中确定第二区域,包括:终端基于参考虚拟对象的显示位置点,确定以该显示位置点为中心的目标形状的第二区域。例如,终端基于参考虚拟对象的显示位置点和第一距离阈值,确定以该显示位置点为中心,以第一距离阈值为边长的矩形区域。又如,终端基于参考虚拟对象的显示位置点,确定以该显示位置点为中心,第一距离阈值为半径的圆形区域等,本申请实施例对目标形状不做限定,第一距离阈值基于虚拟植物的体积确定,以减少虚拟植物与参考虚拟对象之间的交叉碰撞。或者,第一距离阈值基于虚拟植物和参考虚拟对象二者的体积来确定,本申请实施例对第一距离阈值不做限定。
在一些实施例中,参考虚拟对象的显示位置通过该参考虚拟对象的多个顶点的坐标信息来表示,那么第二区域可以基于该多个顶点的坐标信息来确定。在一些实施例中,第二区域可以基于多个顶点的坐标信息中的横坐标信息和纵坐标信息来确定。例如,多个顶点的坐标信息包括顶点A的坐标信息(0,0,0),顶点B的坐标信息为(1,0,0),顶点C的坐标信息为(0,1,0),顶点D的坐标信息为(1,1,0),顶点E坐标信息(0,0,5),顶点F的坐标信息为(1,0,5),顶点G的坐标信息为(0,1,5),顶点H的坐标信息为(1,1,5),那么第二区域的位置数据包括的多个顶点的坐标信息是(0,0)、(1,0)、(0,1)和(1,1)。
在一些实施例中,第二区域的位置数据由多个顶点的坐标信息中的横向最大值、横向最小值、纵向最大值和纵向最小值确定。如图6所示,参考虚拟对象为虚拟建筑601,该图6包括基于该虚拟建筑601确定的第二区域602。
306、终端在电子地图中确定第三区域,该第三区域是已确定出的目标位置点所处的区域。
本申请实施例中,第一区域是将绿地区域进行三角剖分得到的区域,因此,第一区域可以是多个区域,在一些实施例中,上述步骤306中已确定出的目标位置点,不仅可以包括当前第一区域中已确定出的目标位置点,还可以包括其他第一区域中已确定出的目标位置点。
在一些实施例中,第三区域是以目标位置点为中心的区域。在一些实施例中,第三区域可以是多个,一个第三区域是以一个目标位置点为中心的区域。在一些实施例中,第三区域可以是一个,每确定一个目标位置点之后,确定以该目标位置点为中心的区域,将该区域添加到第三区域中。
在一些实施例中,终端在电子地图中确定第三区域,包括:在电子地图中确定以目标位置点为中心的目标形状的第三区域。例如,在电子地图中确定以目标位置点为中心、第一距离阈值为半径的第三区域;又如,在电子地图中确定以目标位置点为中心,第一距离阈值为边长的第三区域。
例如,如图7所示,该图7包括目标位置点701以及以目标位置点701为中心的第三区域702,其中,第三区域702是以目标位置点701为中心,在距离目标位置点701上下左右设定距离确定第三区域702。其中,目标位置点的坐标信息为(x,y),第三区域的坐标信息为(x-设定距离,y-设定距离),(x-设定距离,y+设定距离),(x+设定距离,y-设定距离)和(x+设定距离,y+设定距离)。
需要说明的是,在本申请实施例中,如果还未存在已确定的目标位置点,则无需执行该步骤306。
307、终端每当确定出一个目标位置点,在该目标位置点位于第二区域或者第三区域的情况下,丢弃该目标位置点;在该目标位置点未位于第二区域或者第三区域的情况下,保留该目标位置点,基于该目标位置点更新第三区域。
由于第二区域是参考虚拟对象所在的区域,第三区域是已确定的目标位置点所处的区域,因此,第三区域也是其他虚拟植物所处的区域。为了减少虚拟植物与参考虚拟对象之间发生交叉碰撞,虚拟植物与虚拟植物之间发生交叉碰撞,因此,终端每当确定出一个目标位置点,都可以确定下该目标位置点是否位于第二区域或者第三区域。如果目标位置点位于第二区域或者第三区域,那么在该目标位置点渲染虚拟植物的话,该虚拟植物可能会与其他虚拟物体发生交叉碰撞,那么丢弃该目标位置点。如果该目标位置点未位于第二区域或者第三区域,那么在该目标位置点渲染虚拟植物的话,该虚拟植物不会与其他虚拟物体发生交叉碰撞,因此,可以保留该目标位置点。
需要说明的是,如果保留该目标位置点的话,那么该目标位置点就是上述步骤306中已确定的目标位置点了,因此,可以基于该目标位置点更新第三区域,也即是,确定该目标位置点所在的区域,将该区域添加到第三区域中。如果目标位置点被丢弃的话,则该目标位置点不属于上述步骤306中已确定的目标位置点,则无需基于该目标位置点,更新第三区域。
在一些实施例中,终端在确定目标区域中的第一个目标位置点时,不存在已确定的目标位置点,此时只需基于第二区域来确定是否保留该目标位置点。在一种可能实现方式中,终端在电子地图中确定第二区域,在目标位置点位于该第二区域的情况下,丢弃该目标位置点;在该目标位置点未位于第二区域的情况下,保留该目标位置点,基于该目标位置点,在电子地图中确定第三区域。
在一些实施例中,在确定第二个及以上目标位置点时,执行上述步骤307。
在一些实施例中,确定多组坐标移动参数和确定多个目标位置点可以先后执行,也即是,先确定多组坐标移动参数,多组坐标移动参数确定完成之后,再确定多个目标位置点,或者,每确定出一组坐标移动参数,就基于该组坐标移动参数确定一目标位置点,在确定目标位置点之后,再确定下一组坐标移动参数,依次循环。
需要说明的是,本申请实施例仅是以每当确定出一个目标位置点,执行一次筛选操作为例,对目标位置点的筛选过程进行示例性说明,而在另一实施例中,还可以确定出多个目标位置点之后,再对多个目标位置点进行筛选,本申请实施例对此不做限定。
308、终端在确定出多个目标位置点后,在保留的目标位置点,渲染该虚拟植物。
本申请实施例中通过步骤305至步骤307,基于防碰撞的原理,确定的多个目标位置点进行了筛选,因此,在保留的目标位置点,渲染虚拟植物,可以得到如图8所示的效果,该图8中的虚拟建筑和虚拟植物之间并无交叉碰撞,虚拟植物和虚拟植物之间也无交叉碰撞。
需要说明的是,本申请实施例中,上述步骤301至步骤307可以是预先进行的,执行完上述步骤301至步骤307之后,将多个目标位置点的坐标信息存储到电子地图数据中,后续,在终端需要渲染电子地图时,基于加载的电子地图数据,在多个目标位置点渲染该虚拟植物。也即是,上述步骤301至步骤307无需每次执行。
在一些实施例中,终端每次需要渲染电子地图时,均需要执行上述步骤301至步骤308。也即是,上述步骤301至步骤307需要每次执行。
另外,本申请实施例通过图9所示的实施例,对在多个目标位置点渲染虚拟植物进行了示例性说明,在此不再一一赘述。
本申请实施例提供的一种虚拟植物渲染方法,通过确定多组坐标移动参数,可以自动在第一区域中确定多个目标位置点,也即是,实现了自动确定虚拟植物的显示位置点,因此,本申请实施例提供的虚拟植物渲染方法无需用户手动标记虚拟植物的显示位置点,能够提高在电子地图中渲染虚拟植物的效率。并且,该方法具有较高的可移植性,能够大量推广。
另外,本申请实施例,在确定多组坐标移动参数时,将待确定的坐标移动参数的组序号作为变量,这样,每次确定坐标移动参数时,所采用的变量是相同的,确定出的多组坐标移动参数也是相同的,因此,确定出的多个目标位置点也是相同的,用户前后两次打开电子地图所显示的虚拟植物也是相同的,提高了虚拟植物的显示效果。
另外,本申请实施例中,在确定多组坐标移动参数时,不仅将待确定的坐标移动参数的组序号作为变量,还将第一区域的多个顶点的坐标信息作为变量,这样,为不同第一区域所确定的多个目标位置点的分布就可以不同了,提高了目标位置点的分布随机性,进而提高了虚拟植物的分布随机性,提高了虚拟植物的显示效果。
图9是本申请实施例提供的一种虚拟植物渲染方法的流程图。该虚拟植物渲染方法包括以下步骤:
901、终端从多个外形特征中,分别为多个目标位置点确定外形特征,该外形特征为虚拟植物的外形特征。
需要说明的是,本申请实施例不仅可以自定义虚拟植物的显示位置,还可以定义虚拟植物的外形。在一些实施例中,终端中预设了多个外形特征,可以从多个外形特征,分别为多个目标位置点确定外形特征。
本申请实施例提供了一种为目标位置点确定外形特征的方法。在一种可能实现方式中,终端从多个外形特征中,分别为多个目标位置点确定外形特征,包括:终端基于目标位置点对应的第一坐标移动参数和第二坐标移动参数,对第四数量进行取余处理,得到第三位次,从外形特征数组中获取排列顺序为该第三位次的放大倍数,该外形特征数组包括第四数量个外形特征。
其中,第一坐标移动参数和第二坐标移动参数可以看做是确定的随机数,因此,还可以基于第一坐标移动参数和第二坐标移动参数来选择外形特征。在一些实施例中,还可以基于第一坐标移动参数或者第二坐标移动参数来选择外形特征,本申请实施例对此不做限定。
可选地,第一坐标移动参数和第二坐标移动参数是位于0至1之间的随机数,因此,可以将第一坐标移动参数和第二坐标移动参数放大10的n次方倍,再对第四数量进行取余处理,本申请实施例对第一坐标移动参数和第二坐标移动参数的处理方式不做限定。
在一种可能实现方式中,该外形特征包括虚拟植物的放大倍数。终端从多个外形特征中,分别为多个目标位置点确定外形特征,包括:终端基于目标位置点对应的第一坐标移动参数和第二坐标移动参数,对第二数量进行取余处理,得到第一位次,从放大倍数数组中获取排列顺序为第一位次的放大倍数,该方法倍数数组包括该第二数量个放大倍数。
例如,采用以下第四关系数据确定第一位次,该第四关系数据用于表示第一坐标移动参数、第二坐标移动参数、第二数量和第一位次之间的关系。
其中,i表示第一位次,r1表示第一坐标移动参数,r2表示第二坐标移动参数,mod表示取余函数,scaleCount表示第二数量。表示向上取整处理,/>表示向下取整处理。
在一种可能实现方式中,该外形特征包括虚拟植物的旋转角度。终端从多个外形特征中,分别为多个目标位置点确定外形特征,包括:终端基于目标位置点对应的第一坐标移动参数和第二坐标移动参数,对第三数量进行取余处理,得到第二位次,从旋转角度数组中获取排列顺序为第二位次的旋转角度,该旋转角度数组包括第三数量个旋转角度。
例如,采用以下第五关系数据确定第二位次,该第五关系数据用于表示第一坐标移动参数、第二坐标移动参数、第三数量和第二位次之间的关系。
其中,i表示第二位次,r1表示第一坐标移动参数,r2表示第二坐标移动参数,mod表示取余函数,rotCount表示第三数量。表示向上取整处理,/>表示向下取整处理。
需要说明的是,在一些实施例中,外形特征同时包括虚拟植物的放大倍数和旋转角度,可以确定一个位次,从放大倍数数组和旋转角度数组中选择该位次的放大倍数和旋转角度。或者,分别确定两个位次,本申请实施例对此不做限定。
需要说明的是,本申请实施例仅是以外形特征包括放大倍数和旋转角度为例,对外形特征进行示例性说明,而在另一实施例中,该外形特征还可以包括其他特征,本申请实施例对此不做限定。
需要说明的另一点是,终端每确定一个目标位置点,就可以为该目标位置点确定外形特征。也可以在确定多个目标位置点之后,为该多个目标位置点确定外形特征。本申请实施例对此不做限定。
902、终端为多个目标位置点创建多个目标对象,一个目标位置点对应一个目标对象。
在一些实施例中,终端每确定一个目标位置点,就可以为该目标位置点创建目标对象。在一些实施例中,终端确定多个目标位置点之后,为该多个目标位置点创建多个目标对象,本申请实施例对此不做限定。
在一些实施例中,终端创建目标对象数组,创建目标对象之后,可以将该目标对象添加到目标对象数组中。
903、终端将多个目标位置点的坐标信息和对应的外形特征分别添加到多个目标对象的属性信息中。
在一些实施例中,终端每创建一个目标对象,就可以将对应目标位置点的坐标信息和对应的外形特征添加到该目标对象的属性信息中了。在一些实施例中,终端创建多个目标对象之后,将多个目标位置点的坐标信息和对应的外形特征添加到多个目标对象的属性信息中。
在一些实施例中,每个目标对象的属性信息包括point、scale和rot。其中,point表示目标位置点的坐标信息,scale表示放大倍数,rot表示旋转角度。
904、终端基于多个目标对象的属性信息,渲染多个虚拟植物。
由于目标对象的属性信息包括虚拟植物的目标位置点和外形特征,因此,终端可以基于多个目标对象的属性信息,渲染多个虚拟植物,渲染出来的多个虚拟植物分别位于多个目标位置点,且渲染出来的多个虚拟植物的外形与目标位置点对应的外形特征匹配。
另外,终端在渲染多个虚拟植物时,还可以采用植物模型数据来渲染,该植物模型数据包括虚拟植物的几何形状数据和材质数据,使得终端可以渲染出栩栩如生的虚拟植物。例如,植物模型数据对应的虚拟植物模型如图10所示,图10示出了在不同放大倍数和旋转角度下的多个虚拟植物模型。
在一种可能实现方式中,终端基于多个目标对象的属性信息,渲染多个虚拟植物,包括:获取植物模型数据,将该植物模型数据添加到该多个目标对象的属性信息中,基于该多个目标对象的属性信息,渲染多个虚拟植物。
需要说明的是,如果逐一根据目标对象数组中的多个目标对象的属性信息渲染虚拟植物,则一个目标对象数组需要渲染多次,由于本申请实施例中的虚拟植物具有相同的几何形状数据和材质数据,因此,本申请实施例提供了一种实例化方法,创建模型对象,将目标对象数组中的多个目标对象的属性信息作为参数,根据模型对象生成虚拟植物的实例模型,一个实例模型表达了目标对象数组中的多个目标对象,只需要进行一次渲染,从而大幅减少渲染次数、提高了渲染效率。
在一种可能实现方式中,终端基于多个目标对象的属性信息,渲染多个虚拟植物,包括:创建包含植物模型数据的模型对象,该植物模型数据包括该虚拟植物的几何形状数据和材质数据;基于该目标对象的数量和模型对象,生成该虚拟植物的实例模型,该实例模型包括多个实例,多个实例的数量与目标对象组中目标对象的数量相同,该实例包括该几何形状数据和该材质数据,该实例模型用于一次渲染出该实例模型包括的多个实例;终端遍历多个目标对象,将多个目标对象的属性信息分别添加到多个实例;基于添加属性信息后的多个实例,渲染多个虚拟植物。
可选地,创建包含植物模型数据的模型对象,包括:使用Three.js提供的GLTFLoader方法解析加载的植物模型数据,得到解析后的植物模型数据treeGLTF,新建一个Three.js提供的Group对象treeGroupMesh,使用Three.js提供的traverse方法遍历treeGLTF数据;在遍历过程中使用Three.js提供的isMesh方法判断并获取treeGLTF中的几何形状数据geometry以及材质数据material,将获取的几何形状数据geometry以及材质数据material添加到treeGroupMesh中。
其中,treeGroupMesh即是创建的模型对象。Three.js是基于原生WebGL封装运行的三维引擎。GLTF代表Graphics Language Transmission Format(图形语言传输格式)。在一些实施例中,treeGroupMesh的几何形状数据包括高度h,可以基于应用场景将该h进行归一化得到高度H,将从高度h转换为高度H的变化倍数multiple(归一化变化倍数)记录到treeGroupMesh中,后续,在进行渲染的时候,可以基于放大倍数对高度H进行处理,得到虚拟植物的高度。
在一些实施例中,创建实例模型InstancedTree,包括以下步骤:
创建实例模型InstancedTree,该InstancedTree中实例的个数等于目标对象数组中多个目标对象的个数;遍历目标对象数组,获取多个目标对象的属性信息;根据第i个目标对象的属性信息中的目标位置点(x,y)、scale、rot、归一化变化倍数multiple,在顶点着色器中将原虚拟植物模型的顶点P(x,y,z)变化为P′(x′,y′,z′)。其中,转变方式如下:
其中,scale、rot依次为目标对象的属性信息中的放大倍数以及旋转角度,sin为正弦函数,cos为余弦函数。Multiple为归一化变化倍数。
另外,顶点着色器中每个顶点都对应了一个法线,其决定了接收光线的渲染,也即是决定了虚拟植物的阴影情况,因此,本申请实施例根据rot,在顶点着色器中将原虚拟植物模型的顶点P对应的法线n(x,y,z)绕y轴旋转变化为n′(x′,y′,z′)以保证虚拟植物的光照参数正确,公式如下:
其中,sin为正弦函数,cos为余弦函数。
顶点着色器遍历多个目标对象的属性信息之后,得到实例模型InstancedTree,将InstancedTree作为一个Three.js的渲染对象添加到对应场景中。
本申请实施例提供的虚拟植物渲染方法,提供了一种实例化方法,通过创建模型对象,将目标对象数组中的多个目标对象的属性信息作为参数,根据模型对象生成虚拟植物的实例模型,一个实例模型表达了目标对象数组中的多个目标对象,只需要进行一次渲染,从而大幅减少渲染次数、提高了渲染效率。
本申请实施例提供的虚拟植物渲染方法可以如图11所示,从电子地图数据中获取绿地数据(如,绿地区域的位置数据)、建筑数据(如虚拟建筑的多个顶点的坐标信息)、特征数据(如虚拟植物的密度信息、放大倍数数组、旋转角度数组等);一方面,基于建筑数据,确定第二区域,将第二区域添加到碰撞区域数组region中;另一方面,基于绿地数据对绿地区域进行三角剖分,得到第一区域的三个顶点的坐标信息,基于三个顶点的坐标信息和虚拟植物的密度信息确定虚拟植物的第一数量count,创建i=0,创建空目标对象数组Trees;确定i是否大于count,如果不大于的话,计算伪随机数r1和r2,计算目标位置点Pi;如果Pi位于碰撞区域region中,那么基于Pi确定第三区域,基于第三区域,更新碰撞区域region,新建一个目标对象tree,基于Pi,设置tree的point,基于r1和r2确定并设置tree的放大倍数和旋转数组,将目标对象tree添加到目标对象数组Trees;将i更新为i+1,循环执行确定目标位置点,创建目标对象的过程,直至更新后的i大于count,得到目标对象数组Trees。另外,加载解析植物模型数据,得到解析后的植物模型数据,创建模型对象,遍历解析后的植物模型数据,将植物模型数据添加到模型对象中;基于模型对象,创建实例模型,基于目标对象数组构成实例模型中的实例,将实例模型渲染到场景中。
在一些实施例中,终端渲染虚拟植物的系统架构如图12所示,该系统架构包括渲染层、数据层和服务层,其中,服务层用于与服务器连接,从服务器中获取电子地图数据和植物模型数据。数据层包括数据处理子层和数据提取子层,数据提取子层用于从电子地图数据中提取绿地数据和建筑数据,从植物模型数据中提取虚拟植物的几何形状数据和材质数据;数据处理子层用于确定多个目标位置点,对多个目标位置点进行防碰撞处理。渲染层,用于渲染虚拟植物,例如,通过顶点着色器对虚拟植物模型进行顶点变换和法线变换。
图13是根据本申请实施例提供的一种虚拟植物渲染装置的框图,该装置用于执行上述虚拟植物渲染方法,参见图13,该装置包括:
坐标确定模块1301,用于在电子地图中确定多个顶点的坐标信息,多个该顶点依次连接形成第一区域,该第一区域是该电子地图中用于显示虚拟植物的区域;
参数确定模块1302,用于确定多组坐标移动参数,一组坐标移动参数包括第一坐标移动参数和第二坐标移动参数,该第一坐标移动参数用于表示该第一区域的任一顶点到目标线段之间的距离,该目标线段是该第一区域中与多个该顶点中任两个连接的顶点形成的参考边平行的线段,该第二坐标移动参数用于在该线段中取点;
位置点确定模块1303,用于基于多组该坐标移动参数,分别对多个该顶点的坐标信息进行处理,得到该第一区域中的多个目标位置点,一组坐标移动参数对应得到一个目标位置点;
渲染模块1304,用于在多个该目标位置点,渲染该虚拟植物。
如图14所示,在一些实施例中,该参数确定模块1302,包括:
密度获取单元1312,用于获取该虚拟植物的密度信息;
面积确定单元1322,用于基于该第一区域的多个该顶点的坐标信息,确定该第一区域的面积信息;
数量确定单元1332,用于基于该密度信息和该面积信息,确定第一数量,该第一数量用于表示该第一区域中需要显示的虚拟植物的数量;
参数确定单元1342,用于基于该第一数量,确定多组该坐标移动参数,该坐标移动参数的组数为该第一数量。
在一些实施例中,该参数确定单元1342,用于确定i的取值,该i的取值为待确定的坐标移动参数的组序号;通过第一关系数据和第二关系数据分别对该i的取值进行处理,得到一组坐标移动参数,该第一关系数据用于表示该i的取值与该第一坐标移动参数之间的关系,该第二关系数据用于表示该i的取值与该第二坐标移动参数之间的关系。
在一些实施例中,该参数确定单元1342,用于通过该第一关系数据,对该i的取值和多个该顶点的坐标信息进行处理,得到该第一坐标移动参数,该第一关系数据用于表示该i的取值、多个该顶点的坐标信息与该第一坐标移动参数之间的关系;通过该第二关系数据,对该i的取值和多个该顶点的坐标信息进行处理,得到该第二坐标移动参数,该第二关系数据用于表示该i的取值、多个该顶点的坐标信息与该第二坐标移动参数之间的关系。
在一些实施例中,多个该目标位置点依次被确定;该渲染模块1304,包括:
第一确定单元1314,用于在该电子地图中确定第二区域,该第二区域是该电子地图中用于显示参考虚拟对象的区域,该参考虚拟对象是除该虚拟植物之外的其他虚拟对象;
第二确定单元1324,用于在该电子地图中确定第三区域,该第三区域是已确定出的目标位置点所处的区域;
处理单元1334,用于每当确定出一个目标位置点,在该目标位置点位于该第二区域或者该第三区域的情况下,丢弃该目标位置点;在该目标位置点未位于该第二区域和该第三区域的情况下,保留该目标位置点,基于该目标位置点更新该第三区域;
渲染单元1344,用于在确定出多个该目标位置点后,在保留的目标位置点,渲染该虚拟植物。
在一些实施例中,该渲染模块1304,包括:
第三确定单元1354,用于从多个外形特征中,分别为多个该目标位置点确定外形特征,该外形特征为该虚拟植物的外形特征;
创建单元1364,用于为多个该目标位置点创建多个目标对象,一个目标位置点对应一个目标对象;
添加单元1374,用于将多个该目标位置点的坐标信息和对应的外形特征分别添加到多个该目标对象的属性信息中;
渲染单元1344,用于基于多个该目标对象的属性信息,渲染多个该虚拟植物。
在一些实施例中,该第三确定单元1354,用于执行以下至少一项:
该外形特征包括该虚拟植物的放大倍数;基于该目标位置点对应的第一坐标移动参数和第二坐标移动参数,对第二数量进行取余处理,得到第一位次,从放大倍数数组中获取排列顺序为该第一位次的放大倍数,该放大倍数数组包括该第二数量个放大倍数;
该外形特征包括该虚拟植物的旋转角度;基于该目标位置点对应的第一坐标移动参数和第二坐标移动参数,对第三数量进行取余处理,得到第二位次,从旋转角度数组中获取排列顺序为该第二位次的旋转角度,该旋转角度数组包括该第三数量个旋转角度。
在一些实施例中,该渲染单元1344,用于创建包含植物模型数据的模型对象,该植物模型数据包括该虚拟植物的几何形状数据和材质数据;基于该目标对象的数量和该模型对象,生成该虚拟植物的实例模型,该实例模型包括多个实例,多个该实例的数量与该目标对象组中目标对象的数量相同,该实例包括该几何形状数据和该材质数据,该实例模型用于一次渲染出该实例模型包括的多个实例;遍历多个该目标对象,将多个该目标对象的属性信息分别添加到多个该实例;基于添加属性信息后的多个实例,渲染多个该虚拟植物。
需要说明的是:上述实施例提供的虚拟植物渲染方法在渲染虚拟植物时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟植物渲染装置与虚拟植物渲染方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在本申请实施例中,计算机设备能够被配置为终端或者服务器,当计算机设备被配置为终端时,由终端作为执行主体来实施本申请实施例提供的技术方案;当计算机设备被配置为服务器时,由服务器作为执行主体来实施本申请实施例提供的技术方案;或者,通过终端和服务器之间的交互来实施本申请提供的技术方案,本申请实施例对此不作限定。
图15是本申请实施例提供的一种终端的结构框图。该终端1500用于执行上述实施例中终端执行的步骤,该终端包括但不限于手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电、车载终端、飞行器等。
通常,终端1500包括有:处理器1501和存储器1502。
处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1501所执行以实现本申请中方法实施例提供的类别确定方法。
在一些实施例中,终端1500还可选包括有:外围设备接口1503和至少一个外围设备。处理器1501、存储器1502和外围设备接口1503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1503相连。具体地,外围设备包括:射频电路1504、显示屏1505、摄像头组件1506、音频电路1507和电源1508中的至少一种。
外围设备接口1503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1501和存储器1502。在一些实施例中,处理器1501、存储器1502和外围设备接口1503被集成在同一芯片或电路板上;在一些其他实施例中,处理器1501、存储器1502和外围设备接口1503中的任意一个或两个可以在单独的芯片或电路板上实现,本申请实施例对此不加以限定。
射频电路1504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1505是触摸显示屏时,显示屏1505还具有采集在显示屏1505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1501进行处理。此时,显示屏1505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1505可以为一个,设置终端1500的前面板;在另一些实施例中,显示屏1505可以为至少两个,分别设置在终端1500的不同表面或呈折叠设计;在另一些实施例中,显示屏1505可以是柔性显示屏,设置在终端1500的弯曲表面上或折叠面上。甚至,显示屏1505还可以设置成非矩形的不规则图形,也即异形屏。显示屏1505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1506用于采集图像或视频。可选地,摄像头组件1506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1501进行处理,或者输入至射频电路1504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1501或射频电路1504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1507还可以包括耳机插孔。
电源1508用于为终端1500中的各个组件进行供电。电源1508可以是交流电、直流电、一次性电池或可充电电池。当电源1508包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1500还包括有一个或多个传感器1510。该一个或多个传感器1510包括但不限于:加速度传感器1511、陀螺仪传感器1512、压力传感器1513、光学传感器1514以及接近传感器1515。
加速度传感器1511可以检测以终端1500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1511可以用于检测重力加速度在三个坐标轴上的分量。处理器1501可以根据加速度传感器1511采集的重力加速度信号,控制显示屏1505以横向视图或纵向视图进行用户界面的显示。加速度传感器1511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1512可以检测终端1500的机体方向及转动角度,陀螺仪传感器1512可以与加速度传感器1511协同采集用户对终端1500的3D动作。处理器1501根据陀螺仪传感器1512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1513可以设置在终端1500的侧边框和/或显示屏1505的下层。当压力传感器1513设置在终端1500的侧边框时,可以检测用户对终端1500的握持信号,由处理器1501根据压力传感器1513采集的握持信号进行左右手识别或快捷操作。当压力传感器1513设置在显示屏1505的下层时,由处理器1501根据用户对显示屏1505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1514用于采集环境光强度。在一个实施例中,处理器1501可以根据光学传感器1514采集的环境光强度,控制显示屏1505的显示亮度。具体地,当环境光强度较高时,调高显示屏1505的显示亮度;当环境光强度较低时,调低显示屏1505的显示亮度。在另一个实施例中,处理器1501还可以根据光学传感器1514采集的环境光强度,动态调整摄像头组件1506的拍摄参数。
接近传感器1515,也称距离传感器,通常设置在终端1500的前面板。接近传感器1515用于采集用户与终端1500的正面之间的距离。在一个实施例中,当接近传感器1515检测到用户与终端1500的正面之间的距离逐渐变小时,由处理器1501控制显示屏1505从亮屏状态切换为息屏状态;当接近传感器1515检测到用户与终端1500的正面之间的距离逐渐变大时,由处理器1501控制显示屏1505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图15中示出的结构并不构成对终端1500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图16是本申请实施例提供的一种服务器的结构示意图,该服务器1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central ProcessingUnits,CPU)1601和一个或一个以上的存储器1602,其中,存储器1602中存储有至少一条程序代码,至少一条程序代码由处理器1601加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条程序代码,该至少一条程序代码由该处理器加载并执行上述实施例的通信连接建立中所执行的操作。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一段计算机程序,该至少一段计算机程序由处理器加载并执行以实现如上述实施例中的类别确定方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行如上述实施例的类别确定方法中所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种虚拟植物渲染方法,其特征在于,所述方法包括:
在电子地图中确定多个顶点的坐标信息,多个所述顶点依次连接形成第一区域,所述第一区域是所述电子地图中用于显示虚拟植物的区域;
确定多组坐标移动参数,一组坐标移动参数包括第一坐标移动参数和第二坐标移动参数,所述第一坐标移动参数用于表示所述第一区域的任一顶点到目标线段之间的距离,所述目标线段是所述第一区域中与多个所述顶点中任两个连接的顶点形成的参考边平行的线段,所述第二坐标移动参数用于在所述目标线段中取点;
基于多组所述坐标移动参数,分别对多个所述顶点的坐标信息进行处理,得到所述第一区域中的多个目标位置点,一组坐标移动参数对应得到一个目标位置点;
在多个所述目标位置点,渲染所述虚拟植物。
2.根据权利要求1所述的方法,其特征在于,所述确定多组坐标移动参数,包括:
获取所述虚拟植物的密度信息;
基于所述第一区域的多个所述顶点的坐标信息,确定所述第一区域的面积信息;
基于所述密度信息和所述面积信息,确定第一数量,所述第一数量用于表示所述第一区域中需要显示的虚拟植物的数量;
基于所述第一数量,确定多组所述坐标移动参数,所述坐标移动参数的组数为所述第一数量。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一数量,确定多组所述坐标移动参数,包括:
确定i的取值,所述i的取值为待确定的坐标移动参数的组序号;
通过第一关系数据和第二关系数据分别对所述i的取值进行处理,得到一组坐标移动参数,所述第一关系数据用于表示所述i的取值与所述第一坐标移动参数之间的关系,所述第二关系数据用于表示所述i的取值与所述第二坐标移动参数之间的关系。
4.根据权利要求3所述的方法,其特征在于,所述通过第一关系数据和第二关系数据分别对所述i的取值进行处理,得到一组坐标移动参数,包括:
通过所述第一关系数据,对所述i的取值和多个所述顶点的坐标信息进行处理,得到所述第一坐标移动参数,所述第一关系数据用于表示所述i的取值、多个所述顶点的坐标信息与所述第一坐标移动参数之间的关系;
通过所述第二关系数据,对所述i的取值和多个所述顶点的坐标信息进行处理,得到所述第二坐标移动参数,所述第二关系数据用于表示所述i的取值、多个所述顶点的坐标信息与所述第二坐标移动参数之间的关系。
5.根据权利要求1所述的方法,其特征在于,多个所述目标位置点依次被确定;所述在多个所述目标位置点,渲染所述虚拟植物,包括:
在所述电子地图中确定第二区域,所述第二区域是所述电子地图中用于显示参考虚拟对象的区域,所述参考虚拟对象是除所述虚拟植物之外的其他虚拟对象;
在所述电子地图中确定第三区域,所述第三区域是已确定出的目标位置点所处的区域;
每当确定出一个目标位置点,在所述目标位置点位于所述第二区域或者所述第三区域的情况下,丢弃所述目标位置点;在所述目标位置点未位于所述第二区域和所述第三区域的情况下,保留所述目标位置点,基于所述目标位置点更新所述第三区域;
在确定出多个所述目标位置点后,在保留的目标位置点,渲染所述虚拟植物。
6.根据权利要求1所述的方法,其特征在于,所述在多个所述目标位置点,渲染所述虚拟植物,包括:
从多个外形特征中,分别为多个所述目标位置点确定外形特征,所述外形特征为所述虚拟植物的外形特征;
为多个所述目标位置点创建多个目标对象,一个目标位置点对应一个目标对象;
将多个所述目标位置点的坐标信息和对应的外形特征分别添加到多个所述目标对象的属性信息中;
基于多个所述目标对象的属性信息,渲染多个所述虚拟植物。
7.根据权利要求6所述的方法,其特征在于,所述从多个外形特征中,分别为多个所述目标位置点确定外形特征,包括以下至少一项:
所述外形特征包括所述虚拟植物的放大倍数;基于所述目标位置点对应的第一坐标移动参数和第二坐标移动参数,对第二数量进行取余处理,得到第一位次,从放大倍数数组中获取排列顺序为所述第一位次的放大倍数,所述放大倍数数组包括所述第二数量个放大倍数;
所述外形特征包括所述虚拟植物的旋转角度;基于所述目标位置点对应的第一坐标移动参数和第二坐标移动参数,对第三数量进行取余处理,得到第二位次,从旋转角度数组中获取排列顺序为所述第二位次的旋转角度,所述旋转角度数组包括所述第三数量个旋转角度。
8.根据权利要求6所述的方法,其特征在于,所述基于多个所述目标对象的属性信息,渲染多个所述虚拟植物,包括:
创建包含植物模型数据的模型对象,所述植物模型数据包括所述虚拟植物的几何形状数据和材质数据;
基于所述目标对象的数量和所述模型对象,生成所述虚拟植物的实例模型,所述实例模型包括多个实例,多个所述实例的数量与所述目标对象组中目标对象的数量相同,所述实例包括所述几何形状数据和所述材质数据,所述实例模型用于一次渲染出所述实例模型包括的多个实例;
遍历多个所述目标对象,将多个所述目标对象的属性信息分别添加到多个所述实例;
基于添加属性信息后的多个实例,渲染多个所述虚拟植物。
9.一种虚拟植物渲染装置,其特征在于,所述装置包括:
坐标确定模块,用于在电子地图中确定多个顶点的坐标信息,多个所述顶点依次连接形成第一区域,所述第一区域是所述电子地图中用于显示虚拟植物的区域;
参数确定模块,用于确定多组坐标移动参数,一组坐标移动参数包括第一坐标移动参数和第二坐标移动参数,所述第一坐标移动参数用于表示所述第一区域的任一顶点到目标线段之间的距离,所述目标线段是所述第一区域中与多个所述顶点中任两个连接的顶点形成的参考边平行的线段,所述第二坐标移动参数用于在所述目标线段中取点;
位置点确定模块,用于基于多组所述坐标移动参数,分别对多个所述顶点的坐标信息进行处理,得到所述第一区域中的多个目标位置点,一组坐标移动参数对应得到一个目标位置点;
渲染模块,用于在多个所述目标位置点,渲染所述虚拟植物。
10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行权利要求1至8任一项权利要求所述的虚拟植物渲染方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段计算机程序,所述至少一段计算机程序用于执行权利要求1至8任一项权利要求所述的虚拟植物渲染方法。
12.一种计算机程序产品,包括计算机程序代码,其特征在于,所述计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序代码,所述处理器执行所述计算机程序代码,使得所述计算机设备执行权利要求1至8任一项权利要求所述的虚拟植物渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210544493.XA CN117132700A (zh) | 2022-05-18 | 2022-05-18 | 虚拟植物渲染方法、装置、设备、存储介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210544493.XA CN117132700A (zh) | 2022-05-18 | 2022-05-18 | 虚拟植物渲染方法、装置、设备、存储介质和产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117132700A true CN117132700A (zh) | 2023-11-28 |
Family
ID=88856908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210544493.XA Pending CN117132700A (zh) | 2022-05-18 | 2022-05-18 | 虚拟植物渲染方法、装置、设备、存储介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117132700A (zh) |
-
2022
- 2022-05-18 CN CN202210544493.XA patent/CN117132700A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110059685B (zh) | 文字区域检测方法、装置及存储介质 | |
CN112870707B (zh) | 虚拟场景中的虚拟物体展示方法、计算机设备及存储介质 | |
CN109933638B (zh) | 基于电子地图的目标区域轮廓确定方法、装置及存储介质 | |
CN109615686B (zh) | 潜在可视集合的确定方法、装置、设备及存储介质 | |
CN110064200B (zh) | 基于虚拟环境的物体构建方法、装置及可读存储介质 | |
CN112884874B (zh) | 在虚拟模型上贴花的方法、装置、设备及介质 | |
CN112150560B (zh) | 确定消失点的方法、装置及计算机存储介质 | |
CN112907716B (zh) | 虚拟环境中的云朵渲染方法、装置、设备及存储介质 | |
CN112308103B (zh) | 生成训练样本的方法和装置 | |
CN112884873B (zh) | 虚拟环境中虚拟物体的渲染方法、装置、设备及介质 | |
CN112750190B (zh) | 三维热力图生成方法、装置、设备及存储介质 | |
CN112950753B (zh) | 虚拟植物显示方法、装置、设备及存储介质 | |
CN111754564B (zh) | 视频展示方法、装置、设备及存储介质 | |
CN111651693A (zh) | 数据展示方法、数据排序方法、装置、设备及介质 | |
CN111784841A (zh) | 重建三维图像的方法、装置、电子设备及介质 | |
CN112925922A (zh) | 获取地址的方法、装置、电子设备及介质 | |
CN113592997B (zh) | 基于虚拟场景的物体绘制方法、装置、设备及存储介质 | |
CN112950535B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN113018865B (zh) | 攀爬线生成方法、装置、计算机设备及存储介质 | |
CN112717393B (zh) | 虚拟场景中的虚拟物件显示方法、装置、设备及存储介质 | |
CN117132700A (zh) | 虚拟植物渲染方法、装置、设备、存储介质和产品 | |
CN110335224B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN110201392B (zh) | 用户界面生成方法、装置和终端 | |
CN116402880B (zh) | 含油面积确定方法、装置、设备及存储介质 | |
CN113689484B (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 |