CN118172522A - 标签渲染方法、装置、设备及可读存储介质 - Google Patents
标签渲染方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN118172522A CN118172522A CN202410308639.XA CN202410308639A CN118172522A CN 118172522 A CN118172522 A CN 118172522A CN 202410308639 A CN202410308639 A CN 202410308639A CN 118172522 A CN118172522 A CN 118172522A
- Authority
- CN
- China
- Prior art keywords
- tag
- label
- twin
- target
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000009877 rendering Methods 0.000 title claims abstract description 59
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 230000000007 visual effect Effects 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 19
- 230000002776 aggregation Effects 0.000 description 10
- 238000004220 aggregation Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 235000012766 Cannabis sativa ssp. sativa var. sativa Nutrition 0.000 description 1
- 235000012765 Cannabis sativa ssp. sativa var. spontanea Nutrition 0.000 description 1
- 206010034719 Personality change Diseases 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 235000009120 camo Nutrition 0.000 description 1
- 235000005607 chanvre indien Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000011487 hemp Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种标签渲染方法、装置、设备及可读存储介质,电子设备识别到请求渲染角色目标视角下的目标界面的漫游指令后,确定出目标视角的视野范围内的3D标签以得到第一集合,删除第一集合中被孪生体遮挡的3D标签以得到第二集合,之后根据第二集合渲染并显示目标界面。采用该种方案,电子设备对角色目标视角的视野范围内的3D标签进行遮挡剔除,以删除被孪生体遮挡的3D标签,剩余的3D标签形成第二集合,由于第二集合中的各3D标签均为未被孪生体遮挡的标签,因此能够确保3D标签完整有序的显示,实现提高数字世界中3D标签显示质量的同时,实现降低3D标签显示成本的目的。
Description
技术领域
本申请实施例涉及数字孪生技术领域,特别涉及一种标签渲染方法、装置、设备及可读存储介质。
背景技术
随着互联网技术的飞速发展,数字孪生(Digital Twin)的热度与日俱增。基于数字孪生技术,能够将现实世界中的物理实体映射到数字世界中,一个物理实体在数字世界中的虚拟表示称之为孪生体。
数字世界中,存在大量起标注作用的3D标签。为了渲染并显示该些3D标签,需要将3D标签的三维坐标转换成二维屏幕坐标后,根据二维屏幕坐标将3D标签叠加在数字世界中的相应位置。这种做法的弊端是:3D标签无法被正确的遮挡。为解决该问题,传统的做法是对每个3D标签设置显示距离区间,通过显示距离区间来控制屏幕上显示的3D标签的数量。显示距离区间是指:当角色和3D标签之间的距离位于该区间内时显示3D标签;否则,不显示该3D标签。
然而,3D标签的数量越来越多,若为每个3D标签均设置显示距离区间,则效率低下、成本高。
发明内容
本申请实施例提供一种标签渲染方法、装置、设备及可读存储介质,通过对3D标签进行遮挡剔除和重叠聚合,确保3D标签完整有序的显示,实现提高数字世界中3D标签显示质量的同时,实现降低3D标签显示成本的目的。
第一方面,本申请实施例提供一种标签渲染方法,包括:
识别请求渲染角色目标视角下的目标界面的漫游指令;
响应于所述漫游指令,确定所述目标视角的视野范围内的3D标签,以得到第一集合;
删除所述第一集合中被孪生体遮挡的3D标签,以得到第二集合;
根据所述第二集合渲染并显示所述目标界面。
第二方面,本申请实施例提供一种标签渲染装置,包括:
识别模块,用于识别请求渲染角色目标视角下的目标界面的漫游指令;
响应模块,用于响应于所述漫游指令,确定所述目标视角的视野范围内的3D标签,以得到第一集合;
处理模块,用于删除所述第一集合中被孪生体遮挡的3D标签,以得到第二集合;
显示模块,用于根据所述第二集合渲染并显示所述目标界面。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上第一方面或第一方面各种可能的实现方式所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被处理器执行时用于实现如上第一方面或第一方面各种可能的实现方式所述的方法。
第五方面,本申请实施例提供一种包含计算程序的计算机程序产品,所述计算机程序被处理器执行时实现如上第一方面或第一方面各种可能的实现方式所述的方法。
本申请实施例提供的标签渲染方法、装置、设备及可读存储介质,电子设备识别到请求渲染角色目标视角下的目标界面的漫游指令后,确定出目标视角的视野范围内的3D标签以得到第一集合,删除第一集合中被孪生体遮挡的3D标签以得到第二集合,之后根据第二集合渲染并显示目标界面。采用该种方案,电子设备对角色目标视角的视野范围内的3D标签进行遮挡剔除,以删除被孪生体遮挡的3D标签,剩余的3D标签形成第二集合,由于第二集合中的各3D标签均为未被孪生体遮挡的标签,因此能够确保3D标签完整有序的显示,实现提高数字世界中3D标签显示质量的同时,实现降低3D标签显示成本的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是3D标签未被正确遮挡示意图;
图1B是3D标签重叠的示意图;
图1C是3D标签显示不全的示意图;
图2是本申请实施例提供的标签渲染方法所适用的网络架构示意图;
图3是本申请实施例提供的标签渲染方法的流程图;
图4是本申请实施例提供的标签渲染方法中视椎体剔除的示意图;
图5是本申请实施例提供的标签渲染方法中3D标签的结构示意图;
图6是本申请实施例提供的标签渲染方法中经过遮挡剔除的目标界面示意图;
图7是本申请实施例提供的标签渲染方法中使用球形BV构建出的BVH示意图;
图8是本申请实施例提供的标签渲染方法中经过重叠聚合的目标界面示意图;
图9为本申请实施例提供的一种标签渲染装置的示意图;
图10是本申请实施例提供的电子设备的结构示意图。
具体实施方式
三维的数字世界界面上,往往有大量的孪生体和3D标签。为了在三维的数字世界界面上实时渲染并显示这些3D标签,一种做法是:将3D标签基于地心坐标系的3D坐标转换为二维的屏幕坐标,然后根据二维屏幕坐标将3D标签叠加在三维的数字世界界面中。这种做法很容易出现3D标签没有被正确遮挡的现象,即原本不该显示的3D标签出现在数字世界界面中,很不符合常识。图1A是3D标签未被正确遮挡示意图。请参照图1A,标签2和标签3被建筑物遮挡,不应该出现在数字世界界面中,但是上述的标签渲染方法显示标签2和标签3。
而且,通过坐标转换显示3D标签的方式,由于对每个3D标签均进行显示,很容易导致数字世界界面上显示密密麻麻的3D标签,显示效果极差。图1B是3D标签重叠的示意图。请参照图1B,标签3和其他3D标签重叠。
为解决3D标签重叠的问题,传统的做法是为每个3D标签设置一个显示距离区间。当角色和3D标签之间的距离位于显示距离区间时数字世界界面上显示该3D标签;否则,不显示该3D标签。然而,3D标签越来越多,若为每个3D标签均设置显示距离区间,则效率低下、成本高。
另一种渲染并显示3D标签的方法是:在三维的数字世界中构建一个平面,利用该平面来展示3D标签。然而,由于角色的观察角度有限,当视角较远时,3D标签的大小、角度不一致,显示效果差,导致观感不好。而且,若角色转动,并保持3D标签固定大小,则在部分角度3D标签被倾斜摄影遮挡,导致3D标签显示不全。图1C是3D标签显示不全的示意图。请参照图1C,矩形框内的5个3D标签,都没有显示完整。
基于此,本申请实施例提供一种标签渲染方法、装置、设备及可读存储介质,通过对3D标签进行遮挡剔除和重叠聚合,确保3D标签完整有序的显示,实现提高数字世界中3D标签显示质量的同时,实现降低3D标签显示成本的目的。
图2是本申请实施例提供的标签渲染方法所适用的网络架构示意图。请参照图2,该网络架构包括终端设备21和服务器22,终端设备21和服务器22之间建立网络连接。终端设备21例如是智能交互平板、笔记本电脑、台式机、手机、平板电脑等,本申请实施例并不限制。
服务器22可以是独立的物理服务器,也可以是多台服务器构成的服务器集群,还可以是具有云存储能力的云服务器等,本申请实施例并不限制。服务器22上保存数字世界相关的数据,数字世界例如是工厂、校园、医院、某城市、博物馆等实景对应的三维世界。
终端设备21具有显示屏并安装浏览器或其他应用程序(application,APP),用户用过鼠标、键盘或触摸方式等在显示屏上操作,从而打开三维的数字世界并漫游。漫游过程中,终端设备21从服务器22获取数字世界相关的数据。数字世界相关的数据包括在三维的数字世界界面上用于显示孪生体的数据、用于显示3D标签的数据等。终端设备21对数据进行处理,如根据目标视角的视野范围对标签集合中的3D标签进行视椎体剔除,以得到第一集合,第一集合中的标签包括目标视角视野范围内的、遮挡剔除之前的3D标签。之后,终端设备21对第一集合中的3D标签依次进行遮挡剔除和重叠聚合等,渲染并显示重叠聚合后的3D标签。
应当理解的是,图2中的终端设备21、服务器22的数量仅仅是示意性的。实际实现中,根据实际需求部署任意数量的终端设备21、服务器22。
下面,基于图2所示实施环境,对本申请实施例所述的标签渲染方法进行详细说明。示例性的,请参照图3,图3是本申请实施例提供的标签渲染方法的流程图。本申请实施例的执行主体是电子设备,该电子设备例如是上述的终端设备,本实施例包括:
301、识别请求渲染角色目标视角下的目标界面的漫游指令。
本申请实施例中,角色又称作渲染相机等。在三维的数字世界中漫游时,用户通过操作鼠标、键盘、触摸屏等下发漫游指令,电子设备识别到漫游指令后重新渲染并显示目标界面,以给用户产生一种转向或行进的感觉,使得用户身临其境的进行沉浸式漫游。
漫游过程中,角色行进至三维的数字世界中的不同位置,或者,角色转向后角色的视角发生变化。以下为清楚起见,将漫游之前角色的视角称之为当前视角,将漫游后角色的视角称之为目标视角,将当前视角对应的界面称之为当前界面,将目标视角对应的界面称之为目标界面。电子设备每次识别到漫游指令后,电子设备渲染角色目标视角下的目标界面并显示。
302、响应于所述漫游指令,确定所述目标视角的视野范围内的3D标签,以得到第一集合。
本申请实施例中,服务器用于提供数字世界的相关数据。例如,电子设备上安装浏览器、应用程序(application,APP)等,用户在浏览器中输入数字世界的网址等,即可打开数字世界的web站点,并在数字世界中漫游。漫游过程中,电子设备从服务器获取用于显示目标界面的相关数据,并对该些数据进行处理,最终在显示屏上渲染并显示目标视角下的目标界面,该目标界面上具有孪生体和3D标签等。
一个数字世界中包含很多个孪生体和3D标签。比如,数字世界为校园对应的数字世界中,则对于真实校园中的每个物理实体,如一栋楼、一张桌子、一把椅子等,数字世界中都具有与之对应的孪生体。然而,角色的视野范围是有限的。因此,本步骤中,电子设备从标签集合中确定出目标视角的视野范围内的3D标签以得到第一集合。
303、删除所述第一集合中被孪生体遮挡的3D标签,以得到第一集合。
电子设备确定出第一集合后,对第一集合中的3D标签进行遮挡剔除,即剔除完全被孪生体遮挡或部分被孪生体遮挡的3D标签,将剩余3D标签形成的集合称之为第二集合。
304、根据所述第二集合渲染并显示所述目标界面。
经过遮挡剔除后,第二集合中的各3D标签均为未被孪生体遮挡的标签,因此不会出现3D标签未被正确遮挡的现象。电子设备根据第二集合中的3D标签的位置、目标视角的视野范围内的各孪生体等,渲染并显示目标界面。
本申请实施例提供的标签渲染方法,电子设备识别到请求渲染角色目标视角下的目标界面的漫游指令后,确定出目标视角的视野范围内的3D标签以得到第一集合,删除第一集合中被孪生体遮挡的3D标签以得到第二集合,之后根据第二集合渲染并显示目标界面。采用该种方案,电子设备对角色目标视角的视野范围内的3D标签进行遮挡剔除,以删除被孪生体遮挡的3D标签,剩余的3D标签形成第二集合,由于第二集合中的各3D标签均为未被孪生体遮挡的标签,因此能够确保3D标签完整有序的显示,实现提高数字世界中3D标签显示质量的同时,实现降低3D标签显示成本的目的。
上述实施例中,步骤302可采用视椎体剔除的方式实现,经过视椎体剔除后,若将第一集合中的全部标签显示在目标界面上,则目标界面上很有可能会出现未被正确遮挡的3D标签和/或相互重叠的3D标签。因此,当第一集合中存在未被正确遮挡的3D标签时,需要对第一集合中的3D标签进行遮挡剔除。步骤303又称作遮挡剔除。经过遮挡剔除后得到第二集合。可选的,若第二集合中具有相互重叠的3D标签,则需进一步的对第二集合中的3D标签进行重叠聚合。而且,漫游过程中,角色的位置和朝向不断的发生变化,使得角色的目标视角也在实时变化,因此,电子设备实时进行视椎体剔除、遮挡剔除和重叠聚合,使得目标界面随着角色的目标视角的改变而改变。本申请实施例提供的标签渲染方法由电子设备执行,电子设备实时进行计算等,确保大部分机型的流程运行。
下面,对视椎体剔除、遮挡剔除和重叠聚合分别进行详细说明。
首先,视椎体剔除。
可选的,电子设备确定第一集合的过程中,电子设备响应于所述漫游指令,从标签集合中确定出3D坐标落入目标视角的视椎体内的3D标签,将3D坐标落入目标视角的视椎体内的3D标签作为所述第一集合中的3D标签,所述标签集合是所述角色漫游的数字世界中的3D标签的集合。
图4是本申请实施例提供的标签渲染方法中视椎体剔除的示意图。请参照图4,长方体表示一个数字世界,该数字世界中存在大量的孪生体和3D标签。对于每个3D标签,电子设备将3D标签上关键点的3D坐标作为该3D标签的3D坐标,3D标签如图中黑点所示,数字世界中所有3D标签构成的集合称之为标签集合,图中未示意图出孪生体。角色如图中灰色填充圆圈所示,角色目标视角的视椎体例如为一个四棱锥。电子设备将标签集合中所有落入视椎体内的3D标签作为第一集合中的标签。
采用该种方案,电子设备通过视椎体剔除的方式从标签集合中确定出第一集合,准确率高、速度快。
另外,对于孪生体,也可以采用视椎体剔除的方式,以使得电子设备快速准确的确定出目标界面上显示哪些孪生体、不显示哪些孪生体。
其次,遮挡剔除。
经过视椎体剔除后,若将第一集合中的全部标签显示在目标界面上,则目标界面上可能会出现未被正确遮挡的3D标签和相互重叠的3D标签,如上述的图1A和图1B所示。针对3D标签未被正确遮挡的情况,本申请实施例中对第一集合中的3D标签进行遮挡剔除。
遮挡剔除是指从第一集合中删除被孪生体遮挡的3D标签。遮挡剔除过程中,对于所述第一集合中的每个3D标签,电子设备确定所述角色与所述3D标签之间的连线上是否存在孪生体。若所述连线上存在孪生体,则确定所述3D标签为被孪生体遮挡的3D标签,之后将被孪生体遮挡的3D标签从第一集合中删除。若连线上不存在孪生体,则无需删除。
本申请实施例中,电子设备从角色所在位置向第一集合内的各3D标签发射线,从而将角色和3D标签连接起来得到连线。例如,电子设备从标签上确定出一个关键点,用这个点代表标签,电子设备连接角色和关键点从而得到连线。
图5是本申请实施例提供的标签渲染方法中3D标签的结构示意图。请参照图5,一个完整的3D标签包括标签类型、标签图标、背景板、标签名称和脚线等。标签类型用于指示3D标签是否为AR标签。标签图标和孪生体相对应。例如,孪生体为摄像头,则标签图标为摄像头图标,可根据需求灵活设置。背景板的样式和大小也可以灵活设置。图5显示的是数字世界中一个摄像头的3D标签。
本申请实施例中,可以将3D标签上的任意点作为关键点,关键点例如是脚线的底端、背景板的中心等。例如,图5中,将脚线的低端作为关键点,角色和3D标签的连线指角色和脚线底端的连线。电子设备从角色开始向每个3D标签发射线后,得到角色和各3D标签之间的连线。若连线上具有孪生体,则表示3D标签被孪生体遮挡。
电子设备得到角色和3D标签之间的连线后,能得到连线上各点的坐标。另外,目标界面上待显示的各个孪生体具有模型网格,即每个孪生体的表面为很多个三角面网格组成。电子设备确定各三角面网格的坐标是否和连线上某个点的坐标相同,若一个孪生体的三角面网格的坐标和连线上某个点的坐标相同,则说明该孪生体贯穿连线,即连线上有孪生体,该孪生体遮挡了3D标签,该3D标签是需要从第一集合中剔除的3D标签。
图6是本申请实施例提供的标签渲染方法中经过遮挡剔除的目标界面示意图。请参照图6,相较于图1A,目标界面上仅显示标签1,而不显示被建筑物遮挡的标签2和标签3。
采用该种方案,电子设备通过确定角色与3D标签之间的连线上是否有孪生体,从而判断出3D标签是否被孪生体遮挡,准确率高、速度快。
可选的,角色和3D标签之间的连线,可以是一条连线,也可以是多条连线。为了使得角色和3D标签之间具有多条连线,电子设备从角色开始,向同一个3D标签上的多个关键点发出射线,从而得到角色和3D标签之间的多条连线。之后,电子设备确定多条连线中超过预设数量的连线上是否存在孪生体。若超过预设数量的连线上存在孪生体,则确定3D标签为被孪生体遮挡的3D标签。若任意一条连线上没有孪生体,或者,少于预设数量的连线上存在孪生体,则确定3D标签未被孪生体遮挡。其中,预设数量例如是总数量的二分之一等,本申请实施例并不限制。
示例性的,假设一共有6条连线,其中3条或3条以上的连线上有孪生体,说明3D标签大部分或全部被孪生体遮挡。此时,不论3D标签是被部分遮挡还是被全部遮挡,均认为该3D标签是被孪生体遮挡的3D标签,是需要从第一集合中删除的3D标签,以确保后续目标界面上不会出现显示不全的3D标签。若0条、1条或2条连线上有孪生体,则说明3D标签未被孪生体遮挡或仅小部分被孪生体遮挡,此时,不论3D标签完全未被遮挡还是仅很小部分被孪生体遮挡,均认为该3D标签是未被孪生体遮挡的3D标识,无需从第一集合中删除。
采用该种方案,通过为3D标签设置多个关键点,遮挡剔除时同时考虑多条连线,实现防止误判的目的。
可选的,上述实施例中,若所述连线上存在孪生体,电子设备进一步的确定所述孪生体与所述3D标签之间的距离。当所述孪生体与所述3D标签之间的距离大于第一阈值时,则确定所述3D标签为被孪生体遮挡的3D标签。当孪生体与3D标签之间的聚类小于或等于第一阈值时,确定3D标签未被孪生体遮挡。
示例性的,孪生体的表面是一些三角面网格等,一个孪生体也可以称之为一个模型网格,模型网格的精度会有一定的起伏。当孪生体和3D标签的距离很近时,即使该3D标签被遮挡,还是期望该3D标签能够显示,以克服模型网格的误差导致的3D标签未显示的问题。为此,本申请实施例中,当连线上存在孪生体时,电子设备进一步的确定孪生体与3D标签的距离。当孪生体与3D标签之间的距离大于第一阈值时,说明3D标签和孪生体距离较远,电子设备认为3D标签确实被该孪生体遮挡。当孪生体与3D标签之间的距离小于或等于第一阈值时,说明3D标签和孪生体距离很近,该3D标签可视为未被孪生体遮挡的3D标签。其中,第一阈值例如是1米、1.2米等,本申请实施例并不限制。
采用该种方案,当连线上具有孪生体的时候,电子设备进一步的考虑孪生体和3D标签之间的距离,根据距离确定3D标签是否被孪生体遮挡,极大程度上消除了由于模型网格精度问题导致的误判,进而实现准确渲染并显示3D标签的目的。
可选的,上述实施例中,对于所述第一集合中的每个3D标签,电子设备确定所述角色与所述3D标签之间的连线上是否存在孪生体的过程中,首先,电子设备将所述目标视角的视野范围按照空间位置划分为多个空间。之后,对于所述第一集合中的每个3D标签,电子设备从所述多个空间中确定出与所述连线相交的目标空间,并对所述连线与所述目标空间内的孪生体碰撞检测,以确定所述连线上是否存在孪生体。
本申请实施例中,可以将角色的目标视角的视野范围理解成被一个立方体、一个长方体、一个圆锥、一个三角锥或一个四棱锥等。遮挡剔除的过程,实际上是对连线和视野范围内的各孪生体进行碰撞检测的过程,若角色和3D标签之间的连线贯穿一个孪生体,则说明连续上有孪生体。倘若对连线和每个孪生体都进行碰撞检测,则计算量庞大,计算复杂度高,很容易造成漫游卡顿、电子设备发热、死机等现象。为提升效率并避免终端设备宕机,本申请实施例中,电子设备采用层次包围体结构(Bounding Volume Hierarchy,BVH)来提升检测效率。
BVH使用树的方式来管理空间中的物体。图7是本申请实施例提供的标签渲染方法中使用球形BV构建出的BVH示意图。BVH中,父节点的层次包围体(Bounding Volume,BV)包含所有子节点的BV。在计算3D标签是否被遮挡时,电子设备从BVH的根节点开始遍历,快速地遍历场景中所有物体的可见性信息。
请参照图7,大圆表示视野范围内和视野范围外的总和,图中的各种图形可视为孪生体。视野范围如图中三角形所示。该视野范围被分成三部分,如图中的①、②、③所示。整个①、②在视野范围内,③的部分在视野范围内。电子设备对连线与孪生体进行碰撞检测的时候,从这3个空间中确定出目标空间,如空间②,后续仅对连线与空间②内的孪生体进行碰撞检测,无需对空间①和空间③内的孪生体进行碰撞检测,极大程度上减少了计算量。
需要说明的,图7仅仅是一个示意图。实际实现时可灵活的对视野范围进行划分。例如,将视野范围视为一个正方体,采用八叉树的方式,将视野范围划分为8个空间,从该8个空间中确定出与连线相交的目标空间。若目标空间的数量不为0,则对每个目标进一步的进行八叉树划分。每次划分后,从多个空间中确定出目标空间,直到划分到最低级别。划分的层级例如是10次、20次等,本申请实施例并不限制。初始时,是对视野范围进行划分,到后面就是对孪生体进行划分了,从而将一个孪生体的所有三角面网格划分为多个集合,最终仅需对某个集合中的三角面网格和连续进行碰撞检测。这样一来,对连线和孪生体进行碰撞检测时,无需对每个孪生体和连线进行碰撞检测。当确定出需要进行碰撞检测的孪生体后,也无需对该孪生体上的每个三角面网格和连线进行碰撞检测。
采用该种方案,通过BVH的方式加速遮挡剔除,确保标签渲染方法能够在终端设备上运行,无需依赖远程服务器,具备较好的可移植性。而且,能够保证大部分机型实时流畅运行。
最后,重叠聚合。
电子设备对第一集合内的3D标签经过遮挡剔除后得到第二集合。该第二集合中很有可能存在相互重叠的3D标签,如上图1B所示。因此,需要对第二集合中的3D标签进行重叠聚合。
重叠聚合过程中,电子设备对第二集合中的各3D标签进行碰撞检测以得到标签组,属于同一个标签组的各3D标签碰撞。之后,电子设备合并所述标签组内的3D标签以得到合并标签,根据所述合并标签渲染并显示所述目标界面。
示例性的,对于第二集合中的每个3D标签,电子设备确定其余3D标签与该3D标签是否重叠,若重叠面积大于该3D标签面积的25%,则认为这两个3D标签相互碰撞。电子设备将相互碰撞的3D标签作为一个标签组。一个标签组中,任意两个3D标签相互碰撞;或者,任意相邻的两个3D标签碰撞。
对于每一个标签组,电子设备合并该标签组中的各3D标签从而得到合并标签。例如,图1B中,两个个3D标签相互重叠,电子设备将该2个标签合并,合并标签上显示:聚合两个标签。
图8是本申请实施例提供的标签渲染方法中经过重叠聚合的目标界面示意图。请参照图8,相较于图1B,原本重叠的2个3D标签仅显示一个合并标签,使得目标界面上的每个3D标签都完整显示。
采用该种方案,电子设备对第二集合中的各3D标签进行碰撞检测,对发生碰撞的各3D标签进行合并显示,确保3D标签完整有序的显示,看不全或看不到的3D标签不显示,看的到的3D标签显示完整无遮挡,极大程度提高了目标界面的显示质量。
需要说明的是,若视椎体剔除之后第一集合中存在未被正确遮挡的3D标签,遮挡剔除之后第二集合中存在重叠的3D标签,则终端设备并不显示上述经过视椎体剔除的目标界面和经过遮挡剔除后的目标界面,而是仅显示经过重叠聚合后的目标界面。也就是说,对于正在三维的数字世界中漫游的普通用户而言,其看到的仅仅是经过重叠聚合后的目标就界面。
另外,还需要说明的是,上述的图1A、图1B、图6、图8仅通过少量3D标签来说明本申请方案,并不意味着数字世界中仅存在少量的3D标签。实质上,数字世界中的3D标签是海量的。
可选的,上述实施例中,电子设备对所述第二集合中的各3D标签进行碰撞检测以得到标签组的过程中,首先,确定第二集合中的每个3D标签的外包围盒,以得到多个外包围盒。之后,对于所述多个外包围盒中的第一外包围盒,电子设备确定所述多个外包围盒中是否存在与所述第一外包围盒重叠、且重叠面积大于预设面积的第二外包围盒,所述第一外包围盒是所述多个外包围盒中的任意一个外包围盒,所述第二外包围盒是所述多个外包围盒中除所述第一外包围盒外的其他外包围盒。当所述多个外包围盒中存在与所述第一外包围盒重叠、且重叠面积大于预设面积的第二外包围盒时,电子设备确定所述第一外包围盒对应的3D标签和所述第二外包围盒对应的3D标签发生碰撞,这两个3D标签属于同一个标签组。当多个外包围盒中不存在与第一外包围盒重叠、且重叠面积大于预设面积的第二外包围盒时,电子设备确定第一外包围盒对应的3D标签和第二外包围盒对应的3D标签不重叠。
示例性的,电子设备对第二集合中的每个3D标签计算可视区域外包围盒,并进行碰撞检测。任意重叠在一起的3D标签都会聚合在一起显示。本申请实施例中的重叠是指:第一外包围盒和第二外包围和的重叠面积至少大于预设面积,预设面积例如是第一外包围盒的25%等,本申请实施例并不限制。
采用该种方案,通过创建外包围盒的方式对3D标签进行碰撞检测,速度快,准确率高。
可选的,上述实施例中,电子设备根据所述第二集合渲染并显示所述目标界面的过程中,在所述目标界面上先绘制所述视野范围内的孪生体后,再绘制所述第二集合中的3D标签,以渲染并显示所述目标界面。
示例性的,电子设备先进行场景绘制,即先绘制视野范围内的孪生体,再绘制经过重叠聚合后的各3D标签以及合并标签,从而将孪生体和标签混合叠加在一起,能够确保目标界面上的3D标签和合并标签不会因为角度问题被遮挡,从而使得目标界面上的各标签完整显示。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图9为本申请实施例提供的一种标签渲染装置的示意图。该标签渲染装置900包括:识别模块91、响应模块92、处理模块93和显示模块94。
识别模块91,用于识别请求渲染角色目标视角下的目标界面的漫游指令;
响应模块92,用于响应于所述漫游指令,确定所述目标视角的视野范围内的3D标签,以得到第一集合;
处理模块93,用于删除所述第一集合中被孪生体遮挡的3D标签,以得到第二集合;
显示模块94,用于根据所述第二集合渲染并显示所述目标界面。
一种可行的实现方式中,所述处理模块93删除所述第一集合中被孪生体遮挡的3D标签,以得到第二集合之前,还用于对于所述第一集合中的每个3D标签,确定述角色与所述3D标签之间的连线上是否存在孪生体;若所述连线上存在孪生体,则确定所述3D标签为被孪生体遮挡的3D标签。
一种可行的实现方式中,所述处理模块93,用于若所述连线上存在孪生体,则确定所述孪生体与所述3D标签之间的距离;当所述孪生体与所述3D标签之间的距离大于第一阈值时,则确定所述3D标签为被孪生体遮挡的3D标签。
一种可行的实现方式中,所述处理模块93,用于将所述目标视角的视野范围按照空间位置划分为多个空间;对于所述第一集合中的每个3D标签,从所述多个空间中确定出与所述连线相交的目标空间;对所述连线与所述目标空间内的孪生体碰撞检测,以确定所述连线上是否存在孪生体。
一种可行的实现方式中,所述处理模块93,用于当所述连线是所述角色与所述3D标签的多个关键点之间的连线时,确定多条连线中超过预设数量的连线上是否存在孪生体;若多条连线中超过预设数量的连线上存在孪生体,则确定所述3D标签为被孪生体遮挡的3D标签。
一种可行的实现方式中,所述处理模块93,还用于对所述第二集合中的各3D标签进行碰撞检测以得到标签组,所述标签组包含的各3D标签碰撞,合并所述标签组内的3D标签以得到合并标签;
所述显示模块94,用于根据所述合并标签渲染并显示所述目标界面。
一种可行的实现方式中,所述处理模块93,用于确定所述第二集合中的每个3D标签的外包围盒,以得到多个外包围盒;对于所述多个外包围盒中的第一外包围盒,确定所述多个外包围盒中是否存在与所述第一外包围盒重叠、且重叠面积大于预设面积的第二外包围盒,所述第一外包围盒是所述多个外包围盒中的任意一个外包围盒,所述第二外包围盒是所述多个外包围盒中除所述第一外包围盒外的其他外包围盒;当所述多个外包围盒中存在与所述第一外包围盒重叠、且重叠面积大于预设面积的第二外包围盒时,确定所述第一外包围盒对应的3D标签和所述第二外包围盒对应的3D标签发生碰撞。
一种可行的实现方式中,所述显示模块94,用于在所述目标界面上先绘制所述视野范围内的孪生体后,再绘制所述第二集合中的3D标签,以渲染并显示所述目标界面。
一种可行的实现方式中,所述响应模块92,用于响应于所述漫游指令,从标签集合中确定出3D坐标落入目标视角的视椎体内的3D标签,将3D坐标落入目标视角的视椎体内的3D标签作为所述第一集合中的3D标签,所述标签集合是所述角色漫游的数字世界中的3D标签的集合。
本申请实施例提供的标签渲染装置,可以执行上述实施例中电子设备的动作,其实现原理和技术效果类似,在此不再赘述。
图10是本申请实施例提供的电子设备的结构示意图。请参照图10,本申请实施例所述的电子设备1000包括:至少一个处理器1001,至少一个通信总线1002、用户接口1003、至少一个网络接口1004和存储器1005。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。其中,显示屏用于显示编辑界面、漫游界面等。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种接口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的全景球的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及电子设备的操作应用程序。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如上电子设备实施的标签渲染方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包含计算机程序,计算机程序被处理器执行时实现如上电子设备实施的标签渲染方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种标签渲染方法,其特征在于,包括:
识别请求渲染角色目标视角下的目标界面的漫游指令;
响应于所述漫游指令,确定所述目标视角的视野范围内的3D标签,以得到第一集合;
删除所述第一集合中被孪生体遮挡的3D标签,以得到第二集合;
根据所述第二集合渲染并显示所述目标界面。
2.根据权利要求1所述的方法,其特征在于,所述删除所述第一集合中被孪生体遮挡的3D标签,以得到第二集合之前,还包括:
对于所述第一集合中的每个3D标签,确定述角色与所述3D标签之间的连线上是否存在孪生体;
若所述连线上存在孪生体,则确定所述3D标签为被孪生体遮挡的3D标签。
3.根据权利要求2所述的方法,其特征在于,所述若所述连线上存在孪生体,则确定所述3D标签为被孪生体遮挡的3D标签,包括:
若所述连线上存在孪生体,则确定所述孪生体与所述3D标签之间的距离;
当所述孪生体与所述3D标签之间的距离大于第一阈值时,则确定所述3D标签为被孪生体遮挡的3D标签。
4.根据权利要求2所述的方法,其特征在于,所述对于所述第一集合中的每个3D标签,确定所述角色与所述3D标签之间的连线上是否存在孪生体,包括:
将所述目标视角的视野范围按照空间位置划分为多个空间;
对于所述第一集合中的每个3D标签,从所述多个空间中确定出与所述连线相交的目标空间;
对所述连线与所述目标空间内的孪生体碰撞检测,以确定所述连线上是否存在孪生体。
5.根据权利要求2所述的方法,其特征在于,所述若所述连线上存在孪生体,则确定所述3D标签为被孪生体遮挡的3D标签,包括:
当所述连线是所述角色与所述3D标签的多个关键点之间的连线时,确定多条连线中超过预设数量的连线上是否存在孪生体;
若多条连线中超过预设数量的连线上存在孪生体,则确定所述3D标签为被孪生体遮挡的3D标签。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述根据所述第二集合渲染并显示所述目标界面,包括:
对所述第二集合中的各3D标签进行碰撞检测以得到标签组,所述标签组包含的各3D标签碰撞;
合并所述标签组内的3D标签以得到合并标签;
根据所述合并标签渲染并显示所述目标界面。
7.根据权利要求6所述的方法,其特征在于,所述对所述第二集合中的各3D标签进行碰撞检测以得到标签组,包括:
确定所述第二集合中的每个3D标签的外包围盒,以得到多个外包围盒;
对于所述多个外包围盒中的第一外包围盒,确定所述多个外包围盒中是否存在与所述第一外包围盒重叠、且重叠面积大于预设面积的第二外包围盒,所述第一外包围盒是所述多个外包围盒中的任意一个外包围盒,所述第二外包围盒是所述多个外包围盒中除所述第一外包围盒外的其他外包围盒;
当所述多个外包围盒中存在与所述第一外包围盒重叠、且重叠面积大于预设面积的第二外包围盒时,确定所述第一外包围盒对应的3D标签和所述第二外包围盒对应的3D标签发生碰撞。
8.根据权利要求1~5任一项所述的方法,其特征在于,所述根据所述第二集合渲染并显示所述目标界面,包括:
在所述目标界面上先绘制所述视野范围内的孪生体后,再绘制所述第二集合中的3D标签,以渲染并显示所述目标界面。
9.根据权利要求1~5任一项所述的方法,其特征在于,所述响应于所述漫游指令,确定所述目标视角的视野范围内的3D标签,以得到第一集合,包括:
响应于所述漫游指令,从标签集合中确定出3D坐标落入目标视角的视椎体内的3D标签,将3D坐标落入目标视角的视椎体内的3D标签作为所述第一集合中的3D标签,所述标签集合是所述角色漫游的数字世界中的3D标签的集合。
10.一种标签渲染装置,其特征在于,包括:
识别模块,用于识别请求渲染角色目标视角下的目标界面的漫游指令;
响应模块,用于响应于所述漫游指令,确定所述目标视角的视野范围内的3D标签,以得到第一集合;
处理模块,用于删除所述第一集合中被孪生体遮挡的3D标签,以得到第二集合;
显示模块,用于根据所述第二集合渲染并显示所述目标界面。
11.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时使得所述电子设备实现如权利要求1至9任一所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410308639.XA CN118172522A (zh) | 2024-03-18 | 2024-03-18 | 标签渲染方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410308639.XA CN118172522A (zh) | 2024-03-18 | 2024-03-18 | 标签渲染方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118172522A true CN118172522A (zh) | 2024-06-11 |
Family
ID=91355982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410308639.XA Pending CN118172522A (zh) | 2024-03-18 | 2024-03-18 | 标签渲染方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118172522A (zh) |
-
2024
- 2024-03-18 CN CN202410308639.XA patent/CN118172522A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9852544B2 (en) | Methods and systems for providing a preloader animation for image viewers | |
US9240070B2 (en) | Methods and systems for viewing dynamic high-resolution 3D imagery over a network | |
US20100194751A1 (en) | Ray tracing a three dimensional scene using a grid | |
KR102555214B1 (ko) | 혼합 현실에서 동적 가상 콘텐츠들을 생성하기 위한 디바이스 및 방법 | |
CN103970518B (zh) | 一种逻辑窗口的3d渲染方法和装置 | |
CN113112603A (zh) | 三维模型优化的方法和装置 | |
CN110619683A (zh) | 三维模型调整方法、装置、终端设备及存储介质 | |
CN111221514B (zh) | 基于OsgEarth的三维可视化组件实现方法及系统 | |
CN115082609A (zh) | 图像渲染方法、装置、存储介质及电子设备 | |
CN114297746A (zh) | 建筑信息模型的渲染方法、装置、电子设备和存储介质 | |
AU2016262127B2 (en) | Method and system for computer graphics rendering | |
CN111080781A (zh) | 一种三维地图显示方法及移动终端 | |
Dong et al. | Real-time occlusion handling for dynamic augmented reality using geometric sensing and graphical shading | |
CN112906125B (zh) | 铁路固定设施bim模型轻量化加载方法 | |
CN113096255A (zh) | 一种基于WebGL三维视图同步融合非侵入式集成技术方法 | |
CN117372602A (zh) | 一种异构三维多对象融合渲染方法、设备及系统 | |
CN118172522A (zh) | 标签渲染方法、装置、设备及可读存储介质 | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
JPH0636013A (ja) | 地形データの作成方法および装置 | |
CN111870954B (zh) | 一种高度图生成方法、装置、设备及存储介质 | |
KR20220063291A (ko) | 물체에 대한 충돌 감지 방법과, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 | |
CN116958457A (zh) | 一种基于OSGEarth的战争迷雾效果绘制方法 | |
CN114332203A (zh) | 一种虚拟光源的光源信息确定方法和装置 | |
CN114972558A (zh) | 书写笔迹绘制方法、装置、介质以及交互平板 | |
Chen et al. | A quality controllable multi-view object reconstruction method for 3D imaging systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |