WO2024139387A1 - 一种数字孪生体的加载方法及相关装置 - Google Patents

一种数字孪生体的加载方法及相关装置 Download PDF

Info

Publication number
WO2024139387A1
WO2024139387A1 PCT/CN2023/117618 CN2023117618W WO2024139387A1 WO 2024139387 A1 WO2024139387 A1 WO 2024139387A1 CN 2023117618 W CN2023117618 W CN 2023117618W WO 2024139387 A1 WO2024139387 A1 WO 2024139387A1
Authority
WO
WIPO (PCT)
Prior art keywords
skeleton
digital twin
sub
loading
level
Prior art date
Application number
PCT/CN2023/117618
Other languages
English (en)
French (fr)
Inventor
冯浩霖
张洵
王言
Original Assignee
超聚变数字技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 超聚变数字技术有限公司 filed Critical 超聚变数字技术有限公司
Publication of WO2024139387A1 publication Critical patent/WO2024139387A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Definitions

  • the present application relates to the field of computer technology, and in particular to a loading method and related devices for a digital twin.
  • the embodiments of the present application provide a digital twin loading method and related devices, which can improve the loading speed of the digital twin.
  • the embodiment of the present application provides a method for loading a digital twin, the method comprising: receiving an input digital twin model, the digital twin model comprising skeleton data, the digital twin model being composed of at least two digital twins of minimum granularity; constructing a digital twin skeleton based on the skeleton data, the digital twin skeleton comprising a sub-skeleton corresponding to each digital twin of minimum granularity; determining the hierarchy of each sub-skeleton; generating a configuration file of the digital twin model, the configuration file comprising information indicating the loading order of the digital twin skeleton, the loading order of the digital twin skeleton being determined by the hierarchy corresponding to each sub-skeleton; and loading each sub-skeleton in sequence based on the configuration file.
  • the loading speed of the digital twin can be improved.
  • the level of each sub-skeleton is determined, including: constructing a virtual camera outside the digital twin skeleton, the distance between the virtual camera and the center point of the digital twin skeleton is a multiple of the longest distance from the center point to each end face of the digital twin skeleton; emitting rays to the center point based on the virtual camera, and marking the level of the sub-skeleton to which each end face belongs according to the time sequence of different end faces of the digital twin skeleton contacted by the rays; and normalizing the marking results to determine the level of each sub-skeleton.
  • constructing a virtual camera outside the digital twin skeleton includes: constructing a sphere with a radius that is a multiple of the longest distance from the center point to each end face of the digital twin skeleton, with the center point as the center of the sphere; and constructing a virtual camera in the projection area of each end face of the digital twin skeleton on the spherical surface of the sphere.
  • the annotation result includes at least one level of each sub-skeleton being annotated; the annotation result is normalized, including: when a sub-skeleton has two or more levels, the level of a sub-skeleton is determined as the outermost level.
  • each sub-skeleton is loaded in sequence based on the configuration file, including: loading from the outermost digital twin skeleton to the innermost digital twin skeleton in sequence; sub-skeletons marked as the same level are re-determined as sub-skeletons of the same level.
  • This setting of the loading order allows the digital twin to load the skeleton from the outside to the inside, which can increase the loading speed of the outer skeleton of the digital twin, so that the user can view the loaded digital twin faster.
  • the digital twin model also includes texture map data; the method also includes: generating a texture map based on the texture map data, wherein the texture map has a corresponding relationship with the sub-skeleton corresponding to the digital twin of the smallest granularity; compressing each texture map to generate an image placeholder corresponding to each texture map; generating a configuration file for the digital twin model, the configuration file includes a data file for each image placeholder, and the configuration file is also used to generate: when loading each sub-skeleton, the image of the surface of the sub-skeleton.
  • the image placeholder can retain part of the image information of the original texture map, and can greatly reduce the amount of image data, which can speed up the loading speed of the image on the surface of the sub-skeleton, thereby effectively avoiding the "white mold phenomenon" and improving the user's perceptual experience.
  • the method further includes: generating a blurred animation according to each texture map and each image placeholder, the blurred animation being used to display the animation effect loaded from each image placeholder to each texture map; the configuration file also includes a data file of the blurred animation; when loading each sub-skeleton in sequence, the method further includes: based on the configuration file, loading and displaying the image placeholder corresponding to the sub-skeleton at the same level, loading and displaying the blurred animation corresponding to the sub-skeleton at the same level, and replacing the image placeholder corresponding to the sub-skeleton at the same level with the texture map.
  • the blurred animation can display the animation effect loaded from the image placeholder to the texture map. In other words, in terms of visual perception, the user can see that the texture image gradually becomes clear from blurred.
  • each texture map is compressed to generate a picture placeholder corresponding to each texture map, including: losslessly compressing each texture map to generate a compressed image; and lossily compressing the compressed image to generate a picture placeholder corresponding to each texture map.
  • an embodiment of the present application provides another method for loading a digital twin.
  • the method comprises: receiving an input digital twin model, the digital twin model comprising skeleton data and texture map data, the digital twin model being composed of at least two digital twins of minimum granularity; obtaining a configuration file of the digital twin model, the configuration file comprising information indicating the loading order of the digital twin skeleton of the digital twin model, and the texture map data of the digital twin model;
  • the digital twin skeleton includes a sub-skeleton corresponding to each digital twin of the smallest granularity, and the sub-skeleton has a corresponding relationship with the texture map.
  • the loading order of the digital twin skeleton is from the outermost sub-skeleton to the innermost sub-skeleton in sequence; according to the skeleton data, texture map data and configuration file, the following operations are performed in sequence according to the loading order of the digital twin skeleton: load and display the sub-skeleton of the same level and the image placeholder corresponding to the sub-skeleton of the same level; load and display the fuzzy animation corresponding to the sub-skeleton of the same level, and replace the image placeholder corresponding to the sub-skeleton of the same level with the texture map.
  • the loading speed of the digital twin can be improved.
  • the processing unit is further used to: construct a virtual camera outside the digital twin skeleton, where the distance between the virtual camera and the center point of the digital twin skeleton is a multiple of the longest distance from the center point to each end face of the digital twin skeleton; based on the virtual camera emitting rays to the center point, according to the time sequence of different end faces of the digital twin skeleton contacted by the rays, mark the level of the sub-skeleton to which each end face belongs; and normalize the marking results.
  • the processing unit when used to construct a virtual camera outside the digital twin skeleton, it specifically includes: constructing a sphere with a radius that is a multiple of the longest distance from the center point to each end face of the digital twin skeleton, and the center point as the center of the sphere; constructing a virtual camera per unit area of the spherical surface of the sphere.
  • the processing unit when used to construct a virtual camera outside the digital twin skeleton, it specifically includes: constructing a sphere with a radius that is a multiple of the longest distance from the center point to each end face of the digital twin skeleton, and the center point as the center of the sphere; constructing a virtual camera in the projection area of each end face of the digital twin skeleton on the spherical surface of the sphere.
  • the annotation result includes at least one level at which each sub-skeleton is annotated; when the processing unit is used to normalize the annotation result, it specifically includes: when a sub-skeleton has two or more levels, determining the level of a sub-skeleton as the outermost level.
  • the loading unit is used to load each sub-skeleton in sequence based on the configuration file, specifically including: loading from the outermost digital twin skeleton to the innermost digital twin skeleton in sequence; and re-determining the sub-skeletons marked as the same level as the sub-skeletons of the same level.
  • the processing unit is further used to: generate a blur animation according to each texture map and each image placeholder, the blur animation is used to display the animation effect loaded from each image placeholder to each texture map; configure The file also includes a data file of a blurred animation; when the loading unit is used to load each sub-skeleton in turn, it is also used to: based on the configuration file, load and display the image placeholders corresponding to the sub-skeletons at the same level, load and display the blurred animations corresponding to the sub-skeletons at the same level, and replace the image placeholders corresponding to the sub-skeletons at the same level with texture maps.
  • the present application provides a computer-readable storage medium, in which a computer program or instruction is stored.
  • a computer program or instruction is stored.
  • the method of executing the above aspects is implemented.
  • FIG1 is a schematic diagram of a digital twin and a digital twin skeleton provided in an embodiment of the present application
  • FIG3 is a schematic diagram of the software structure of a digital twin loading platform provided in an embodiment of the present application.
  • FIG4 is a flow chart of a method for loading a digital twin provided in an embodiment of the present application.
  • FIG5 is a flow chart of generating a configuration file provided in an embodiment of the present application.
  • FIG6 is a schematic diagram of an environmental ray scanning provided by an embodiment of the present application.
  • FIG7 is a schematic diagram of another environmental ray scanning provided by an embodiment of the present application.
  • FIG8 is a schematic diagram of another environmental ray scanning provided by an embodiment of the present application.
  • FIG11 is a schematic diagram of a digital twin provided in an embodiment of the present application.
  • FIG12 is a schematic diagram of a digital twin loading process provided in an embodiment of the present application.
  • FIG13 is a flow chart of a method for loading a digital twin provided in an embodiment of the present application.
  • FIG14 is a flow chart of another method for loading a digital twin provided in an embodiment of the present application.
  • FIG15 is a schematic diagram of the structure of a loading device for a digital twin provided in an embodiment of the present application.
  • each sub-skeleton is loaded in sequence, including: loading from the outermost digital twin skeleton to the innermost digital twin skeleton in sequence; and sub-skeletons marked as the same level are re-determined as sub-skeletons of the same level.
  • step 1403 may refer to the introduction of step 404 and step 405 in FIG. 4 .
  • Processing unit 1502 is used to obtain a configuration file of the digital twin model, which includes information indicating the loading order of the digital twin skeleton of the digital twin model, and data files of image placeholders and blurred animations corresponding to the texture map of the digital twin model; wherein the digital twin skeleton includes a sub-skeleton corresponding to each digital twin of the smallest granularity, and the sub-skeleton has a corresponding relationship with the texture map, and the loading order of the digital twin skeleton is from the outermost sub-skeleton to the innermost sub-skeleton in sequence.
  • the present application also provides a computer program product, which implements the functions of any of the above method embodiments when executed by a computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)

Abstract

本申请实施例公开了一种数字孪生体的加载方法及相关装置,该方法包括:接收输入的数字孪生体模型,数字孪生体模型包括骨架数据;基于骨架数据构建数字孪生体骨架;数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架,每个子骨架的中心点重合;在数字孪生体骨架外部构建虚拟摄像机;基于虚拟摄像机向中心点发射射线,根据射线接触到的数字孪生体不同端面的时间先后顺序,标注各端面所属的子骨架的层级;对标注结果进行归一化处理,确定每个子骨架的层级;基于每个子骨架的层级生成用于指示数字孪生体骨架的加载顺序的配置文件;基于配置文件,依次加载每个子骨架。通过本方法,可以提升数字孪生体的加载速度。

Description

一种数字孪生体的加载方法及相关装置
本申请要求于2022年12月26日提交中国专利局、申请号为202211674384.6、申请名称为“一种数字孪生体的加载方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种数字孪生体的加载方法及相关装置。
背景技术
数字孪生(digital twin,DT)是一种利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程。基于数字孪生技术,可以将实体装置映射到虚拟空间中,创造出该实体装置对应的虚拟模型(或称为数字模型),该虚拟模型可以称之为“数字孪生体”。数字孪生体是一种包括物理对象、过程、关系和行为等在内的现实世界的虚拟表示,可以反映其对应的实体装置的全生命周期过程,它可以利用从实体装置上的传感器发送的实时数据以及该实体装置运行的历史数据来模拟该实体装置的行为。
本领域技术人员可以利用数字孪生体对真实世界中的实体装置进行仿真分析,从而为实体装置后续的运行和改进提供辅助信息。例如,数字孪生可以用于航空航天飞行器的健康维护。首先在数字空间创建真实飞机的虚拟模型,并通过传感器数据的实时更新实现与飞机真实状态的同步,通过这样的方式,每次飞行后,技术人员可以根据现有情况和过往载荷,及时分析评估飞机是否需要维修,能否承受下次的任务载荷等。
数字孪生体骨架是指数字孪生体的几何体。一般的,在加载数字孪生体的过程中,若该数字孪生体由多个最小颗粒度的数字孪生体组成,会同时请求且同时加载各个最小颗粒度的数字孪生体的骨架,但由于数字孪生体骨架的精度较高,文件较大,这种方式会导致数字孪生体的加载速度较慢的问题。
发明内容
本申请实施例提供了一种数字孪生体的加载方法及相关装置,能够提升数字孪生体的加载速度。
第一方面,本申请实施例提供了一种数字孪生体的加载方法,该方法包括:接收输入的数字孪生体模型,数字孪生体模型包括骨架数据,数字孪生体模型由至少两个最小颗粒度的数字孪生体构成;基于骨架数据构建数字孪生体骨架,数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架;确定每个子骨架的层级;生成数字孪生体模型的配置文件,配置文件包括指示数字孪生体骨架的加载顺序的信息,数字孪生体骨架的加载顺序由每个子骨架对应的层级确定;基于配置文件,依次加载每个子骨架。通过本方法,可以提升数字孪生体的加载速度。
结合第一方面,在一种可能的实现方式中,确定每个子骨架的层级,包括:在数字孪生体骨架外部构建虚拟摄像机,虚拟摄像机与数字孪生体骨架的中心点的距离为中心点到数字孪生体骨架的各端面的最长距离的倍数;基于虚拟摄像机向中心点发射射线,根据射线接触到的数字孪生体骨架不同端面的时间先后顺序,标注各端面所属的子骨架的层级;对标注结果进行归一化处理,从而确定每个子骨架的层级。
结合第一方面,在一种可能的实现方式中,在数字孪生体骨架外部构建虚拟摄像机包括:以中心点到数字孪生体骨架的各端面的最长距离的倍数为半径,中心点为球心,构建球体;在数字孪生体骨架的每个端面在球体的球面上的投影区域中构建一个虚拟摄像机。
结合第一方面,在一种可能的实现方式中,标注结果包括每个子骨架被标注的至少一个层级;对标注结果进行归一化处理,包括:在一个子骨架存在两个或者两个以上的层级时,将一个子骨架的层级确定为最外层的层级。通过归一化处理的方式,可以避免一个子骨架存在多个层级标注,从而导致的加载顺序错乱的问题。
结合第一方面,在一种可能的实现方式中,基于配置文件,依次加载每个子骨架,包括:从最外层的数字孪生体骨架依次加载到最内层的数字孪生体骨架;被标注为同一层级的子骨架重新确定为同一层级的子骨架。这种加载顺序的设定,使得数字孪生体按照从外到内的顺序进行骨架的加载,可以使得数字孪生体的外层骨架的加载速度得到提升,从而能够让用户更快查看到加载出的数字孪生体。
结合第一方面,在一种可能的实现方式中,数字孪生体模型还包括纹理贴图数据;方法还包括:基于纹理贴图数据生成纹理贴图,其中纹理贴图与最小粒度的数字孪生体对应的子骨架具有对应关系;对每个纹理贴图进行压缩处理,生成每个纹理贴图对应的图片占位符;生成数字孪生体模型的配置文件,配置文件包括每个图片占位符的数据文件,配置文件还用于生成:在加载每个子骨架时,子骨架的表面的图像。图片占位符可以保留部分原纹理贴图的图像信息,又可以大幅降低图像的数据量,可以使得子骨架的表面的图像加载速度加快,从而有效避免“白模现象”,提升用户的感知体验。
结合第一方面,在一种可能的实现方式中,该方法还包括:根据每个纹理贴图和每个图片占位符生成模糊动画,模糊动画用于显示从每个图片占位符加载至每个纹理贴图的动画效果;配置文件中还包括模糊动画的数据文件;依次加载每个子骨架时,方法还包括:基于配置文件,加载并显示同一层级的子骨架对应的图片占位符,加载并显示同一层级的子骨架对应的模糊动画,并将同一层级的子骨架对应的图片占位符替换为纹理贴图。该模糊动画可以显示从图片占位符加载至纹理贴图的动画效果,换言之,在视觉感知方面,用户可以查看到纹理图像由模糊逐渐变得清晰。
结合第一方面,在一种可能的实现方式中,对每个纹理贴图进行压缩处理,生成每个纹理贴图对应的图片占位符,包括:对每个纹理贴图进行无损压缩,生成压缩后的图像;对压缩后的图像进行有损压缩,生成每个纹理贴图对应的图片占位符。通过对纹理贴图的两轮压缩,可以大幅降低图像的数据量,且可以保留部分原纹理贴图的图像信息。
第二方面,本申请实施例提供了又一种数字孪生体的加载方法。该方法包括:接收输入的数字孪生体模型,数字孪生体模型包括骨架数据和纹理贴图数据,数字孪生体模型由至少两个最小颗粒度的数字孪生体构成;获取数字孪生体模型的配置文件,配置文件包括指示数字孪生体模型的数字孪生体骨架的加载顺序的信息,以及数字孪生体模型的纹理贴 图对应的图片占位符与模糊动画的数据文件;其中数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架,子骨架与纹理贴图具有对应关系,数字孪生体骨架的加载顺序为从最外层的子骨架依次加载到最内层的子骨架;根据骨架数据、纹理贴图数据和配置文件,按照数字孪生体骨架的加载顺序依次执行如下操作:加载并显示同一层级的子骨架以及同一层级的子骨架对应的图片占位符;加载并显示同一层级的子骨架对应的模糊动画,将同一层级的子骨架对应的图片占位符替换为纹理贴图。通过本方法,可以提升数字孪生体的加载速度。
第三方面,本申请实施例提供的一种数字孪生体的加载装置,该数字孪生体的加载装置包括通信单元、处理单元和加载单元。其中,通信单元,用于接收输入的数字孪生体模型,数字孪生体模型包括骨架数据,数字孪生体模型由至少两个最小颗粒度的数字孪生体构成;处理单元用于执行以下操作:基于骨架数据构建数字孪生体骨架;数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架;确定每个子骨架的层级;生成数字孪生体模型的配置文件,配置文件包括指示数字孪生体骨架的加载顺序的信息,数字孪生体骨架的加载顺序由每个子骨架对应的层级确定;加载单元,用于基于配置文件,依次加载每个子骨架。
在一种可能的实现方式中,处理单元还用于:在数字孪生体骨架外部构建虚拟摄像机,虚拟摄像机与数字孪生体骨架的中心点的距离为中心点到数字孪生体骨架的各端面的最长距离的倍数;基于虚拟摄像机向中心点发射射线,根据射线接触到的数字孪生体骨架不同端面的时间先后顺序,标注各端面所属的子骨架的层级;对标注结果进行归一化处理,
在一种可能的实现方式中,处理单元用于在数字孪生体骨架外部构建虚拟摄像机时,具体包括:以中心点到数字孪生体骨架的各端面的最长距离的倍数为半径,中心点为球心,构建球体;在球体的球面的每单位面积上构建一个虚拟摄像机。
在一种可能的实现方式中,处理单元用于在数字孪生体骨架外部构建虚拟摄像机时,具体包括:以中心点到数字孪生体骨架的各端面的最长距离的倍数为半径,中心点为球心,构建球体;在数字孪生体骨架的每个端面在球体的球面上的投影区域中构建一个虚拟摄像机。
在一种可能的实现方式中,标注结果包括每个子骨架被标注的至少一个层级;处理单元用于对标注结果进行归一化处理时,具体包括:在一个子骨架存在两个或者两个以上的层级时,将一个子骨架的层级确定为最外层的层级。
在一种可能的实现方式中,加载单元用于基于配置文件,依次加载每个子骨架时,具体包括:从最外层的数字孪生体骨架依次加载到最内层的数字孪生体骨架;被标注为同一层级的子骨架重新确定为同一层级的子骨架。
在一种可能的实现方式中,数字孪生体模型还包括包括纹理贴图数据;处理单元还用于:基于纹理贴图数据生成纹理贴图,其中纹理贴图与最小粒度的数字孪生体对应的子骨架具有对应关系;对每个纹理贴图进行压缩处理,生成每个纹理贴图对应的图片占位符;生成数字孪生体模型的配置文件,配置文件包括每个图片占位符的数据文件,配置文件还用于生成:在加载每个子骨架时,子骨架的表面的图像。
在一种可能的实现方式中,处理单元还用于:根据每个纹理贴图和每个图片占位符生成模糊动画,模糊动画用于显示从每个图片占位符加载至每个纹理贴图的动画效果;配置 文件中还包括模糊动画的数据文件;加载单元用于依次加载每个子骨架时,还用于:基于配置文件,加载并显示同一层级的子骨架对应的图片占位符,加载并显示同一层级的子骨架对应的模糊动画,并将同一层级的子骨架对应的图片占位符替换为纹理贴图。
在一种可能的实现方式中,处理单元用于对每个纹理贴图进行压缩处理,生成每个纹理贴图对应的图片占位符时,具体包括:对每个纹理贴图进行无损压缩,生成压缩后的图像;对压缩后的图像进行有损压缩,生成每个纹理贴图对应的图片占位符。
第四方面,本申请实施例提供一种数字孪生体的加载装置,该数字孪生体的加载装置包括通信单元、处理单元和加载单元。其中,通信单元,用于接收输入的数字孪生体模型,数字孪生体模型包括骨架数据和纹理贴图数据,数字孪生体模型由至少两个最小颗粒度的数字孪生体构成;处理单元,用于获取数字孪生体模型的配置文件,配置文件包括指示数字孪生体模型的数字孪生体骨架的加载顺序的信息,以及数字孪生体模型的纹理贴图对应的图片占位符与模糊动画的数据文件;其中数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架,子骨架与纹理贴图具有对应关系,数字孪生体骨架的加载顺序为从最外层的子骨架依次加载到最内层的子骨架;加载单元,用于根据骨架数据、纹理贴图数据和配置文件,按照数字孪生体骨架的加载顺序依次执行如下操作:加载并显示同一层级的子骨架以及同一层级的子骨架对应的图片占位符;加载并显示同一层级的子骨架对应的模糊动画,将同一层级的子骨架对应的图片占位符替换为纹理贴图。
第五方面,本申请实施例提供一种服务器,该服务器用于执行上述各方面执行的方法。
第六方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被运行时,使得上述各方面执行的方法被执行。
第七方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,当该计算机程序或指令被通信装置执行时,实现上述各方面执行的方法。
附图说明
图1是本申请实施例提供的一种数字孪生体和数字孪生体骨架的示意图;
图2是本申请实施例提供的一种数字孪生体和纹理贴图的示意图;
图3是本申请实施例提供的一种数字孪生体加载平台的软件结构示意图;
图4是本申请实施例提供的一种数字孪生体的加载方法的流程图;
图5是本申请实施例提供的一种生成配置文件的流程图;
图6是本申请实施例提供的一种环境射线扫描的示意图;
图7是本申请实施例提供的又一种环境射线扫描的示意图;
图8是本申请实施例提供的又一种环境射线扫描的示意图;
图9是本申请实施例提供的又一种生成配置文件的流程图;
图10是本申请实施例提供的一种组装数字孪生体的流程图;
图11是本申请实施例提供的一种数字孪生体的示意图;
图12是本申请实施例提供的一种数字孪生体加载流程的示意图;
图13是本申请实施例提供的一种数字孪生体的加载方法的流程图;
图14是本申请实施例提供的又一种数字孪生体的加载方法的流程图;
图15是本申请实施例提供的一种数字孪生体的加载装置的结构示意图。
具体实施方式
下面结合附图对本申请具体实施例作进一步的详细描述。
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”“一种”“所述”“上述”“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。本申请中使用的术语“多个”是指两个或者两个以上。
需要说明的是,本申请的说明书和权利要求书中及上述附图中的属于“第一”“第二”“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解,这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述以外的顺序实施。此外,术语“包括”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,以便于本领域技术人员理解。本申请实施例中涉及的名词和术语适用于如下的解释:
1.数字孪生体
数字孪生是一种利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程。基于数字孪生技术,可以将实体装置映射到虚拟空间中,创造出该实体装置对应的虚拟模型(或称为数字模型),该虚拟模型可以称之为“数字孪生体”。数字孪生体是一种包括物理对象、过程、关系和行为等在内的现实世界的虚拟表示,可以反映其对应的实体装置的全生命周期过程,它可以利用从实体装置上的传感器发送的实时数据以及该实体装置运行的历史数据来模拟该实体装置的行为。
本领域技术人员可以利用数字孪生体对真实世界中的实体装置进行仿真分析,从而为实体装置后续的运行和改进提供辅助信息。例如,数字孪生可以用于航空航天飞行器的健康维护。首先在数字空间创建真实飞机的虚拟模型,并通过传感器数据的实时更新实现与飞机真实状态的同步,通过这样的方式,每次飞行后,技术人员可以根据现有情况和过往载荷,及时分析评估飞机是否需要维修,能否承受下次的任务载荷等。
2.数字孪生系统
一些相互关联或者相互作用的数字孪生体构成数字孪生系统。数字孪生系统中包括数字孪生体以及后台的数据、运维、算法、网络等等信息。示例性的,在数字空间中,服务器的主板、核心处理器、内存和输入输出装置,等等组成装置可以构成一个整体的服务器,该服务器可以视为一个数字孪生系统,主板(或其他组成装置)可以视为一个数字孪生体。在另一示例中,机房中的各个设备构成一个整体的机房,该机房可以视为一个数字孪生系统,其中的一个设备可视为一个数字孪生体。
3.数字孪生体骨架
数字孪生体骨架是指数字孪生体的几何体(geometry)。一个最小颗粒度的数字孪生体对应一个几何体,一个数字孪生体可以由一个或者多个最小颗粒度的数字孪生体组成。在一个数字孪生体由多个最小颗粒度的数字孪生体组成的情况下,每个最小颗粒度的数字孪生体的骨架可视为子骨架,即每个最小颗粒度的数字孪生体对应一个子骨架,多个子骨架共同组成了数字孪生体骨架。
最小颗粒度的数字孪生体可理解为用户创建的不可拆分的单独的数字孪生体。需要说明的是,“最小颗粒度”不代表对数字孪生体的大小或者数据量的限定,而是与创建时的设定有关。在一个示例中,创建一个飞机的数字孪生体时,可以将飞机中的各个组成装置设定为最小颗粒度的数字孪生体。在另一个示例性中,创建一个电子设备的数字孪生体时,可以将该电子设备中的各个组成模块设定为最小颗粒度的数字孪生体。
其中,在几何学中,若干几何面(平面或曲面)所围成的有限形体称为几何体,围成几何体的面称为几何体的界面或表面,不同界面的交线称为几何体的棱线,不同棱线的交点称为几何体的顶点,几何体也可看成空间中若干几何面分割出来的有限空间区域。
示例性的,请参见图1,是本申请实施例提供的一种数字孪生体和数字孪生体骨架的示意图。图1中示意出的数字孪生体为一个最小颗粒度的数字孪生体,该数字孪生体的骨架为一个长方体,该长方体由平面ABCD、平面DCFE、平面EFGH、平面ADEH、平面BCFG和平面ABGH所围成,围成该长方体的面可称为长方体的界面、端面或者表面。
4.材质(material)
材质为绘制几何体的表面属性,包括使用的颜色、光亮程度、纹理、光滑度(smoothness)、粗糙度(roughness)、透明度、折射率,等等。例如,玻璃材质有很亮的高光、透明并有很强的反射和折射属性,石头材质表面粗糙,反射很弱、没有折射属性等。材质可以使得数字孪生体具有真实或者特殊的视觉效果。一个材质可以引用一个或多个纹理。
5.纹理(texture)
纹理用来描述几何体表面的样子,可以体现表面的图案、花纹及色泽等属性。例如,木头纹理、大理石纹理、金属纹理,等等。纹理表现为图像,包裹在几何体的表面,其可以从文件中加载,可以在画布上生成,或者可以由场景渲染得到。
6.数字孪生体纹理贴图
数字孪生体纹理贴图用于体现数字孪生体表面的纹理。一个纹理贴图可以表现为一个UV贴图文件。其中,U和V指的是二维空间的水平轴和垂直轴(类似于平面直角坐标系中的X轴与Y轴),UV贴图文件包含了图片上每个点的坐标信息。每个点的坐标信息与三维模型上的点是相互对应的,基于UV贴图文件可以确定纹理图像上的一个点应该放置在数字孪生体骨架的表面的哪个点上。示例性的,请参见图2,是本申请实施例提供的一种数字孪生体和纹理贴图的示意图。该纹理贴图显示在数字孪生体骨架的表面,纹理贴图上的点与数字孪生体骨架表面上的点是相互对应的。示例性的,该数字孪生体骨架的顶点A-顶点H,对应纹理贴图中的点A-点H。
纹理贴图与最小粒度的数字孪生体对应的子骨架具有对应关系。该对应关系可以包含一对一,一对多,多对一的多种可能。可选的,一个纹理贴图可以对应一个子骨架,即一个子骨架的表面显示一种的纹理贴图;可选的,一个纹理贴图可以对应对多子骨架,即多 个子骨架的表面可以显示相同的纹理贴图;可选的,多个纹理贴图可以对应一个子骨架,即一个子骨架的表面显示多个纹理贴图。在本申请实施例中,数字孪生体模型包含骨架数据、纹理贴图数据。该骨架数据与纹理贴图数据之间具有对应关系,基于该对应关系可以明确各个最小粒度的数字孪生体的表面上显示了哪些纹理贴图。示例性的,子骨架1对应纹理贴图文件1,骨架2对应纹理贴图文件1,子骨架3对应纹理贴图文件2,等等。
7.白模现象
白模现象是指当客户端网络不佳时,先加载完数字孪生体骨架,但是没有加载纹理贴图,导致数字孪生体的表面呈现白色的现象。
8.万维网图形库(Web graphics library,WebGL)
WebGL是一种在不使用插件的情况下在任何兼容的网页浏览器中呈现交互式二维(2-dimension,2D)和三维(3-dimension,3D)图形的技术。WebGL集成在浏览器的网页标准中,基于WebGL,可以在网页上使用画布(canvas)标签调用图形处理器(graphics processing unit,GPU)资源渲染出2D或者3D的交互效果。WebGL元素可以加入其他超文本标记语言(hyper text markup language,HTML)元素之中,并与网页或网页背景的其他部分混合。WebGL程序由JavaScript编写的句柄和OpenGL着色语言(OpenGL Shading Language,GLSL)编写的着色器代码组成,该语言类似于C语言或C++语言,并在计算机的图形处理器(graphics processing unit,GPU)上执行。WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面。
9.万维网三维(Web 3-dimension,Web3D)
Web3D泛指经由网页浏览器显示三维计算机图形的各种方法,过去的Web3D主要通过浏览器安装插件实现3D模型展示,如今业界基于WebGL的程序已经不再需要浏览器安装插件。
10.Three.js
Three.js是一个跨浏览器的Web3D引擎,其使用JavaScript函数库或应用程序编程接口(application programming interface,API)在网页浏览器中创建和展示动画的三维计算机图形。Three.js允许使用JavaScript创建网页中的GPU加速的3D动画元素,而不是使用特定的浏览器插件。
11.3D模型
3D模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。物理自然界存在的东西都可以用3D模型表示。
加载数字孪生体的过程需要对数字孪生体骨架以及纹理贴图进行加载。一般的,在加载过程中,若该数字孪生体由多个最小颗粒度的数字孪生体组成,会同时请求且同时加载各个最小颗粒度的数字孪生体的骨架,但由于数字孪生体骨架的精度较高,文件较大,这种方式会导致数字孪生体的加载速度较慢的问题。另外,为了达到更加真实的显示效果,数字孪生体的纹理贴图的数据量也比较大,会占用很长的传输时间,容易出现只有模型骨架而没有纹理贴图的“白模现象”。鉴于此,提出本申请实施例的数字孪生体的加载方法。
请参见图3,是本申请实施例提供的一种数字孪生体加载平台的软件结构示意图。该 数字孪生体加载平台(为了简化描述,后续内容中也称为“加载平台”)包括通信模块、骨架扫描模块、纹理贴图处理模块、应用组装模块和显示模块。该数字孪生体加载平台可以是服务器、电子设备。
其中,通信模块用于接收用户输入的数字孪生体模型。该数字孪生体模型是用户基于需求构建的数字孪生体的模型,本申请实施例不限定用户构建该数字孪生体模型的方式和该数字孪生体模型的格式、大小,等等。在本申请实施例中,该数字孪生体模型由两个或者两个以上的最小粒度的数字孪生体构成。该数字孪生体模型包含骨架数据、纹理贴图数据。该骨架数据与纹理贴图数据之间具有对应关系,基于该关联关系可以明确各个最小粒度的数字孪生体的表面上显示了哪些纹理贴图。
骨架扫描模块,用于处理数字孪生体模型的骨架数据,可以将数字孪生体模型的骨架按照位置的内外关系分为多个层级。基于该确定出的层级可以确定后续加载过程中数字孪生体骨架的加载顺序,示例性的,该加载平台从外层向内层加载数字孪生体骨架。骨架扫描模块将确定出的数字孪生体骨架的加载顺序生成该数字孪生体模型的配置文件中。
纹理贴图处理模块,用于处理数字孪生体模型的纹理贴图数据,可以基于数字孪生体模型的纹理贴图生成其对应的图片占位符。该图片占位符为纹理贴图进行有损压缩后生成的图像,与纹理贴图具有对应关系(或称为关联关系)。纹理贴图处理模块还用于根据纹理贴图和该纹理贴图对应的图片占位符生成模糊动画,该模糊动画显示了从图片占位符加载至纹理贴图的动画效果。换言之,在视觉感知方面,通过该模糊动画,用户可以查看到纹理图像由模糊逐渐变得清晰。纹理贴图处理模块将生成的图片占位符和模糊动画写入该数字孪生体模型的配置文件中。
应用组装模块,用于根据数字孪生体的骨架数据、纹理贴图数据以及配置文件组装数字孪生体。其中,该配置文件中包括上述骨架扫描模块生成的数字孪生体骨架的加载顺序,以及纹理贴图处理模块生成的图片占位符和模糊动画的数据文件。
显示模块,用于显示该应用组装模块组装生成的数字孪生体。需要说明的是,在应用组装模块生成数字孪生体的过程中,显示模块同时对生成的数字孪生体进行显示。
另需要说明的是,图3中示例的数字孪生体加载平台的软件架构仅为示例,在实际应用中可以包括更多或者更少的模块,或者一个模块的功能可以由多个模块共同提供,本申请实施例不限定模块的划分方式。
请参见图4,是本申请实施例提供的一种数字孪生体的加载方法的流程图,该方法可以基于图3所示的数字孪生体加载平台来实现。本方法所针对的数字孪生体由两个或者两个以上的最小粒度的数字孪生体构成。该方法包括但不限于以下步骤。
步骤401、接收用户输入的数字孪生体模型。
该步骤401可由加载平台的通信模块执行,该数字孪生体模型的介绍可参照上述的说明,此处不再赘述。
步骤402、根据数字孪生体模型的骨架数据确定数字孪生体骨架的加载顺序,并基于数字孪生体骨架的加载顺序生成数字孪生体模型的配置文件。
该步骤402可由加载平台的骨架扫描模块执行。可选的,加载平台通过调用服务API来执行步骤402,该服务API具备执行步骤402的功能。该步骤402的执行可以参照图5 所示的方法流程图。该方法包括但不限于以下步骤。
步骤501、读取该数字孪生体模型的骨架数据,基于该骨架数据构建数字孪生体骨架。
步骤502、使用环境射线对数字孪生体骨架进行扫描,标注数字孪生体骨架中的数字孪生体的层级。
首先,在数字孪生体骨架的外部设定虚拟摄像机,该虚拟摄像机与骨架的原点的距离为骨架的原点到骨架的各端面的最长距离的倍数(示例为,两倍,还可能是其他的取值,例如,1.5倍、三倍,等等)。其中,骨架的原点可在用户构建数字孪生模型时设定。例如,骨架为图6中所示的长方体时,骨架的原点O可以为骨架的几何中心。
在本申请实施例中,骨架的端面理解为该骨架最外层的面。端面可以为平面,也可以为曲面,或者其他不规则的面(例如,存在孔洞的面,凹凸不平的面,等等),原点到端面的距离为原点到该端面上各个点的距离。需要说明的是,本申请实施例中的原点到端面的距离与点到平面的距离(定义为:空间内一点到平面内一点的最小长度)的定义不同。
骨架的原点到骨架的端面的最长距离可以从骨架数据中读取。或者,设定从骨架的原点向骨架外部发射若干条射线,将射线接触到骨架的端面的接触点与原点的距离作为原点到端面的距离,从若干条射线确定出的多个距离中,选取出数值最大的距离作为骨架的原点到骨架的端面的最长距离。特殊的,若骨架中存在孔洞,那么一些射线可能无法接触到骨架的端面,则这些射线确定不出原点到端面的距离,或者距离为无穷大,在选取最长距离时舍弃这些射线的数据。
以图6为例,骨架由两个长方体(第一长方体和第二长方体)构成,以骨架的内外关系来看,第一长方体位于第二长方体的外部。骨架的端面为第一长方体的各个面。由长方体的几何结构可知,骨架的原点O到骨架的各端面的最长距离应为原点O到第一长方体的顶点(例如,A点)的距离(例如,线段OA的长度)。若虚拟摄像机与原点O的距离置为原点O到骨架的各端面的最长距离的两倍,那么,虚拟摄像机与骨架的原点的距离为线段OA的长度的两倍。
在一种可能的实现方式中,虚拟摄像机所在的位置可以与骨架的各个端面相对应,一个虚拟摄像机与一个端面具有对应关系。请再次参照图6,骨架的原点(中心点)O与一个端面即平面ABCD的几何中心V点相连接,形成一条连接线,并将该连接线继续由原点O朝V点方向延伸,直到该连接线的长度等于原点到V点的距离的两倍时,该端点的位置可以确定为虚拟摄相机的位置,即可参照图6中的虚拟摄像机W1。按照相同的方式,可以确定出骨架其他端面所对应的虚拟摄像机,即可参照图6中的虚拟摄像机W2-W6。需要说明的是,图6中对W1-W4的设置方式只是一种示意,实际上,在W1-W4所构成的球面上,对于W1的设置位置,在ABCD面在该球面上的投影上的任意位置,都可以设置W1,其余摄像机的位置方式与W1相同,在此不再赘述。
在另一种可能的实现方式中,对于骨架的端面结构较为复杂(例如,端面较不平滑、凹凸不平,或者,端面不是由平面或者简单的曲面所构成),或者,骨架的内部结构较为复杂(例如,数字孪生模型包含的最小颗粒度的数字孪生体的个数较多)的情况,可以设定更多的虚拟摄像机。例如,多个虚拟摄像机可以形成一个包含该骨架的球体,该球体的中心为骨架的原点,一个虚拟摄像机可视为球面上的一个点,该虚拟摄像机的个数不做限定。可选的,在一种实现中,可以以骨架的原点为球心,骨架的原点到骨架的端面的最长距离 的倍数为半径,构建一个虚拟球体,在该虚拟球体的球面上,每单位面积上设立一个虚拟摄像头。该单位面积的选取不做限定,该单位面积越小,虚拟摄像机的个数越多。可选的,在单位面积足够小的情况下,可视为球面上的每个点设定为一个虚拟摄像机。
接下来,每个虚拟摄像机向骨架的原点发射一条射线进行扫描,以射线接触到的几何体的界面的时间先后顺序,标注该几何体的界面所属的数字孪生体(也可理解为标注该几何体的界面所属的数字孪生体骨架)的层级。需要说明的是,该标注所针对的数字孪生体为最小颗粒度的数字孪生体,即标注的是最小颗粒度的数字孪生体的层级(也可理解为标注的是最小颗粒度的数字孪生体对应的子骨架的层级),这个层级可以体现该最小颗粒度的数字孪生体在整个数字孪生体中的内外结构。若一个最小颗粒度的数字孪生体为“第一层级”,那么说明该最小颗粒度的数字孪生体位于整个数字孪生体的最外层,若一个最小颗粒度的数字孪生体为“第二层级”,那么说明该最小颗粒度的数字孪生体位于整个数字孪生体的内部且相邻最外层。
示例性的,若一条射线先后共接触到3个界面,则将第一个接触到的界面所属的数字孪生体标注为“第一层级”(还可以为,“1”“frist(第一)”,等等标识,本申请对标注的方式不做限定),将第二个接触到的界面所属的数字孪生体标注为“第二层级”,第三个接触到的界面所属的数字孪生体标注为“第三层级”。可选的,可以预设有层级的最大值,示例为五层。对于一条射线而言,对同一个最小颗粒度的数字孪生体仅标注一次层级。
示例性的,请参见图6,是本申请实施例提供的一种环境射线扫描的示意图。在图6中,数字孪生体骨架示例为两个长方体,骨架外共设立了6个虚拟摄像机,即W1-W6。虚拟摄像机与数字孪生体骨架的原点的距离为骨架的原点到骨架的界面的最长距离的倍数,每个虚拟摄像机向原点发射射线。以虚拟摄像机W1为例,虚拟摄像机W1向原点O发射射线,射线从W1处出发,首先接触到界面ABCD,将界面ABCD所属的数字孪生体即第一长方体标注为“第一层级”,之后接触到界面IKLJ,将界面IKLJ所属的数字孪生体即第二长方体标注为“第二层级”,接下来,射线到达原点O,该射线的标注结束。其他虚拟摄像机的标注方式可以参照此方式,此处不再赘述。
步骤503、对扫描得到的标注结果进行归一化处理。
归一化处理的含义是,当一个数字孪生体同时存在多个层级标注时,将该数字孪生体的层级标注确定为上层(还可以称为最上层、最高层、层级最小的层)的层级标注,丢弃下层的层级标注。示例性的,一个数字孪生体的层级标注有“第二层级”和“第三层级”,那么将该数字孪生体的层级标注确定为“第二层级”。一个数字孪生体同时存在多个层级标注的原因是,同一数字孪生体与不同摄像头的相对位置的差异,不同摄像头对同一数字孪生体的层级标注可能不同。通过归一化处理的方式,可以避免一个数字孪生体存在多个层级标注,从而导致的加载顺序错乱的问题。
示例性的,请参见图7,图7是本申请实施例提供的又一种环境射线扫描的示意图。图7在图6的基础上,骨架中新增了一个最小颗粒度的数字孪生体,即第三长方体。对于虚拟摄像机W2而言,虚拟摄像机W2向原点O发射射线,射线从W2处出发,首先接触到界面RUZW,将界面RUZW所属的数字孪生体即第三长方体标注为“第一层级”,之后接触到界面STYX,界面STYX所属的数字孪生体为第三长方体,该第三长方体已被该射线标注,则不再继续标注,之后接触到界面ADEH,将界面ADEH所属的数字孪生体即第 一长方体标注为“第二层级”,之后,接触到界面IJMP,将界面IJMP所属的数字孪生体即第二长方体标注为“第三层级”,接下来,射线到达原点O,该射线的标注结束。另外,除虚拟摄像机W2之外,其他的虚拟摄像机也会进行射线扫描,按照相同的标注规则,其他的虚拟摄像机均是将第一长方体标注为“第一层级”,第二长方体标注为“第二层级”。
所有的虚拟摄像机标注完毕,结果如下:第一长方体存在两个层级标注,即“第一层级”和“第二层级”,第二长方体存在两个层级标注,即“第二层级”和“第三层级”,第三长方体存在一个层级标注,即“第一层级”。按照一个最小颗粒度的数字孪生体保留一个层级最高的层级标注的归一化处理方式,最终确定出的层级标注为:第一长方体和第三长方体为“第一层级”,第二长方体为“第二层级”。通过归一化处理的方式,可以避免一个数字孪生体存在多个层级标注,从而导致的加载顺序错乱的问题。
可选的,为了避免数字孪生体中可能存在的孔洞的影响,在一种可能的实现方式中,可以计算每一个面在虚拟相机构成的球面上的投影上的所有虚拟摄像机到每一层级的平均距离,如果出现一个虚拟摄像头到一个层级的相对距离与所有虚拟摄像机到该层级的平均距离的差异较大的情况,则将该相对距离作为异常值,执行将该虚拟摄像头标注的该一个层级进行下降一个层级的操作。例如,该一个层级为“第二层级”,则将“第二层级”修改为“第三层级”。
其中,一个虚拟摄像机到一个层级的相对距离为,该一个虚拟摄像机所在的位置与该一个虚拟摄像机的射线最先接触到的所属该层级的数字孪生体的界面的接触点的距离。以图7为例,虚拟摄像机W1的射线最先接触到的所属第一层级的数字孪生体的界面的接触点为V1,虚拟摄像机W1到第一层级的相对距离为:线段W1V1的长度。虚拟摄像机W1的射线最先接触到的所属第二层级的数字孪生体的界面的接触点为V2,虚拟摄像机W1到第一层级的相对距离为:线段W1V2的长度。按照这种确定相对距离的方式,可以确定出每个虚拟摄像机到该一个层级的相对距离,从而计算出平均距离。
接下来列举出数字孪生体存在“孔洞”的场景,请参见图8,图8是本申请实施例提供的又一种环境射线扫描的示意图。图8中的第一界面是一个数字孪生体的界面,第一界面中存在孔洞,第二界面是另一个数字孪生体的界面。图8还示意出了虚拟摄像机W7-W10,在实际场景中,还可以存在其他的虚拟摄像机,为了便于介绍,此处以这四个虚拟摄像机为例进行介绍,平均距离以这四个虚拟摄像机的相对距离来计算。
对于虚拟摄像机W7发出的射线而言,与第一界面存在接触点a,与第二界面存在接触点b,因此将第一界面所属的数字孪生体的层级标注为“第一层级”,第二界面所属的数字孪生体的层级标注为“第二层级”,虚拟摄像机W7与第一层级的相对距离为线段W7a的长度,与第二层级的相对距离为线段W7b的长度。对于虚拟摄像机W8发出的射线而言,与第一界面存在接触点c,与第二界面存在接触点d,因此将第一界面所属的数字孪生体的层级标注为“第一层级”,第二界面所属的数字孪生体的层级标注为“第二层级”,虚拟摄像机W8与第一层级的相对距离为线段W8c的长度,与第二层级的相对距离为线段W8d的长度。对于虚拟摄像机W9发出的射线而言,由于“孔洞”的影响,与第一界面不存在接触点,与第二界面存在接触点f,因此将第二界面所属的数字孪生体的层级标注为“第一层级”,虚拟摄像机W9与第一层级的相对距离为线段W9f的长度。对于虚拟摄像机W10发出的射线而言,与第一界面存在接触点e,与第二界面存在接触点g,因此将第一界面所属的数 字孪生体的层级标注为“第一层级”,第二界面所属的数字孪生体的层级标注为“第二层级”,虚拟摄像机W10与第一层级的相对距离为线段W10e的长度,与第二层级的相对距离为线段W10g的长度。
计算所有虚拟摄像头到第一层级的平均距离,即线段W7a、线段W8c、线段W9f和线段W10e的长度的平均值,由于孔洞的影响,线段W9f的长度与平均距离的差异相较与其他线段与平均距离的差异较大,因此,将“线段W9f”这个相对距离作为异常值,执行将虚拟摄像头W9标注的“第一层级”进行下降一个层级的操作,即将“第一层级”修改为“第二层级”。修改之后,虚拟摄像机W9对第二界面的标注结果与其他虚拟摄像机相同,避免了由于孔洞造成的层级标注错误的问题。可选的,在另一种可能的实现方式中,可以分别计算各个相对距离与其他相对距离之间的差值,在差值大于预设值的情况下,将该差值对应的相对距离作为异常值。以图8为例,线段W7a与线段W8c、线段W10e的差值较小,小于预设值;线段W7a与线段W9f的差值较大,大于预设值,那么将线段W9f作为异常值。
可选的,在另一种可能的实现方式中,可以预设有多个距离范围,示例性的,第一距离范围为(0,a],第二距离范围为(a,b],第三距离范围为(b,c],第四距离范围为(c,d],第五距离范围为(d,e]。可选的,各个距离范围的分界点的取值(即a,b,c,d,e)可以基于骨架的原点到骨架的端面的最长距离以及距离范围的个数来确定。举例而言,骨架的端面的最长距离为L,距离范围的个数为5,那么,a=1/5L,b=2/5L,c=3/5L,d=4/5L,e=L。统计各个相对距离落在各个距离范围的个数,将落入个数最多的一个距离范围作为正常值,将落入其他距离范围的相对距离作为异常值,执行下降标注的层级的操作。或者,将落入个数最少的一个距离范围作为异常范围,对落入该异常范围的相对距离作为异常值,执行下降标注的层级的操作。
步骤504、根据归一化处理后的标注结果确定数字孪生体骨架的加载顺序。
基于归一化处理后的标注结果可以确定数字孪生体骨架中各个数字孪生体的层级,进而根据层级确定出数字孪生体骨架的加载顺序。也即是从第一层级的数字孪生体依次加载到最大层级的数字孪生体;从位置关系上来看,即是从外到内加载数字孪生体骨架。这种加载顺序的设定,使得数字孪生体按照从外到内的顺序进行骨架的加载,可以使得数字孪生体的外层骨架的加载速度得到提升,从而能够让用户更快查看到加载出的数字孪生体。
步骤505、将数字孪生体骨架的加载顺序写入数字孪生体模型的配置文件中。
在该配置文件中,标注为同一层级的最小粒度的数字孪生体骨架组成该同一层级的数字孪生体骨架。
步骤403、对数字孪生体模型的纹理贴图数据进行处理,生成纹理贴图对应的图片占位符和模糊动画,并将图片占位符和模糊动画的数据文件写入数字孪生体模型的配置文件中。
该步骤403可由加载平台的纹理贴图处理模块执行。该步骤403的执行可以参照图9所示的方法流程图。该方法包括但不限于以下步骤。
步骤901、读取该数字孪生体模型的纹理贴图数据,基于该纹理贴图数据生成纹理贴图。
步骤902、使用无损压缩工具对纹理贴图进行第一轮压缩。
无损压缩是指利用数据的统计冗余进行压缩的方式,通过无损压缩可以降低纹理贴图 的数据量,且根据无损压缩后的数据可完全恢复原始数据而不引起任何失真。本申请实施例不限定无损压缩的工具/方式。
步骤903、对第一轮压缩后的纹理贴图进行第二轮的有损极限压缩,生成纹理贴图对应的图片占位符。
该图片占位符为纹理贴图进行有损压缩后生成的图像,与纹理贴图具有对应关系。第二轮的有损极限压缩可以大幅降低图像的数据量,且可以保留部分原纹理贴图的图像信息。
步骤904、根据纹理贴图和该纹理贴图对应的图片占位符生成模糊动画。
该模糊动画显示了从图片占位符加载至纹理贴图的动画效果,换言之,在视觉感知方面,用户可以查看到纹理图像由模糊逐渐变得清晰。可选的,可以根据纹理贴图与图片占位符的数据量大小比,来确定模糊动画的时长。示例性的,纹理贴图与图片占位符的数据量大小比越大,则模糊动画的时长越长。例如,纹理贴图与图片占位符的数据量大小比为1000,则模糊动画的时长可为2秒;纹理贴图与图片占位符的数据量大小比为10000,则模糊动画的时长可为8秒。
步骤905、将纹理贴图对应的图片占位符和模糊动画的数据文件写入数字孪生体模型的配置文件中。在纹理贴图为多个情况下,对每个纹理贴图均执行步骤902-步骤904。
步骤404、根据数字孪生体的骨架数据、纹理贴图数据以及配置文件组装数字孪生体。
其中,该配置文件中包括数字孪生体骨架的加载顺序,以及纹理贴图对应的图片占位符和模糊动画。
该步骤404可由加载平台的应用组装模块执行。该步骤404的执行可以参照图10所示的方法流程图。该方法包括但不限于以下步骤。
步骤1001、读取配置文件。
步骤1002、调用Three.js引擎。通过调用Three.js引擎可以在网页浏览器中创建和展示数字孪生体的三维计算机图形。
步骤1003、加载第一层级的数字孪生体骨架以及第一层级的数字孪生体骨架对应的图片占位符。
其中,第一层级的数字孪生体骨架为数字孪生体最外层的骨架,第一层级的数字孪生体骨架对应的图片占位符可以体现部分该第一层级的数字孪生体骨架的纹理贴图的图像信息。标注为“第一层级”的最小颗粒度的数字孪生体的骨架共同构成第一层级的数字孪生体骨架。通过执行步骤8805,可以在整个加载过程中,优先加载出数字孪生体最外层的骨架以及该骨架的对应的图片占位符,从而提升数字孪生体的加载速度,能够让用户更快查看到加载出的数字孪生体。又由于图片占位符的数据量较小,加载速度较快,可以有效避免“白模现象”,从而提升用户的感知体验。
步骤1004、加载第一层级的数字孪生体骨架对应的模糊动画,将第一层级的数字孪生体骨架对应的图片占位符替换为纹理贴图。
通过执行步骤1004,第一层级的数字孪生体骨架上显示加载的模糊动画,用户可以查看到从图片占位符加载至纹理贴图的动画效果。最终,第一层级的数字孪生体骨架上显示该骨架对应的纹理贴图。
步骤1005、依次加载比第一层级更低层的其他层级的数字孪生体骨架以及其对应的图片占位符。
可选的,可以在将第一层级的数字孪生体骨架对应的图片占位符替换为纹理贴图的同时,执行步骤1005。
步骤1006、依次加载比第一层级更低层的其他层级的数字孪生体骨架对应的模糊动画,将其对应的图片占位符替换为纹理贴图。
步骤1005和步骤1006依次执行。示例性的,在执行了步骤1004之后,加载平台加载第二层级的数字孪生体骨架以及其对应的图片占位符,接下来,加载第二层级的数字孪生体骨架对应的模糊动画,将其对应的图片占位符替换为纹理贴图。标注为“第二层级”的最小颗粒度的数字孪生体的骨架共同构成第二层级的数字孪生体骨架。之后,加载平台加载第三层级的数字孪生体骨架以及其对应的图片占位符,接下来,加载第三层级的数字孪生体骨架对应的模糊动画,将其对应的图片占位符替换为纹理贴图。标注为“第三层级”的最小颗粒度的数字孪生体的骨架共同构成第三层级的数字孪生体骨架。按照此规律依次加载其他层级的数字孪生体骨架,直至所有层级的数字孪生体骨架加载完毕。
可选的,由于比第一层级更低层的其他层级的数字孪生体骨架对于用户而言一般是不可见的,在加载过程中也可以不约束其他层级的数字孪生体骨架的加载顺序。
可选的,本申请实施例中按照层级依次加载数字孪生体骨架,以及从图片占位符加载至纹理贴图的方式可以称为渐进式加载。
步骤405、显示生成的数字孪生体。
该步骤405可由加载平台的显示模块执行。需要说明的是,在执行步骤404的同时,执行步骤405,也即是说,在生成数字孪生体的过程中,同时对生成的数字孪生体进行显示。最终,加载平台可以在显示界面中显示最终生成的数字孪生体。
示例性的,请参见图11,是本申请实施例提供的一种数字孪生体的示意图。图11中示意出的数字孪生体为一个服务器。
在另一个示例中,以图6中介绍的数字孪生体为基础进行加载过程的说明。请参见图12,是本申请实施例提供的一种数字孪生体加载流程的示意图。
首先,加载第一层级的数字孪生体骨架,即加载第一长方体;以及加载第一层级的数字孪生体骨架对应的图片占位符,即在第一长方体表面上加载纹理贴图所对应的图片占位符。该步骤所对应的显示效果可参照图12(1)所示。
接下来,加载第一层级的数字孪生体骨架对应的模糊动画,将第一层级的数字孪生体骨架对应的图片占位符替换为纹理贴图,即在第一长方体表面上从显示图片占位符逐渐变为显示纹理贴图。该步骤最终对应的显示效果可参照图12(2)所示。
之后,加载第二层级的数字孪生体骨架,即加载第二长方体;以及加载第二层级的数字孪生体骨架对应的图片占位符,即在第二长方体表面上加载纹理贴图所对应的图片占位符。该步骤所对应的显示效果可参照图12(3)所示。
最后,加载第二层级的数字孪生体骨架对应的模糊动画,将第二层级的数字孪生体骨架对应的图片占位符替换为纹理贴图,即在第二长方体表面上从显示图片占位符逐渐变为显示纹理贴图。该步骤最终对应的显示效果可参照图12(4)所示。至此,数字孪生体加载完毕。
由于第二长方体所对应的数字孪生体对于用户而言是被遮挡的,用户一般不会感知到 第二长方体所对应的数字孪生体的加载过程。当加载到图12(2)时,用户的感知是数字孪生体已成功加载。另外,由于采用分层级的加载方式,相比于全量加载,本申请中初始加载的数据量减小,可以使得第一层级的数字孪生体更快加载出来,用户感知到的数字孪生体的加载速度也会有所提升。综上所述,通过本申请实施例的方式,可以提升数字孪生体的加载速度。
另外,基于本申请实施例的方法,可以根据用户输入的数字孪生体模型实时生成其对应的网页应用,极大地降低了数字孪生体的开发难度。在用户开发完数字孪生模型后,可以将该数字孪生模型上传到提供云服务的加载平台中,通过该加载平台,可以根据该数字孪生体模型自动生成其对应的网页应用,方便对该网页应用进行二次开发,或者嵌入到其他数字孪生体中,降低了开发难度。在另一方面,该加载平台可以标准化数字孪生体的网页应用的生成方式,有利于打造一系列的渐进式数字孪生应用。
请参见图13,是本申请实施例提供的一种数字孪生体的加载方法的流程图。该方法可以基于图3所示的数字孪生体加载平台来实现。该方法包括但不限于以下步骤。
步骤1301、接收输入的数字孪生体模型,数字孪生体模型包括骨架数据,数字孪生体模型由至少两个最小颗粒度的数字孪生体构成。
步骤1302、基于骨架数据构建数字孪生体骨架;数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架,每个子骨架的中心点重合。
示例性的,步骤1302的执行方法可以参照图5中步骤501的介绍。该子骨架的中心点可参照图5中介绍的骨架的原点O。
步骤1303、在数字孪生体骨架外部构建虚拟摄像机,虚拟摄像机与数字孪生体骨架的中心点的距离为中心点到数字孪生体骨架的各端面的最长距离的倍数。
步骤1304、基于虚拟摄像机向中心点发射射线,根据射线接触到的数字孪生体骨架不同端面的时间先后顺序,标注各端面所属的子骨架的层级。
示例性的,步骤1303和步骤1304的执行方法可以参照图5中步骤502的介绍。
步骤1305、对标注结果进行归一化处理,确定每个子骨架的层级。
示例性的,步骤1305的执行方法可以参照图5中步骤503和步骤504的介绍。
步骤1306、生成数字孪生体模型的配置文件,配置文件包括指示数字孪生体骨架的加载顺序的信息,数字孪生体骨架的加载顺序由每个子骨架对应的层级确定。
示例性的,步骤1306的执行方法可以参照图5中步骤505的介绍。
步骤1307、基于配置文件,依次加载每个子骨架。
示例性的,步骤1307的执行方法可参照图10对应实施例的介绍。
在一种可能的实现方式中,在数字孪生体骨架外部构建虚拟摄像机包括:以中心点到数字孪生体骨架的各端面的最长距离的倍数为半径,中心点为球心,构建球体;在球体的球面的每单位面积上构建一个虚拟摄像机。示例性的,这种构建虚拟摄像机的方式可以参照图5中步骤502的介绍。
在一种可能的实现方式中,在数字孪生体骨架外部构建虚拟摄像机包括:以中心点到数字孪生体骨架的各端面的最长距离的倍数为半径,中心点为球心,构建球体;在数字孪生体骨架的每个端面在球体的球面上的投影区域中构建一个虚拟摄像机。示例性的,这种 构建虚拟摄像机的方式可以参照图5中步骤502的介绍。
在一种可能的实现方式中,标注结果包括每个子骨架被标注的至少一个层级;对标注结果进行归一化处理,包括:在一个子骨架存在两个或者两个以上的层级时,将一个子骨架的层级确定为最外层的层级。示例性的,归一化处理的方式可以参照图5中步骤503的介绍。
在一种可能的实现方式中,基于配置文件,依次加载每个子骨架,包括:从最外层的数字孪生体骨架依次加载到最内层的数字孪生体骨架;被标注为同一层级的子骨架重新确定为同一层级的子骨架。
在一种可能的实现方式中,数字孪生体模型还包括包括纹理贴图数据;方法还包括:基于纹理贴图数据生成纹理贴图,其中纹理贴图与最小粒度的数字孪生体对应的子骨架具有对应关系;对每个纹理贴图进行压缩处理,生成每个纹理贴图对应的图片占位符;生成数字孪生体模型的配置文件,配置文件包括每个图片占位符的数据文件,配置文件还用于生成:在加载每个子骨架时,子骨架的表面的图像。该实现方式可以参照图9对应的实施例的介绍。
在一种可能的实现方式中,该方法还包括:根据每个纹理贴图和每个图片占位符生成模糊动画,模糊动画用于显示从每个图片占位符加载至每个纹理贴图的动画效果;配置文件中还包括模糊动画的数据文件。示例性的,该步骤的实现方式可参照图9中步骤904的介绍。依次加载每个子骨架时,方法还包括:基于配置文件,加载并显示同一层级的子骨架对应的图片占位符,加载并显示同一层级的子骨架对应的模糊动画,并将同一层级的子骨架对应的图片占位符替换为纹理贴图。示例性的,该步骤的执行方法可参照图10对应实施例的介绍。
在一种可能的实现方式中,对每个纹理贴图进行压缩处理,生成每个纹理贴图对应的图片占位符,包括:对每个纹理贴图进行无损压缩,生成压缩后的图像;对压缩后的图像进行有损压缩,生成每个纹理贴图对应的图片占位符。该实现方式可以参照图9中步骤902和步骤903的介绍。
请参见图14,是本申请实施例提供的一种数字孪生体的加载方法的流程图。该方法可以基于图3所示的数字孪生体加载平台来实现。该方法包括但不限于以下步骤。
步骤1401、接收输入的数字孪生体模型,数字孪生体模型包括骨架数据和纹理贴图数据,数字孪生体模型由至少两个最小颗粒度的数字孪生体构成。
示例性的,步骤1401的执行方法可以参照图4中步骤401的介绍。
步骤1402、获取数字孪生体模型的配置文件,配置文件包括指示数字孪生体模型的数字孪生体骨架的加载顺序的信息,以及数字孪生体模型的纹理贴图对应的图片占位符与模糊动画的数据文件。
其中数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架,子骨架与纹理贴图具有对应关系,数字孪生体骨架的加载顺序为从最外层的子骨架依次加载到最内层的子骨架。示例性的,步骤1402的执行方法可以参照图4中步骤402和步骤403的介绍。可选的,该配置文件可以是数字孪生体加载平台基于输入的数字孪生体模型生成的,该配置文件还可以是已预先生成好的配置文件。
步骤1403、根据骨架数据、纹理贴图数据和配置文件,按照数字孪生体骨架的加载顺序依次执行如下操作:加载并显示同一层级的子骨架以及同一层级的子骨架对应的图片占位符;加载并显示同一层级的子骨架对应的模糊动画,将同一层级的子骨架对应的图片占位符替换为纹理贴图。
示例性的,步骤1403的执行方法可以参照图4中步骤404和步骤405的介绍。
可以理解的是,为了实现上述实施例中功能,数字孪生体的加载装置(即数字孪生体加载平台)包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
请参见图15,是本申请实施例提供的一种数字孪生体的加载装置的结构示意图。数字孪生体的加载装置可以用于实现上述方法实施例中数字孪生体加载平台的功能,因此也能实现上述方法实施例所具备的有益效果。
如图15所示,该数字孪生体的加载装置150包括通信单元1501、处理单元1502和加载单元1503。示例性的,该通信单元1501可参照图3中的通信模块的介绍,处理单元1502可参照图3中的骨架扫描模块和纹理贴图处理模块的介绍,加载单元1503可参照图3中的应用组装模块和显示模块的介绍。
在一些实施例中:
通信单元1501,用于接收输入的数字孪生体模型,数字孪生体模型包括骨架数据,数字孪生体模型由至少两个最小颗粒度的数字孪生体构成。
处理单元1502用于执行以下操作:基于骨架数据构建数字孪生体骨架;数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架,每个子骨架的中心点重合;在数字孪生体骨架外部构建虚拟摄像机,虚拟摄像机与数字孪生体骨架的中心点的距离为中心点到数字孪生体骨架的各端面的最长距离的倍数;基于虚拟摄像机向中心点发射射线,根据射线接触到的数字孪生体骨架不同端面的时间先后顺序,标注各端面所属的子骨架的层级;对标注结果进行归一化处理,确定每个子骨架的层级;生成数字孪生体模型的配置文件,配置文件包括指示数字孪生体骨架的加载顺序的信息,数字孪生体骨架的加载顺序由每个子骨架对应的层级确定。
加载单元1503,用于基于配置文件,依次加载每个子骨架。
在一种可能的实现方式中,处理单元1502用于在数字孪生体骨架外部构建虚拟摄像机时,具体包括:以中心点到数字孪生体骨架的各端面的最长距离的倍数为半径,中心点为球心,构建球体;在球体的球面的每单位面积上构建一个虚拟摄像机。
在一种可能的实现方式中,处理单元1502用于在数字孪生体骨架外部构建虚拟摄像机时,具体包括:以中心点到数字孪生体骨架的各端面的最长距离的倍数为半径,中心点为球心,构建球体;在数字孪生体骨架的每个端面在球体的球面上的投影区域中构建一个虚拟摄像机。
在一种可能的实现方式中,标注结果包括每个子骨架被标注的至少一个层级;处理单元1502用于对标注结果进行归一化处理时,具体包括:在一个子骨架存在两个或者两个以 上的层级时,将一个子骨架的层级确定为最外层的层级。
在一种可能的实现方式中,加载单元1503用于基于配置文件,依次加载每个子骨架时,具体包括:从最外层的数字孪生体骨架依次加载到最内层的数字孪生体骨架;被标注为同一层级的子骨架重新确定为同一层级的子骨架。
在一种可能的实现方式中,数字孪生体模型还包括包括纹理贴图数据;处理单元1502还用于:基于纹理贴图数据生成纹理贴图,其中纹理贴图与最小粒度的数字孪生体对应的子骨架具有对应关系;对每个纹理贴图进行压缩处理,生成每个纹理贴图对应的图片占位符;生成数字孪生体模型的配置文件,配置文件包括每个图片占位符的数据文件,配置文件还用于生成:在加载每个子骨架时,子骨架的表面的图像。
在一种可能的实现方式中,处理单元1502还用于:根据每个纹理贴图和每个图片占位符生成模糊动画,模糊动画用于显示从每个图片占位符加载至每个纹理贴图的动画效果;配置文件中还包括模糊动画的数据文件;加载单元1503用于依次加载每个子骨架时,还用于:基于配置文件,加载并显示同一层级的子骨架对应的图片占位符,加载并显示同一层级的子骨架对应的模糊动画,并将同一层级的子骨架对应的图片占位符替换为纹理贴图。
在一种可能的实现方式中,处理单元1502用于对每个纹理贴图进行压缩处理,生成每个纹理贴图对应的图片占位符时,具体包括:对每个纹理贴图进行无损压缩,生成压缩后的图像;对压缩后的图像进行有损压缩,生成每个纹理贴图对应的图片占位符。
在另一些实施例中:
通信单元1501,用于接收输入的数字孪生体模型,数字孪生体模型包括骨架数据和纹理贴图数据,数字孪生体模型由至少两个最小颗粒度的数字孪生体构成。
处理单元1502,用于获取数字孪生体模型的配置文件,配置文件包括指示数字孪生体模型的数字孪生体骨架的加载顺序的信息,以及数字孪生体模型的纹理贴图对应的图片占位符与模糊动画的数据文件;其中数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架,子骨架与纹理贴图具有对应关系,数字孪生体骨架的加载顺序为从最外层的子骨架依次加载到最内层的子骨架。
加载单元1503,用于根据骨架数据、纹理贴图数据和配置文件,按照数字孪生体骨架的加载顺序依次执行如下操作:加载并显示同一层级的子骨架以及同一层级的子骨架对应的图片占位符;加载并显示同一层级的子骨架对应的模糊动画,将同一层级的子骨架对应的图片占位符替换为纹理贴图。
有关上述通信单元1501、处理单元1502和加载单元1503更详细的描述可以参考图4-图14所示的方法实施例中的相关描述,这里不加赘述。
本申请还提供了一种服务器,该服务器用以执行上述任一方法实施例。为描述的方便和简洁,该服务器的具体工作过程,可以参考前述方法实施例中数字孪生体加载平台执行的对应过程,在此不再赘述。
本申请还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例的功能。
本申请还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述任一方法实施例的功能。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state drive,SSD))等。
可以理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。可以理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
可以理解,在本申请中,“当…时”、“若”以及“如果”均指在某种客观情况下装置会做出相应的处理,并非是限定时间,且也不要求装置实现时一定要有判断的动作,也不意味着存在其它限定。
本申请中各个实施例之间相同或相似的部分可以互相参考。在本申请中各个实施例、以及各实施例中的各个实施方式/实施方法/实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实施方式/实施方法/实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以上所述的本申请实施方式并不构成对本申请保护范围的限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (22)

  1. 一种数字孪生体的加载方法,其特征在于,所述方法包括:
    接收输入的数字孪生体模型,所述数字孪生体模型包括骨架数据,所述数字孪生体模型由至少两个最小颗粒度的数字孪生体构成;
    基于所述骨架数据构建数字孪生体骨架;所述数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架;
    确定每个所述子骨架的层级;
    生成所述数字孪生体模型的配置文件,所述配置文件包括指示所述数字孪生体骨架的加载顺序的信息,所述数字孪生体骨架的加载顺序由所述每个所述子骨架对应的层级确定;
    基于所述配置文件,依次加载每个所述子骨架。
  2. 根据权利要求1所述的方法,其特征在于,所述确定每个所述子骨架的层级:具体包括:在所述数字孪生体骨架外部构建虚拟摄像机,所述虚拟摄像机与所述数字孪生体骨架的中心点的距离为所述中心点到所述数字孪生体骨架的各端面的最长距离的倍数;
    基于所述虚拟摄像机向所述中心点发射射线,根据射线接触到的所述数字孪生体骨架不同端面的时间先后顺序,标注各端面所属的子骨架的层级,对标注结果进行归一化处理,从而确定每个所述子骨架的层级。
  3. 根据权利要求2所述方法,其特征在于,所述在所述数字孪生体骨架外部构建虚拟摄像机包括:
    以所述中心点到所述数字孪生体骨架的各端面的最长距离的倍数为半径,所述中心点为球心,构建球体;
    在所述球体的球面的每单位面积上构建一个虚拟摄像机。
  4. 根据权利要求2所述的方法,其特征在于,所述在所述数字孪生体骨架外部构建虚拟摄像机包括:
    以所述中心点到所述数字孪生体骨架的各端面的最长距离的倍数为半径,所述中心点为球心,构建球体;
    在所述数字孪生体骨架的每个所述端面在所述球体的球面上的投影区域中构建一个虚拟摄像机。
  5. 根据权利要求2-4任一项所述的方法,其特征在于,所述标注结果包括所述每个子骨架被标注的至少一个层级;
    所述对标注结果进行归一化处理,包括:
    在一个子骨架存在两个或者两个以上的层级时,将所述一个子骨架的层级确定为最外层的层级。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,基于所述配置文件,依次加载每个所述子骨架,包括:从最外层的数字孪生体骨架依次加载到最内层的数字孪生体骨架;
    被标注为同一层级的子骨架重新确定为所述同一层级的子骨架。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述数字孪生体模型还包括包括纹理贴图数据;所述方法还包括:
    基于所述纹理贴图数据生成纹理贴图,其中纹理贴图与最小粒度的数字孪生体对应的子骨架具有对应关系;
    对每个所述纹理贴图进行压缩处理,生成每个所述纹理贴图对应的图片占位符;
    生成所述数字孪生体模型的配置文件,所述配置文件包括每个所述图片占位符的数据文件,所述配置文件还用于生成:在加载每个所述子骨架时,所述子骨架的表面的图像。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    根据每个所述纹理贴图和每个所述图片占位符生成模糊动画,所述模糊动画用于显示从每个所述图片占位符加载至每个所述纹理贴图的动画效果;
    所述配置文件中还包括所述模糊动画的数据文件;
    所述依次加载每个所述子骨架时,所述方法还包括:基于所述配置文件,加载并显示同一层级的子骨架对应的图片占位符,加载并显示所述同一层级的子骨架对应的模糊动画,并将所述同一层级的子骨架对应的图片占位符替换为所述纹理贴图。
  9. 根据权利要求7或8所述的方法,其特征在于,对每个所述纹理贴图进行压缩处理,生成每个所述纹理贴图对应的图片占位符,包括:
    对每个所述纹理贴图进行无损压缩,生成压缩后的图像;
    对所述压缩后的图像进行有损压缩,生成每个所述纹理贴图对应的图片占位符。
  10. 一种数字孪生体的加载方式,其特征在于,包括:
    接收输入的数字孪生体模型,所述数字孪生体模型包括骨架数据和纹理贴图数据,所述数字孪生体模型由至少两个最小颗粒度的数字孪生体构成;
    获取所述数字孪生体模型的配置文件,所述配置文件包括指示所述数字孪生体模型的数字孪生体骨架的加载顺序的信息,以及所述数字孪生体模型的纹理贴图对应的图片占位符与模糊动画的数据文件;其中所述数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架,所述子骨架与所述纹理贴图具有对应关系,所述数字孪生体骨架的加载顺序为从最外层的子骨架依次加载到最内层的子骨架;
    根据所述骨架数据、纹理贴图数据和所述配置文件,按照所述数字孪生体骨架的加载顺序依次执行如下操作:
    加载并显示同一层级的子骨架以及所述同一层级的子骨架对应的图片占位符;
    加载并显示所述同一层级的子骨架对应的模糊动画,将所述同一层级的子骨架对应的图片占位符替换为纹理贴图。
  11. 一种数字孪生体的加载装置,所述加载装置包括通信单元、处理单元和加载单元,其中:
    所述通信单元,用于接收输入的数字孪生体模型,所述数字孪生体模型包括骨架数据,所述数字孪生体模型由至少两个最小颗粒度的数字孪生体构成;
    所述处理单元用于执行以下操作:
    基于所述骨架数据构建数字孪生体骨架;所述数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架;
    确定每个所述子骨架的层级;
    生成所述数字孪生体模型的配置文件,所述配置文件包括指示所述数字孪生体骨架的加载顺序的信息,所述数字孪生体骨架的加载顺序由所述每个所述子骨架对应的层级确定;
    所述加载单元,用于基于所述配置文件,依次加载每个所述子骨架。
  12. 根据权利要求11所述的加载装置,其特征在于,所述处理单元还用于:在所述数字孪生体骨架外部构建虚拟摄像机,所述虚拟摄像机与所述数字孪生体骨架的中心点的距离为所述中心点到所述数字孪生体骨架的各端面的最长距离的倍数;
    基于所述虚拟摄像机向所述中心点发射射线,根据射线接触到的所述数字孪生体骨架不同端面的时间先后顺序,标注各端面所属的子骨架的层级;
    对标注结果进行归一化处理。
  13. 根据权利要求11所述的加载装置,其特征在于,所述处理单元用于在所述数字孪生体骨架外部构建虚拟摄像机时,具体包括:
    以所述中心点到所述数字孪生体骨架的各端面的最长距离的倍数为半径,所述中心点为球心,构建球体;
    在所述球体的球面的每单位面积上构建一个虚拟摄像机。
  14. 根据权利要求11所述的加载装置,其特征在于,所述处理单元用于在所述数字孪生体骨架外部构建虚拟摄像机时,具体包括:
    以所述中心点到所述数字孪生体骨架的各端面的最长距离的倍数为半径,所述中心点为球心,构建球体;
    在所述数字孪生体骨架的每个所述端面在所述球体的球面上的投影区域中构建一个虚拟摄像机。
  15. 根据权利要求12-14任一项所述的加载装置,其特征在于,所述标注结果包括所述每个子骨架被标注的至少一个层级;
    所述处理单元用于对标注结果进行归一化处理时,具体包括:
    在一个子骨架存在两个或者两个以上的层级时,将所述一个子骨架的层级确定为最外层的层级。
  16. 根据权利要求11-15任一项所述的加载装置,其特征在于,所述加载单元用于基于所述配置文件,依次加载每个所述子骨架时,具体包括:
    从最外层的数字孪生体骨架依次加载到最内层的数字孪生体骨架;
    被标注为同一层级的子骨架重新确定为所述同一层级的子骨架。
  17. 根据权利要求11-16任一项所述的加载装置,其特征在于,所述数字孪生体模型还包括纹理贴图数据;所述处理单元还用于:
    基于所述纹理贴图数据生成纹理贴图,其中纹理贴图与最小粒度的数字孪生体对应的子骨架具有对应关系;
    对每个所述纹理贴图进行压缩处理,生成每个所述纹理贴图对应的图片占位符;
    生成所述数字孪生体模型的配置文件,所述配置文件还包括每个所述图片占位符的数据文件,所述配置文件还用于生成:在加载每个所述子骨架时,所述子骨架的表面的图像。
  18. 根据权利要求17所述的加载装置,其特征在于,所述处理单元还用于:
    根据每个所述纹理贴图和每个所述图片占位符生成模糊动画,所述模糊动画用于显示从每个所述图片占位符加载至每个所述纹理贴图的动画效果;
    所述配置文件中还包括所述模糊动画的数据文件;
    所述加载单元用于依次加载每个所述子骨架时,还用于:基于所述配置文件,加载并显示同一层级的子骨架对应的图片占位符,加载并显示所述同一层级的子骨架对应的模糊动画,并将所述同一层级的子骨架对应的图片占位符替换为所述纹理贴图。
  19. 根据权利要求17或18所述的加载装置,其特征在于,处理单元用于对每个所述纹理贴图进行压缩处理,生成每个所述纹理贴图对应的图片占位符时,具体包括:
    对每个所述纹理贴图进行无损压缩,生成压缩后的图像;
    对所述压缩后的图像进行有损压缩,生成每个所述纹理贴图对应的图片占位符。
  20. 一种数字孪生体的加载装置,其特征在于,所述加载装置包括通信单元、处理单元和加载单元,其中:
    所述通信单元,用于接收输入的数字孪生体模型,所述数字孪生体模型包括骨架数据和纹理贴图数据,所述数字孪生体模型由至少两个最小颗粒度的数字孪生体构成;
    所述处理单元,用于获取所述数字孪生体模型的配置文件,所述配置文件包括指示所述数字孪生体模型的数字孪生体骨架的加载顺序的信息,以及所述数字孪生体模型的纹理贴图对应的图片占位符与模糊动画的数据文件;其中所述数字孪生体骨架包括每一个最小粒度的数字孪生体所对应的子骨架,所述子骨架与所述纹理贴图具有对应关系,所述数字孪生体骨架的加载顺序为从最外层的子骨架依次加载到最内层的子骨架;
    所述加载单元,用于根据所述骨架数据、纹理贴图数据和所述配置文件,按照所述数字孪生体骨架的加载顺序依次执行如下操作:
    加载并显示同一层级的子骨架以及所述同一层级的子骨架对应的图片占位符;
    加载并显示所述同一层级的子骨架对应的模糊动画,将所述同一层级的子骨架对应的图片占位符替换为纹理贴图。
  21. 一种服务器,其特征在于,所述服务器用于执行如权利要求1-10任一项所述的方法。
  22. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被执行时,使得如权利要求1-10任一项所述的方法被执行。
PCT/CN2023/117618 2022-12-26 2023-09-08 一种数字孪生体的加载方法及相关装置 WO2024139387A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211674384.6 2022-12-26
CN202211674384.6A CN115994450A (zh) 2022-12-26 2022-12-26 一种数字孪生体的加载方法及相关装置

Publications (1)

Publication Number Publication Date
WO2024139387A1 true WO2024139387A1 (zh) 2024-07-04

Family

ID=85994762

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/117618 WO2024139387A1 (zh) 2022-12-26 2023-09-08 一种数字孪生体的加载方法及相关装置

Country Status (2)

Country Link
CN (1) CN115994450A (zh)
WO (1) WO2024139387A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115994450A (zh) * 2022-12-26 2023-04-21 超聚变数字技术有限公司 一种数字孪生体的加载方法及相关装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111105491A (zh) * 2019-11-25 2020-05-05 腾讯科技(深圳)有限公司 场景渲染方法、装置、计算机可读存储介质和计算机设备
CN113255099A (zh) * 2021-04-16 2021-08-13 盾钰(上海)互联网科技有限公司 一种组件式孪生计算方法及系统
CN114746815A (zh) * 2019-09-24 2022-07-12 西门子股份公司 用于创建设施或装置的数字孪生的方法
CN115034022A (zh) * 2022-04-22 2022-09-09 阿里巴巴(中国)有限公司 数据中心的数字孪生模型生成方法及标准化处理方法
CN115100341A (zh) * 2022-07-07 2022-09-23 元能星泰(天津)数字科技有限公司 一种用于超大规模数字孪生结构化模型的多层级资源加载优化方法
CN115100353A (zh) * 2022-06-17 2022-09-23 重庆长安汽车股份有限公司 生成数字孪生实例的方法、系统、电子设备及存储介质
CN115455754A (zh) * 2022-08-17 2022-12-09 山西平阳煤机装备有限责任公司 一种基于数字孪生的矿山液压支架设计方法
CN115994450A (zh) * 2022-12-26 2023-04-21 超聚变数字技术有限公司 一种数字孪生体的加载方法及相关装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114746815A (zh) * 2019-09-24 2022-07-12 西门子股份公司 用于创建设施或装置的数字孪生的方法
CN111105491A (zh) * 2019-11-25 2020-05-05 腾讯科技(深圳)有限公司 场景渲染方法、装置、计算机可读存储介质和计算机设备
CN113255099A (zh) * 2021-04-16 2021-08-13 盾钰(上海)互联网科技有限公司 一种组件式孪生计算方法及系统
CN115034022A (zh) * 2022-04-22 2022-09-09 阿里巴巴(中国)有限公司 数据中心的数字孪生模型生成方法及标准化处理方法
CN115100353A (zh) * 2022-06-17 2022-09-23 重庆长安汽车股份有限公司 生成数字孪生实例的方法、系统、电子设备及存储介质
CN115100341A (zh) * 2022-07-07 2022-09-23 元能星泰(天津)数字科技有限公司 一种用于超大规模数字孪生结构化模型的多层级资源加载优化方法
CN115455754A (zh) * 2022-08-17 2022-12-09 山西平阳煤机装备有限责任公司 一种基于数字孪生的矿山液压支架设计方法
CN115994450A (zh) * 2022-12-26 2023-04-21 超聚变数字技术有限公司 一种数字孪生体的加载方法及相关装置

Also Published As

Publication number Publication date
CN115994450A (zh) 2023-04-21

Similar Documents

Publication Publication Date Title
US9852544B2 (en) Methods and systems for providing a preloader animation for image viewers
KR101087427B1 (ko) 3차원 장면 계층구조를 2차원 합성 시스템으로 통합하기 위한 컴퓨터로 구현된 방법 및 컴퓨터 판독가능 기록 매체
RU2360275C2 (ru) Уровень интеграции сред
RU2324229C2 (ru) Визуальный и пространственный графические интерфейсы
US7511712B1 (en) Facilitating performance analysis for processing
Li et al. [Retracted] Multivisual Animation Character 3D Model Design Method Based on VR Technology
US11436800B2 (en) Interactive system and method providing real-time virtual reality visualization of simulation data
WO2024139387A1 (zh) 一种数字孪生体的加载方法及相关装置
KR20070011062A (ko) 모델 3d 구성 애플리케이션 프로그램 인터페이스
US9311749B2 (en) Method for forming an optimized polygon based shell mesh
US20130257856A1 (en) Determining a View of an Object in a Three-Dimensional Image Viewer
US8031190B2 (en) Translating two-dimensional user input on three-dimensional scene
CN113946402A (zh) 基于渲染分离的云手机加速方法、系统、设备及存储介质
CN113901367A (zh) 一种基于WebGL+VR的BIM体量模型展示方法
CN102105868B (zh) 在图形图像的视觉创建期间的性能分析
CN115082609A (zh) 图像渲染方法、装置、存储介质及电子设备
JP5372590B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN117710563A (zh) 用于半透明对象的基于光栅化的可微分绘制器的方法
US9582247B1 (en) Preserving data correlation in asynchronous collaborative authoring systems
KR20220164441A (ko) 그래픽 프로세싱
CN114461959A (zh) Bim数据的web端在线显示方法、装置及电子设备
US20200020169A1 (en) Real-time spatial authoring in augmented reality using additive and subtractive modeling
KR101268865B1 (ko) 3d 가상현실 저작도구의 실시간 재질 생성을 위한 편집 방법
Ferreira A WebGL application based on BIM IFC
CN112802134B (zh) 一种三维模型的编码方法、装置和终端

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23909325

Country of ref document: EP

Kind code of ref document: A1