CN116863067A - 模型生成方法及计算设备 - Google Patents
模型生成方法及计算设备 Download PDFInfo
- Publication number
- CN116863067A CN116863067A CN202310624827.9A CN202310624827A CN116863067A CN 116863067 A CN116863067 A CN 116863067A CN 202310624827 A CN202310624827 A CN 202310624827A CN 116863067 A CN116863067 A CN 116863067A
- Authority
- CN
- China
- Prior art keywords
- model
- sub
- file
- information
- configuration
- 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 65
- 230000008859 change Effects 0.000 claims abstract description 14
- 238000013507 mapping Methods 0.000 claims description 83
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 40
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 6
- 238000009877 rendering Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种模型生成方法及计算设备,涉及服务器技术领域,能够提高对模型进行调整的效率。方法包括:显示第一模型;其中,第一模型为第一目标计算设备的数字孪生模型;第一模型中包括第一子模型;第一子模型为第一目标计算中第一部件对应的子模型;确定第一配置文件是否发生改变;其中,第一配置文件为第一模型的配置文件;第一配置文件中包括第一配置信息,所述第一配置信息为第一子模型对应的配置信息;在第一模型的配置文件发生改变的情况下,基于改变后的配置文件生成第二模型。
Description
技术领域
本申请涉及服务器技术领域,尤其涉及模型生成方法及计算设备。
背景技术
随着计算机的模拟仿真技术的不断发展,为了在计算机上直观的展示包括服务器、存储器、交换机以及机柜等在内的实体设备,可以通过创建实体设备的三维模型的方式,在计算机上显示模拟实体设备的三维模型。
当前,在模拟实体设备的三维模型创建完成后,如果需要对三维模型中的某个部位的外观进行调整,则需要对该三维模型进行重新建模,重新建模的过程包括修改模型骨架、增加模型贴图以及增加代码等内容。比如,若三维模型模拟的实体设备,在实际运行过程中更换了其上的某一部件,则需要重新通过建模软件对该三维模型进行重新建模,然后进行重新发布更换了对应部件的三维模型。这就导致了模型按照实体设备进行调整的步骤较为繁琐。
上述相关技术中,由于对三维模型进行重新建模所需要修改的内容较多,这就导致了模型外观更新的实现周期较长,从而使得模型调整的效率较低。
发明内容
本申请实施例提供了一种模型生成方法及计算设备,通过将第一模型中第一目标计算设备的各部件的子模型之间进行分离,实现了对单个或者多个部件的子模型分别进行调整从而更新第一模型生成第二模型的目的,能够减少重新建模的过程,从而提高对模型进行调整的效率。
第一方面,本申请实施例提供了一种模型生成方法,该方法包括:显示第一模型;其中,第一模型为第一目标计算设备的数字孪生模型;第一模型中包括第一子模型;第一子模型为第一目标计算中第一部件对应的子模型;确定第一配置文件是否发生改变;其中,第一配置文件为第一模型的配置文件;第一配置文件中包括第一配置信息,所述第一配置信息为第一子模型对应的配置信息;在第一模型的配置文件发生改变的情况下,基于改变后的配置文件生成第二模型。
可以理解的是,通过确定第一配置文件是否发生改变,确定显示的第一模型是否发生改变,若确定第一配置文件发生改变,基于改变后的配置文件生成第二模型,使得通过改变配置文件可以将显示的第一模型替换成第二模型,提高了模型生成以及显示的效率。
在一种可能的实现方式中,确定第一配置文件是否发生改变,包括:确定第一配置信息是否改变;第一配置信息包括第一子模型的骨架文件的标识信息、第一子模型的贴图文件的标识信息以及指示第一子模型的贴图映射在第一子模型骨架上的位置信息;在第一配置信息发生改变的情况下,确定第一模型的配置文件发生改变。
可以理解的是,通过检测第一配置文件中的第一配置信息是否发生改变,即第一子模型的骨架文件的标识信息、第一子模型的贴图文件的标识信息或者贴图映射在第一子模型骨架上的位置信息中的至少一种发生改变,则可以确定第一配置文件发生改变,提供了一种判断第一配置文件是否发生变化的方式,便于及时对现实的模型进行更新。
在一种可能的实现方式中,确定第一配置文件是否发生改变,包括:确定第一配置文件的是否发生如下至少一项改变:删除第一配置信息、修改第一配置信息、采用第二配置信息替换第一配置信息或增加第三配置信息;其中,第二配置信息为第二子模型对应的配置信息,第二子模型为第一目标计算设备中第二部件对应的子模型;第三配置信息为第三子模型对应的配置信息,第三子模型为第一目标计算设备或第二目标计算设备中第三部件对应的子模型。
可以理解的是,检测到的第一配置文件中发生的改变可以是删除第一配置信息、修改第一配置信息,将第一配置信息替换成第二配置信息或者在第一配置文件中增加第三配置信息,由于第一配置信息对应第一子模型,第二配置信息对应第二子模型,第三配置信息对应第三子模型,所以通过检测到的上述对第一配置文件中的配置信息的改变,可以实现对第一模型中的第一子模型、第二子模型或者第三子模型的改变,从而生成第二模型,提高了对现实的模型的更新效率。
在一种可能的实现方式中,在第一模型的配置文件发生改变的情况下,基于改变后的配置文件生成第二模型,包括:在第一配置文件中删除第一配置信息的情况下,生成第二模型;其中,第二模型中不包括第一子模型。
可以理解的是,在一种配置文件发生改变的情况下,若将第一配置文件中的第一配置信息删除,则可以对应的将第一模型中的第一子模型删除,从而实现将第一模型更新为不包含第一子模型的第二模型,实现了对单个部件的子模型进行删除从而更新第一模型生成第二模型的目的,从而提高了对显示模型更新的效率。
在一种可能的实现方式中,在第一模型的配置文件发生改变的情况下,基于改变后的配置文件生成第二模型,包括:在第一配置文件中修改第一配置信息的情况下,生成第二模型;其中,第二模型中包括更新后的第一子模型。
可以理解的是,在一种配置文件发生改变的情况下,若将第一配置文件中的第一配置信息修改,则可以对应的将第一模型中的第一子模型进行相应的更新修改,从而实现将第一模型更新为包含修改后的第一子模型的第二模型,实现了对单个部件的子模型进行修改从而更新第一模型生成第二模型的目的,从而提高了对显示模型更新的效率。
在一种可能的实现方式中,在第一模型的配置文件发生改变的情况下,基于改变后的配置文件生成第二模型,包括:在第一配置文件中采用第二配置信息替换第一配置信息的情况下,生成第二模型;其中,第二模型包括第二子模型,且不包括第一子模型。
可以理解的是,在一种配置文件发生改变的情况下,若将第一配置文件中的第一配置信息替换为第二配置信息,则可以将第一模型中对应的第一子模型替换成第二子模型,从而实现将第一模型更新为不包含第一子模型但包含第二子模型的第二模型,实现了对单个部件的子模型进行替换从而更新第一模型生成第二模型的目的,从而提高了对显示模型更新的效率。
在一种可能的实现方式中,在第一模型的配置文件发生改变的情况下,基于改变后的配置文件生成第二模型,包括:在第一配置文件中增加第三配置信息的情况下,生成第二模型;其中,第二模型包括第三子模型。
可以理解的是,在一种配置文件发生改变的情况下,若将第一配置文件中添加第三配置信息,则可以将第一模型中添加对应的第三子模型,从而实现将第一模型更新为包含第三子模型的第二模型,实现了对单个部件的子模型进行添加从而更新第一模型生成第二模型的目的,从而提高了对显示模型更新的效率。
在一种可能的实现方式中,基于改变后的配置文件生成第二模型,包括:获取配置文件中改变的配置信息,改变的配置信息包括第一配置信息、第二配置信息或第三配置信息中的至少一者;从改变的配置信息中获取子模型的骨架文件的标识信息和贴图文件的标识信息;分别基于子模型的骨架文件和贴图文件的标识信息,获取子模型的骨架文件的存储信息和贴图文件的存储信息;基于子模型的骨架文件的存储信息和贴图文件的存储信息,获取子模型的骨架文件和贴图文件;基于子模型的骨架文件和贴图文件,生成第二模型。
可以理解的是,配置信息中包括对应的子模型的骨架文件的标识信息以及贴图文件的标识信息,通过标识信息可以确定对应的骨架文件以及贴图文件的存储信息,从而获取到骨架文件以及贴图文件,实现按照骨架文件和贴图文件将第一模型更新显示为第二模型。
在一种可能的实现方式中,在显示第一模型之前,方法还包括:获取第一模型的模型文件;其中,模型文件中包括第一目标计算设备的3D模型;从3D模型中获取第一目标计算设备的骨架信息、贴图信息以及贴图映射在骨架上的位置关系信息;基于第一目标计算设备的骨架信息、贴图信息以及贴图映射在骨架上的位置关系信息,确定第一目标计算设备中每个部件的骨架信息、贴图信息以及贴图映射在骨架上的位置关系信息;分别基于每个部件的骨架信息和贴图信息,生成每个部件对应子模型的骨架文件和贴图文件;基于每个子模型的骨架文件的标识信息、每个部件的贴图文件的标识信息、每个子模型的贴图映射在骨架上的位置关系信息、动画信息、显示的空间信息和摄像机参数,生成第一配置文件。
可以理解的是,可以从第一目标计算设备对应的模型文件中确定每个子模型的骨架文件的标识信息、每个部件的贴图文件的标识信息、每个子模型的贴图映射在骨架上的位置关系信息、动画信息、显示的空间信息和摄像机参数,从而生成第一配置文件,便于后续通过检测第一配置文件中的配置信息是否发生改变对显示的第一模型进行更新。
在一种可能的实现方式中,响应于接收到的第一触发操作,确定第一目标计算设备的第一模型中第一目标计算设备的第一目标部件的目标子模型的标识信息,第一模型是第一目标计算设备的数字孪生模型,第一模型包含第一目标计算设备中各个部件各自的第一子模型;基于目标子模型的标识信息,确定目标配置文件,目标配置文件是用于索引目标子模型的骨架文件、目标子模型的贴图文件以及指示贴图映射在目标子模型的骨架上的位置关系的配置文件;基于目标配置文件,生成目标模型,目标模型包含第一目标部件的目标子模型。
可以理解的是,通过接收第一触发操作确定第一模型中第一目标计算设备的第一目标部件的目标子模型的标识信息,其中第一模型是目标计算子模型的数字孪生模型,根据确定的目标子模型的标识信息,确定可以索引目标子模型的的骨架文件以及目标子模型的贴图文件的目标配置文件,从而可以按照目标配置文件生成将第一模型上的第一目标部件的子模型由第一子模型替换成目标子模型的目标模型,通过将第一模型中第一目标计算设备的各部件的子模型之间进行分离,实现了对单个或者多个部件的子模型分别进行调整从而更新第一模型生成目标模型,避免了在现实中修改第一目标计算设备上一个或者多个部件时,需要对第一目标计算设备的数字孪生模型进行重新建模的过程,从而提高了按照现实第一目标计算设备的调整,调整对应的数字孪生模型的效率。
在一种可能的实现方式中,基于第一目标部件的目标子模型的标识信息,确定目标配置文件,包括:基于目标子模型的标识信息,将第一配置文件中第一目标部件的第一索引标识信息替换为第二索引标识信息,得到目标配置文件,第一配置文件是第一模型的配置文件,第一索引标识信息是第一子模型对应的骨架文件的标识信息,第二索引标识信息是目标子模型对应的骨架文件的标识信息。
可以理解的是,按照目标子模型的标识信息,将第一配置文件中第一目标部件的第一索引标识替换成第二索引标识从而得到目标配置文件,使得用于渲染生成第一模型的第一配置文件中与第一目标部件的第一子模型的骨架文件相关的索引标识替换成目标子模型的骨架文件相关的索引标识,将第一配置文件修改为目标配置文件,从而使得目标配置文件可以在渲染模型的过程中按照目标子模型的骨架文件进行渲染。
在一种可能的实现方式中,基于目标配置文件,生成目标模型,包括:基于目标配置文件中其他部件的第一索引标识,确定其他部件的第一子模型的骨架文件地址,其他部件是第一目标计算设备的各个部件中除了第一目标部件的部件;基于目标配置文件中第一目标部件的第二索引标识,确定目标子模型的骨架文件地址;基于目标配置文件中的第三索引标识,确定目标子模型的贴图文件地址,第三索引标识是目标子模型对应的贴图文件的标识信息;分别按照目标子模型的骨架文件地址、第一子模型的骨架文件地址以及贴图文件的地址,获取目标子模型的骨架文件、第一子模型的骨架文件以及贴图文件;基于目标子模型的骨架文件、第一子模型的骨架文件以及贴图文件,生成目标模型。
可以理解的是,目标配置文件中包括除了第一目标部件之外其他部件对应的第一索引标识,按照其他部件各自对应的第一索引标识可以得到第一子模型的骨架文件地址,按照地址获取各个第一子模型的骨架文件,目标配置文件还包括第一目标部件的第二索引标识,按照第一目标部件对应的第二索引标识可以得到目标子模型的骨架文件地址,按照地址获取目标子模型的骨架文件地址,目标配置文件中还包括第三索引标识,按照第三索引标识可以确定目标子模型对应的贴图文件地址,从而获取到贴图文件,使得可以实现生成按照目标配置文件生成将第一目标部件对应的第一子模型替换成目标子模型后的目标模型。
在一种可能的实现方式中,骨架文件以及贴图文件存储在内容分发网络CDN服务器中;分别按照目标子模型的骨架文件地址、第一子模型的骨架文件地址以及贴图文件的地址,获取目标子模型的骨架文件、第一子模型的骨架文件以及贴图文件,包括:分别按照目标子模型的骨架文件地址、第一子模型的骨架文件地址以及贴图文件的地址,从CDN服务器获取目标子模型的骨架文件、第一子模型的骨架文件以及贴图文件。
可以理解的是,通过将各个子模型的骨架文件以及贴图文件存储在CDN服务器中,便于后续计算设备对骨架文件以及贴图文件的调用获取,提高了对各个子模型进行复用的效率。
在一种可能的实现方式中,响应于接收到的第一触发操作,确定第一目标计算设备的第一模型中第一目标计算设备的第一目标部件的目标子模型的标识信息,包括:显示模型生成界面;模型生成界面包括第一目标计算设备的各个部件分别对应的至少一个子模型选项,其中,每个子模型选项对应一个子模型;响应于接收到对目标子模型对应的子模型选项的第一触发操作,确定第一模型中第一目标部件的目标子模型的标识信息。
可以理解的是,在计算设备上可以现实模型生成界面,模型生成界面上包括各个部件分别对应的至少一个子模型选项,用于接收第一触发操作,从而确定与接收到第一触发操作的子模型选项对应的第一模型中第一目标部件的目标子模型的标识信息,便于用户操作选择需要进行子模型更换的第一目标部件以及目标子模型。
在一种可能的实现方式中,方法还包括:若接收到第一模型的模型文件,在模型生成界面上显示第一模型。
可以理解的是,计算设备可以在模型生成界面上显示第一模型,实现可视化更新第一模型。
在一种可能的实现方式中,若接收到第一模型的模型文件,在模型生成界面上显示第一模型,包括:从模型文件中读取第一模型上第一目标计算设备的各个部件的骨架信息、贴图信息以及贴图映射在骨架上的位置关系信息;基于第一模型上第一目标计算设备的各个部件的骨架信息,生成第一目标计算设备的各个部件的骨架文件;基于第一模型的贴图信息,生成贴图文件;基于贴图映射在骨架上的位置关系信息,生成第一模型的第一配置文件;基于第一配置文件、调用各个部件的骨架文件以及贴图文件,将第一模型显示在模型生成界面上。
可以理解的是,通过将模型文件中包含的骨架信息、贴图信息按照各个部件进行区分,生成各个部件的骨架文件以及贴图文件,便于后续计算设备对骨架文件以及贴图文件的调用获取,提高了对各个子模型进行复用的效率。
在一种可能的实现方式中,方法还包括:响应于对第一模型中第二目标部件的第一子模型的第二触发操作,将第一配置文件中与第二目标部件的第一子模型相关的信息删除,得到第二配置文件;基于第二配置文件,生成第二模型,第二模型是将第一模型中第一目标计算设备上的第二目标部件的第一子模型删除后得到的模型。
可以理解的是,通过对第一模型中第二目标部件的第一子模型的第二触发操作,将第一配置文件中与第二目标部件的第一子模型相关的信息删除,得到删除相关信息后的第二配置文件,按照第二配置文件可以生成将第一模型中第一目标部件对应的第一子模型删除后得到的第二模型,使得第一目标计算设备的数字孪生模型可以按照现实中对第一目标计算设备的部件删减进行模型调整,提高了对模型进行调整的效率。
在一种可能的实现方式中,响应于接收到的第一触发操作,确定第一模型中第一目标部件的目标子模型之前,还包括:接收创建指令,创建指令用于指示创建第一模型时各个部件支持使用的子模型;响应于创建指令,显示创建第一模型时各个部件支持使用的子模型各自对应的子模型选项;响应于接收到对子模型选项的第三触发操作,确定第一目标计算设备的各个部件的第一子模型的标识信息;基于第一子模型的标识信息,确定第一配置文件;基于第一配置文件,生成第一模型。
可以理解的是,若计算设备没有接收到第一模型的模型文件,并且需要针对第一目标计算设备创建一个数字孪生模型如第一模型,在接收到创建指令,基于创建指令确定第一目标计算设备的各个部件支持使用的部件对应的子模型,显示上述各个子模型各自对应的子模型选项,在接收到对子模型选项的第三触发操作后,确定各个第一子模型的标识信息,从而确定第一配置文件,进而按照第一配置文件完成创建第一模型,通过对各个子模型进行复用完成创建第一模型,提高了模型创建的效率。
第二方面,本申请实施例提供了一种模型生成装置,该模型生成装置用于执行上述第一方面提供的任意一种模型生成方法。
在一种可能的实现方式中,本申请可以根据上述第一方面提供的方法,对该模型生成装置进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。示例性的,本申请可以按照功能将该模型生成装置划分为处理模块以及更新模块等。上述划分的各个功能模块执行的可能的技术方案和有益效果的描述均可以参考上述第一方面或其相应的可能的实现方式提供的技术方案,此处不再赘述。
第三方面,本申请实施例提供了一种计算设备,计算设备包含处理器和存储器,处理器与存储器耦合;该存储器用于存储计算机指令,该计算机指令由处理器加载并执行以使计算设备实现如上述方面所涉及的模型生成方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序指令,计算机程序指令由处理器加载并执行以实现如上述方面所涉及的模型生成方法。
第五方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述第一方面的各种可选实现方式中提供的模型生成方法。
本申请中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1是根据一示例性实施例示出的一种计算设备的示意图;
图2是根据一示例性实施例示出的一种模型生成方法的流程示意图;
图3是根据一示例性实施例示出的一种模型生成方法的流程示意图;
图4是图3所示实施例中涉及的一种模型生成界面示意图;
图5是图3所示实施例中涉及的一种处理第一模型的模型文件的流程示意图;
图6是图3所示实施例中涉及的一种调整数字孪生模型的第一目标部件上的子模型的流程示意图;
图7是根据一示例性实施例示出的一种模型生成方法的流程示意图;
图8是图7所示实施例中涉及的一种删除数字孪生模型中第二目标部件的流程示意图;
图9是根据一示例性实施例示出的一种模型生成方法的流程示意图;
图10是图9所示实施例中涉及的一种数字孪生模型创建的流程示意图;
图11是根据一示例性实施例示出的数字孪生系统的逻辑示意图;
图12是本申请一个示例性实施例提供的模型生成装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
首先,对本申请实施例的应用场景进行示例性介绍。
当前,针对于互联网技术(internet technology,IT)设备的数字孪生系统中,大多是展示服务器、存储器、交换机或者机柜等IT设备/计算设备的三维模型,数字孪生系统中的数字孪生模型是对物理实体在虚拟空间中的映射,需要实时使得数字孪生模型与物理实体保持一致。由于物理实体在现实中可能会频繁的发生变化,而当前的数字孪生系统要实现与物理实体保持一致,也需要对数字孪生模型进行调整修改,为了调整修改数字孪生模型,开发人员需要重新修改模型的代码文件,从而重新创建模型并测试发布,这个过程中需要经过大量的人工操作,无法在短时间内实现物理实体与虚拟世界中数字孪生模型的一致性。
其中,数字孪生可以是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。数字孪生是一种超越现实的概念,可以被视为一个或多个重要的、彼此依赖的装备系统的数字映射系统。数字孪生模型可以是在一个设备或系统的基础上,创造的一个数字版的“克隆体”,可以包括物理对象、过程、关系和行为等在内的现实世界的虚拟表示。数字孪生模型的骨架可以是指数字孪生系统中各数字孪生模型的几何体。在几何学中,可以把若干几何面(平面或曲面)所围成的有限形体称为几何体,围成几何体的面称为几何体的界面或表面,不同界面的交线称为几何体的棱线,不同棱线的交点称为几何体的顶点,几何体也可看成空间中若干几何面分割出来的有限空间区域。材质可以表示绘制几何体的表面属性,包括使用的颜色,和光亮程度,一个材质可以引用一个或多个纹理贴图,一个或多个纹理贴图可以用来将图像包裹到几何体的表面。纹理贴图通常可以表示一幅从文件中加载、在画布上生成,或者由另一个场景渲染出的图像。在数字孪生系统中,由于真实性比较高,其纹理贴图可以是由一张或者多张贴图文件组成,数字孪生系统中的纹理贴图可以称为数字孪生模型纹理贴图。
在相关技术中,在数字孪生系统中展示IT设备/计算设备,也就是目标计算设备的数字孪生模型如三维模型,可以包括IT设备/计算设备的各个部件的模型外观,比如,数字孪生模型可以包括机箱盖的子模型、硬盘的子模型、内存的子模型、CPU的子模型、主板的子模型或者磁盘阵列的子模型中的一个或多个不部件的子模型,在现实中若将目标计算设备的某一个或者某几个部件对应的部件进行调整,该目标计算设备的数字孪生模型需要按照调整后的目标计算设备重新进行建模测试以及发布。
有鉴于此,本申请下述实施例提供了一种模型生成方法,通过将第一模型中目标计算设备的各部件的子模型之间进行分离,实现对单个或者多个部件的子模型分别进行调整从而更新第一模型生成目标模型,避免在现实中修改目标计算设备上一个或者多个部件时,需要对目标计算设备的数字孪生模型进行重新建模的过程,从而提高按照现实目标计算设备的调整,调整对应的数字孪生模型的效率。
其次,对本申请实施例的系统架构进行示例性介绍。
图1示出了本申请实施例提供的一种计算设备的示意图。该计算设备可以包括中央处理器101(central processing unit,CPU)、图形处理器102(graphics processingunit,GPU)、外显设备103、存储器104等。中央处理器101、图形处理器102、外显设备103、存储器104通过总线耦合,即通过总线上述硬件之间可以进行数据交互。在软件方面,该计算设备100可以具有运行数字孪生系统,并在数字孪生系统中显示三维模型的功能。也就是说,该计算设备100可以运行有Three.js引擎,并且支持网页图形库(web graphicslibrary,WebGL)技术、网络三维(Web 3-Dimensional,Web 3D)技术。
其中,WebGL是不使用插件的情况下在任何兼容的网页浏览器中呈现交互式二维(2-Dimensional,2D)和3D图形的技术。WebGL可以完全集成到浏览器的所有网页标准中,可将影像处理和效果的GPU加速使用方式作为网页画布(canvas)的一部分。WebGL元素可以加入其他超文本标记语言(hypertext markup language,HTML)元素之中,并与网页或网页背景的其他部分混合。WebGL程序可以由JavaScript编写的句柄和着色语言(OpenGL shadinglanguage,GLSL)编写的着色器代码组成,并在计算设备的GPU上执行。Web3D可以指经由网页浏览器去显示三维图形的方法。Three.js是一个跨浏览器的Web3D引擎,使用JavaScript函数库或应用程序接口(application program interface,API)在网页浏览器中创建和展示动画的三维图形。Three.js可以允许使用JavaScript创建的网页中的GPU加速的3D动画元素。
需要说明的,下述实施例中描述的计算设备100执行某个步骤(如以下的S101至S103)可以理解为是:是由计算设备100中的CPU101执行该步骤。
其中,存储器104可以存储有下述实施例中描述的计算设备100执行某个步骤对应的计算机指令。
另外,外显设备103可以是具有界面显示功能,可以显示模型生成界面,模型生成界面可以用于显示数字孪生系统中的数字孪生模型,并且对数字孪生模型进行模型更新操作。
需要说明的,本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
为了便于理解,以下结合附图对本申请的提供的模型生成方法进行示例性介绍,该模型生成方法适用于图1所示的计算设备。
图2示出了本申请一个示例性实施例提供的模型生成方法的流程示意图。针对将第一目标计算设备(例如服务器)映射到虚拟空间后得到的用于仿真第一目标计算设备的第一模型,为了按照现实中对第一目标计算设备中一个或者多个部件的更换,调整第一目标计算设备一个或者多个的部件映射在第一模型中对应的一个或者多个子模型进行替换,该模型生成方法包括如下步骤:
S101,显示第一模型。
其中,第一模型为第一目标计算设备的数字孪生模型,第一模型中包括第一子模型,第一子模型是第一目标计算设备中第一部件映射在虚拟空间中对应的子模型。
S102,确定第一配置文件是否发生改变。
其中,第一配置文件是第一模型的配置文件,第一配置文件中包括第一配置信息,第一配置信息是第一子模型对应的配置信息,另外,第一子模型可以是第一目标计算设备中各个部件对应的子模型中的任意一个。
在一种可能的实现方式中,确定第一配置信息是否改变,第一配置信息包括第一子模型的骨架文件的标识信息、第一子模型的贴图文件的标识信息以及指示第一子模型的贴图映射在第一子模型骨架上的位置信息,在第一配置信息发生改变的情况下,确定第一模型的配置文件发生改变。
也就是说,若计算设备检测到第一配置文件中的第一配置信息发生改变,即包括检测到第一子模型的骨架文件的标识信息发生改变,第一子模型的贴图文件的标识信息发生改变或者第一子模型的贴图映射到第一子模型的骨架上的位置信息发生改变时,可以确定第一配置文件发生改变。
具体的,第一配置文件可以发生如下至少一项改变:删除第一配置信息、修改第一配置信息、采用第二配置信息替换第一配置信息、或者增加第三配置信息。
其中,第二配置信息可以为第二子模型对应的配置信息,第二子模型可以为第一目标计算设备中第二部件对应的子模型,第二部件是第一目标计算设备上除了第一部件的任一部件;第三配置信息可以为第三子模型对应的配置信息,第三子模型可以为第一目标计算设备或第二目标计算设备中第三部件对应的子模型,第二目标计算设备可以是现实中需要进行数字孪生仿真的除了第一目标计算设备的其他任一计算设备。
S103,在第一模型的配置文件发生改变的情况下,基于改变后的配置文件生成第二模型。
在本申请实施例中,在检测到第一模型的第一配置文件发生改变,则可以按照改变后的第一配置文件中的内容更新第一模型从而生成第二模型。
在第一种可能的情况下,若检测到第一配置文件中删除了第一配置信息,则可以按照删除第一配置信息后的配置文件中的内容更新第一模型,生成更新后的第一模型,更新后的第一模型为第二模型,该第二模型中不包括第一子模型。
比如,若第一配置文件中包括子模型A、子模型B以及子模型C各自的配置信息,显示的第一模型中包含有子模型A、子模型B以及子模型C,若用户通过操作删除第一配置文件中包含的子模型A对应的配置信息,则在计算设备检测到该第一配置文件中的子模型A对应的配置信息被删除,则可以按照改变后的第一配置文件,即改变后的第一配置文件不包含子模型A对应的配置信息的配置文件生成第二模型,新生成的第二模型可以显示有子模型B以及子模型C。
在第二种可能的情况下,若检测到第一配置文件中的第一配置信息被修改,则可以按照修改第一配置信息后的配置文件中的内容更新第一模型,生成更新后的第一模型,即更新后的第一模型为第二模型,该第二模型中的第一子模型按照修改后的第一配置信息发生改变,此时,第二模型中显示的是更新后的第一子模型。
其中,第一配置信息中可以包括第一子模型的骨架文件对应的标识信息、贴图文件的标识信息以及贴图映射在第一子模型的骨架上的位置信息。修改第一配置信息可以是修改贴图映射在第一子模型的骨架信息,或者修改标识信息,以调整需要引用的第一子模型的骨架文件以及贴图文件。
比如,若第一配置文件中包括子模型A、子模型B以及子模型C各自的配置信息,其中,子模型A的配置信息指示的引用的子模型A的骨架文件为骨架文件1,引用的子模型A的贴图文件为贴图文件2,若用户通过操作修改第一配置文件中子模型A对应的配置信息中骨架文件的标识信息以及贴图文件的标识信息,具体的,将指示骨架文件1的标识信息修改为骨架文件2的标识信息,贴图文件1的标识信息修改为贴图文件2的标识信息,则在计算设备检测到该第一配置文件中的子模型A对应的配置信息改变后,则可以按照改变后的第一配置文件,如子模型A对应的配置信息改变后的配置文件生成第二模型,新生成的第二模型可以显示有使用骨架文件2以及贴图文件2渲染更新的子模型A、子模型B以及子模型C。其中,将配置信息中的标识信息进行修改,可以使得计算设备渲染对应的子模型时引用的骨架文件以及贴图文件,甚至贴图映射在骨架上的位置发生改变,具体的可以对应现实中对第一目标计算设备上某一部件的型号更换时,对应的数字孪生模型上对应的子模型更新为更换后的型号。
在第三种可能的情况下,若检测到第一配置文件中的第一配置信息被替换为第二配置信息,则可以按照将第一配置信息替换为第二配置信息后的配置文件中的内容更新第一模型,生成更新后的第一模型,更新后的第一模型为第二模型,该第二模型中的第一子模型按照替换后的第二配置信息替换成第二子模型,此时,第一模型中显示有第二子模型,不显示第一子模型。
比如,若第一配置文件中包括子模型A、子模型B以及子模型C各自的配置信息,若用户通过操作将第一配置文件中子模型A对应的配置信息删除替换成子模型D对应的配置信息,则在计算设备检测到该第一配置文件中的子模型A对应的配置信息替换成子模型D对应的配置信息后,则可以按照改变后的第一配置文件,如不包含子模型A对应的配置信息,包含子模型D对应的配置信息的配置文件生成第二模型,新生成的第二模型可以显示有子模型D、子模型B以及子模型C。
在第四种可能的情况下,若检测到第一配置文件中增加了第三配置信息,则可以按照新增第三配置信息后的配置文件中的内容更新第一模型,生成更新后的第一模型,更新后的第一模型为第二模型,该第二模型中除了原有的第一模型中的子模型,还新增有第三配置信息对应的第三子模型。
比如,若第一配置文件中包括子模型A、子模型B以及子模型C各自的配置信息,若用户通过操作在第一配置文件中新增子模型D对应的配置信息,则在计算设备检测到该第一配置文件中新增子模型D对应的配置信息后,则可以按照改变后的第一配置文件,即新增子模型D对应的配置信息的配置文件生成第二模型,新生成的第二模型可以显示有子模型A、子模型B、子模型C以及子模型D。
在一种可能的实现方式中,计算设备检测到第一配置文件发生的改变可以包括上述四种可能的情况中的一种或者多种。比如,计算设备检测到第一配置文件中的第一配置信息被删除的同时还可以检测到新增第三配置信息,在这种情况下,可以按照改变后的配置文件中的内容生成第二模型,其中,第二模型中不包括第一配置信息对应的第一子模型的同时还新增有第三配置信息对应的第三子模型。
综上所述,计算设备可以通过检测第一配置文件中的各个配置信息是否发生改变,确定是否需要对第一模型进行更新生成第二模型。从用户操作的角度来说,用户通过修改第一配置文件中对应的配置信息即可实现更新单个或者多个部件发生改变的第一目标计算设备对应的数字孪生模型,无需重新建模,从而提高了模型更新调整的效率。
图3示出了本申请一个示例性实施例提供的模型生成方法的流程示意图。针对将目标计算设备(例如服务器)映射到虚拟空间后得到的用于仿真目标计算设备的第一模型,为了按照现实中对目标计算设备中一个或者多个部件的更换,调整目标计算设备一个或者多个的部件映射在第一模型中对应的一个或者多个第一子模型进行替换,该模型生成方法包括如下步骤:
S201,响应于接收到对目标子模型选项的第一触发操作,确定第一模型中该目标子模型的标识。
在本申请实施例中,当计算设备接收到第一触发操作,确定第一目标计算设备的第一模型中第一目标计算设备的第一目标部件的目标子模型的标识。
其中,第一模型是第一目标计算设备的数字孪生模型,第一模型包含第一目标计算设备中各个部件各自的子模型,也就是说,第一模型是将现实中的第一目标计算设备映射在虚拟空间中对应的模型,由于第一目标计算设备在现实中具有各个部件,所以第一模型上也具有各个部件对应的子模型,按照各个部件进行划分可以将第一模型划分为各个部件对应的子模型,第一目标部件对应的子模型是目标子模型,目标子模型可以是模型生成界面上显示的目标子模型选项对应的子模型,该目标子模型选项是用户进行第一触发操作触发的选项,第一子模型可以是目标子模型也可以是其他子模型。
比如,第一目标计算设备可以是服务器、网络设备、计算机设备等。若第一目标计算设备为服务器,第一目标计算设备的各个部件可以包括内存条、CPU、硬盘、机箱盖等。各个部件的子模型,可以是第一模型上仿真内存条的区域的子模型,第一模型上仿真CPU的区域的子模型、第一模型上仿真硬盘的区域的子模型或者第一模型上仿真机箱盖的区域的子模型。
在一种可能的实现方式中,计算设备可以显示模型生成界面,该模型生成界面上可以包括第一目标计算设备的各个部件分别对应的至少一个子模型选项,每个子模型选项对应一个子模型;响应于接收到对目标子模型对应的子模型选项的第一触发操作,确定第一模型中第一目标部件的目标子模型的标识。
其中,目标子模型的标识可以是目标子模型的名称,每一个目标子模型的标识对应一个目标子模型,比如,若第一目标部件是第一目标计算设备中的CPU,第一模型上对应CPU的第一子模型的名称可以是CPU-xx,在计算设备显示的模型生成界面上可以显示由包括CPU在内的各个部件分别对应的至少一个子模型选项,CPU对应的至少一个子模型选项可以包括名称为CPU-aa的子模型选项、名称为CPU-bb的子模型选项以及名称为CPU-xx的子模型选项,当计算设备接收到对名称为CPU-xx的目标子模型选项的第一触发操作后,可以确定第一目标计算设备的第一模型中第一目标计算设备的第一目标部件,如CPU的目标子模型的标识为CPU-xx。
也就是说,计算设备可以通过外显设备显示模型生成界面,并且在该模型生成界面上可以显示第一目标计算设备的各个部件的支持使用的子模型的子模型选项,各个部件的支持使用的子模型可以是现实中的第一目标计算设备的各个部件支持替换使用的各个型号的部件映射在虚拟空间的子模型,响应于计算设备接收到对第一目标部件的目标子模型的目标子模型选项的第一触发操作,将该目标子模型选项对应的子模型标识确定为目标子模型的标识。
示例性的,若第一目标计算设备的第一模型中包括各个部件各自对应的第一子模型,如,部件1的子模型1、部件2的子模型2以及部件3的子模型3,在现实中将第一目标计算设备中的部件2对应的部件型号进行更换时,为了保证第一模型与第一目标计算设备的一致性,计算设备上可以显示第一目标计算设备的各个部件的支持替换的部件映射在虚拟空间中的子模型的子模型选项,用户可以通过对现实中更换的部件型号对应的子模型的子模型选项进行第一触发操作,选择目标子模型的子模型选项,根据子模型选项与子模型标识的对应关系,可以确定目标子模型的标识。
示例性的,图4是本申请实施例涉及的一种模型生成界面示意图。如图4所示,在模型生成界面11上显示有至少一个项目控件,项目控件用于选择在模型生成界面11上显示或者调整的数字孪生模型,如图4中的项目1、项目2、项目3以及项目4,当前通过触发项目1对应的项目控件可以将项目1对应的仿真的计算设备选择为第一目标计算设备,并且在模型生成界面上显示第一目标计算设备的各部件映射在第一模型上区域对应的各个虚拟部件的选择控件,如如图3所示的部件1、部件2以及部件3;各个虚拟部件是现实的第一目标计算设备上的各部件映射在虚拟空间中的第一模型上对应的各个区域,对各个虚拟部件的选择控件进行触发操作后,可以展开显示各个虚拟部件支持使用的各个子模型的子模型选项,如,部件1支持使用的各个子模型对应的子模型选项1、子模型选项2以及子模型选项3,若部件1是CPU,则由于支持使用的CPU型号可以是CPU-xx、CPU-aa、CPU-bb,则CPU对应的子模型选项1可以是指示CPU-xx的选择控件,CPU对应的子模型选项2可以是指示CPU-aa的选择控件,CPU对应的子模型选项3可以是指示CPU-bb的选择控件。各个虚拟部件支持使用的各个子模型是所述现实中第一目标计算设备上的各个部件支持替换使用的各个型号的部件映射在虚拟空间中的各个形成型号的部件对应的子模型。计算设备通过接收对目标子模型选项的第一触发操作,可以确定将目标子模型选项所属的虚拟部件作为第一目标部件,并且将目标子模型选项对应的目标子模型的标识确定第一目标计算设备的第一模型中第一目标计算设备的第一目标部件的目标子模型的标识。
在一种可能的实现方式中,若接收到第一模型的模型文件,在模型生成界面上显示第一模型。
也就是说,在计算设备上显示的模型生成界面上存在指定区域,用于显示第一模型,该第一模型可以是计算设备接收到第一模型的模型文件后显示在模型生成界面上的模型。
其中,计算设备可以从第一模型的模型文件中读取第一模型上第一目标计算设备的各个部件的骨架信息、贴图信息以及贴图映射在骨架上的位置关系信息,然后基于第一模型上第一目标计算设备的各个部件的骨架信息,生成第一目标计算设备的各个部件的骨架文件,基于第一模型的贴图信息,生成贴图文件,基于贴图映射在骨架上的位置关系信息,生成第一模型的第一配置文件,基于第一配置文件、调用各个部件的骨架文件以及贴图文件,将第一模型显示在模型生成界面上。
其中,第一模型的模型文件可以是常规三维格式模型文件,比如,该第一模型的模型文件可以是三维模型文件格式(object,OBJ)、游戏中间件所用文件格式(filmbox,FBX)、图形语言传输格式(graphics language transmission format,GLTF)等格式下的文件,该第一模型的模型文件中可以包含第一模型的骨架信息、贴图信息、骨架与贴图的映射关系、动画信息、场景的空间信息、摄像机参数、盒子空间大小等,用于将第一模型渲染在虚拟空间进行显示。
具体的,第一配置文件中可以包括view属性,view属性主要保存了摄像机参数;还可以包括bbox属性,bbox属性用于指示盒子空间大小;还可以包括root数组,root数组主要用于保存第一模型上各个虚拟部件的子模型,每个子模型的name属性用于指示该子模型在模型库中存储的子模型名称,每个子模型的anims属性可以用于保存该子模型的初始位置信息,每个子模型的object属性用于保存该子模型对应的骨架文件的文件名称(如第一索引标识),每个子模型的mtl属性用于保存该子模型对应的贴图文件的贴图名称。其中,第一配置文件对应的代码内容可以显示在如图4所示的配置文件显示区域,该配置文件显示区域可以在数字孪生模型显示区域的左侧,并且可以由用户操作控制收起和展开该配置文件显示区域对应的显示窗口。各个子模型的object和mtl属性值,进行拼接可以得到地址链接。比如,由于object属性值为CPU-920时,如按照第一索引标识CPU-920,可以通过拼接得到该第一子模型对应的骨架文件地址链接http://www.xxx.com/model/cou-920.bin,同样的,由于mtl属性值为CPU-920时,如按照CPU-920可以通过拼接得到该第一子模型对应的贴图文件地址链接http://www.xxx.com/model/cpu-920.png,计算设备可以按照骨架文件以及贴图文件各自的地址链接调用骨架文件以及贴图文件,结合第一配置文件中包含位置信息在内的其他信息生成第一模型。
也就是说,用户上传第一模型的模型文件后,计算设备可以读取第一模型的模型文件,从第一模型的模型文件中获取其中包含的第一模型的骨架信息、贴图信息、骨架与贴图的对应关系以及贴图映射在骨架上的位置信息。将获取到的骨架信息区分为各个虚拟部件对应的骨架信息,比如,CPU对应的骨架信息、硬盘对应的骨架信息或者机箱盖对应的骨架信息等,骨架信息中包括点、线、面的信息,将骨架信息写入bin文件,生成各个虚拟部件的第一子模型的骨架文件,比如,CPU对应的骨架文件0.bin、硬盘对应的骨架文件1.bin等。同样的,通过读取模型文件还可以将其中的贴图信息写入到贴图文件中,比如按照贴图信息确定贴图文件0.jpg、贴图文件1.jpg、贴图文件2.jpg等,由于模型文件中还可以读取到骨架与贴图的对应关系,所以可以确定骨架文件与贴图文件的对应关系,一个贴图文件可以对应一个骨架文件,也可以对应多个骨架文件,基于骨架文件与贴图文件的对应关系、动画信息、场景的空间信息、摄像机参数、盒子空间大小,可以生成第一模型的第一配置文件,基于该第一配置文件可以调用各个虚拟部件的骨架文件以及贴图文件,按照对应关系以及贴图映射在骨架上的位置关系可以将第一模型渲染在模型生成界面上显示。
其中,若读取到的模型文件的文件大小超过指定大小,对模型文件进行压缩,如按照规律抽取丢弃成套的点、线、面以及贴图映射在骨架上的位置关系信息,该规律可以是指定比例,比如按照1000选1的规律进行信息丢弃。通过判断是否对模型文件进行压缩,并对超过指定大小的模型文件进行压缩后再提取骨架信息、贴图信息等,可以提高生成第一配置文件的效率,也提高了渲染第一模型的效率。
比如,图5是本申请实施例涉及的一种处理第一模型的模型文件的流程示意图。如图5所示,计算设备读取常规三维格式模型,如OBJ、FBX、GLTF等,读取已有场景,该已有场景可以包括已有的三维模型的骨架、贴图、动画、摄像机以及灯光等(S11),读取三维格式模型文件中的骨架信息、贴图信息以及骨架与贴图的对应关系(S12),通过确定模型文件的文件大小是否超过指定大小,从而判断是否需要对模型文件进行压缩(S13),在模型文件的文件大小超过指定大小的情况下,可以按照1000选1的规律抽取成套的点、线、面和贴图映射在骨架上的位置信息进行丢弃(S14),然后对各个骨架信息按照所属部件进行分类,将属于同一部件的骨架信息写入该部件对应的骨架文件,如该部件对应的bin文件中(S15)然后将贴图信息写入到各个贴图文件中(S16),将骨架和贴图的对应关系以及摄像机参数、动画信息和空间信息写入到配置文件得到第一模型的第一配置文件(S17)。
S202,基于目标子模型的标识,确定目标配置文件。
在本申请实施例中,计算设备可以基于目标子模型的标识,确定与目标子模型对应的目标配置文件,该目标配置文件包含目标子模型的配置信息的配置文件,可以用于渲染目标子模型。
其中,目标配置文件是可以用于索引目标子模型的骨架文件、目标子模型的贴图文件以及指示贴图映射在目标子模型的骨架上的位置关系的配置文件,目标配置文件还可以用于确定摄像机位置以及摄像机拍摄模型的角度、还可以用于在目标子模型上显示动画。目标子模型可以是响应于第一触发操作的目标子模型选项对应的子模型。
在一种可能的实现方式中,计算设备基于目标子模型的标识,将第一配置文件中第一目标部件的第一索引标识替换为第二索引标识,得到目标配置文件。
其中,第一配置文件是第一模型的配置文件,第一索引标识是第一子模型对应的骨架文件的标识,第二索引标识是目标子模型对应的骨架文件的标识。
也就是说,在第一配置文件中,包含各个虚拟部件对应的第一子模型各自的第一索引标识,通过各个虚拟部件对应的第一子模型各自的第一索引标识可以确定各个第一子模型的骨架文件的存储信息,如存储地址,从而调用各个骨架文件生成第一模型。在接收到对目标子模型的子模型选项的第一触发操作之后,为了将第一模型调整成将第一目标部件对应的第一子模型替换成目标子模型,可以将第一配置文件中第一目标部件对应的第一子模型的第一索引标识替换成目标子模型的第二索引标识,得到目标配置文件,从而使得通过目标配置文件中的各个虚拟部件对应的第一子模型各自的第一索引标识以及目标子模型各自的第二索引标识,确定各个第一子模型的骨架文件的存储地址以及目标子模型的骨架文件的存储信息,如存储地址,从而调用各个骨架文件生成目标模型。
其中,目标配置文件的具体代码结构与第一配置文件的代码结构相同,在此不再赘述,第一配置文件发生改变后生成目标配置文件,目标配置文件与第一配置文件的区别可以是将第一目标部件的第一子模型的第一索引标识替换成目标子模型的第二索引标识,将第一目标部件的第一子模型对应的贴图文件的索引标识,替换成目标子模型对应的贴图文件的索引标识。
另外,用户还可以通过修改第一配置文件中第一目标部件的目标子模型的位置信息,对将第一子模型替换成目标子模型后,目标子模型显示在目标模型上的位置进行调整,或者用户还可以修改第一配置文件中的摄像机参数,从而调整生成的目标模型进行显示时的观察距离和角度。
S203,基于目标配置文件,生成目标模型。
在本申请实施例中,计算设备按照目标配置文件可以生成目标模型。
在一种可能的实现方式中,基于目标配置文件中其他部件的第一索引标识,确定其他部件的第一子模型的骨架文件地址,其他部件是目标计算设备的各个部件中除了第一目标部件的部件;基于目标配置文件中第一目标部件的第二索引标识,确定目标子模型的骨架文件地址;基于目标配置文件中的第三索引标识,确定目标子模型的贴图文件地址,第三索引标识是目标子模型对应的贴图文件的标识,分别按照目标子模型的骨架文件地址、第一子模型的骨架文件地址以及贴图文件的地址,获取目标子模型的骨架文件、第一子模型的骨架文件以及贴图文件;基于目标子模型的骨架文件、第一子模型的骨架文件以及贴图文件,生成目标模型。
其中,骨架文件以及贴图文件可以存储在内容分发网络(content deliverynetwork,CDN)服务器中,计算设备分别按照目标子模型的骨架文件地址、第一子模型的骨架文件地址以及贴图文件的地址,从CDN服务器获取目标子模型的骨架文件、第一子模型的骨架文件以及贴图文件。
示例性的,针对在线场景,在互联网上可以部署一个模型处理平台,该模型处理平台在计算设备的前端可以通过模型生成界面显示。数字孪生系统可以访问到该模型处理平台;针对离线场景,在数字孪生系统的内部网络中可以将模型处理平台作为一个特性包进行部署,该模型处理平台可以用于接收模型文件显示模型,或者调整已有模型或者生成新的模型。
其中,图6是本申请实施例涉及的一种调整数字孪生模型的第一目标部件上的子模型的流程示意图。如图6所示,数字孪生系统可以按照指定周期获取当前数字孪生模型的配置文件,确定该配置文件当前是否更新(S21),在用户通过对模型生成界面进行触发操作,实现在模型处理平台上增加、删除或者修改数字孪生模型的骨架、贴图、动画、摄像机参数等时,会触发对配置文件相应内容的更新(S22)。若数字孪生系统按照指定周期获取当前的数字孪生模型的配置文件,确定配置文件发生更新,则请求获取该更新后的配置文件(S23),数字孪生系统可以根据更新后的配置文件拼接获取到骨架文件以及贴图文件各自对应的存储地址链接(S24),最后数字孪生系统可以根据获取到的存储地址链接向CDN请求骨架文件以及贴图文件,然后使用WebGL技术相关的引擎库将更新后的数字孪生模型渲染在模型生成界面上进行显示(S25)。
比如,若用户发现当前仿真指定型号的服务器的数字孪生模型在外壳上显示有一个错误的标志(logo),可以向模型处理平台上传其他贴图,将配置文件中的指向该错误标志的索引标识替换成新上传的其他贴图的索引标识,从而可以实现按照更新后的配置文件可以更新数字孪生模型;或者,若用户需要将当前仿真指定型号的服务器的数字孪生模型上的磁盘阵列(RAID)卡替换成另一型号的RAID卡,用户修改配置文件中关于RAID卡的索引标识,将该索引标识替换成另一型号的RAID卡的索引标识,并且可以微调配置文件中关于RAID卡的位置信息,以使得按照更新后的配置文件可以将数字孪生模型上的RAID卡进行更换。
示例性的,若现实中的目标计算设备上的logo1更换为logo2,则需要将该第一目标计算设备的数字孪生模型上对应的logo1替换成logo2,确定模型处理平台中是否存储由logo2对应的贴图文件,在模型处理平台中找到目标计算设备对应的数字孪生模型的项目,若确定模型处理平台中没有logo2对应的贴图文件,则用户需要将logo2对应的贴图文件上传到模型处理平台中,若确定模型处理平台中已经存在logo2对应的贴图文件,则直接将原有的配置文件中索引logo1对应的贴图文件的内容替换成索引logo2对应的贴图文件的内容。数字孪生系统可以根据更新后的配置文件获取地址索引调用logo2对应的贴图文件,如最新的配置内容,自动渲染更新后的数字孪生模型,使得更新后的数字孪生模型可以显示更新后的logo2。
另外,通过修改配置文件中的摄像机参数,可以修改数字孪生模型的显示默认的视角。
具体的,若在模型处理平台的模型生成界面上显示有数字孪生模型,用户可以使用鼠标将数字孪生模型的观察视角调整到合适的位置。模型处理平台可以获取到当前模型生成界面中数字孪生模型的视角参数,然后自动修改配置文件中的摄像机参数,数字孪生系统根据配置文件引用地址获取到最新的配置内容,自动渲染最新的模型,以更新后的摄像机参数对应的视角显示数字孪生模型。
图7示出了本申请一个示例性实施例提供的模型生成方法的流程示意图。针对将目标计算设备映射到虚拟空间后得到的用于仿真第一目标计算设备的第一模型,为了按照现实中对目标计算设备中一个或者多个部件的删除,调整第一目标计算设备一个或者多个的部件映射在第一模型中对应的一个或者多个第一子模型进行删除,该模型生成方法包括如下步骤:
S301,响应于对第一模型中第二目标部件的第一子模型的第二触发操作,将第一配置文件中与第二目标部件的第一子模型相关的信息删除,得到第二配置文件。
在本申请实施例中,若接收到对第一模型中第二目标部件的第一子模型的第二触发操作,可以将第一配置文件中与第二目标部件的第一子模型相关的信息删除,将第一配置文件更新为第二配置文件。
其中,与第二目标部件的第一子模型相关的信息包括用于索引第二目标部件的第一子模型的骨架文件的信息、用于索引第二目标部件的第一子模型的贴图文件的信息、第二目标部件的第一子模型的位置信息等。
示例性的,若计算设备在模型生成界面上显示第一模型,用户通过对显示的第一模型上的第二目标部件的第一子模型进行第二触发操作,可以按照该第二触发操作在第一模型的上的位置,确定第二目标部件以及第二目标部件的第一子模型,从而自动删除第一配置文件中的与第二目标部件的第一子模型相关的配置信息,得到第二配置文件。其中,在上述情况下,第二触发操作具体可以是在接收到对第一子模型的触发(如,双击触发、拖动触发)时,自动对第二目标部件的子模型对应的配置信息进行删除。
或者,若计算设备在模型生成界面上显示有第一模型上各个虚拟部件对应的第一子模型的子模型选项,通过接收对其中第二目标部件的第一子模型的子模型选项的第二触发操作,可以确定需要删除的第二目标部件的第一子模型,从而自动删除第一配置文件中的与第二目标部件的第一子模型相关的信息,得到第二配置文件。其中,在上述情况下,第二触发操作具体可以是在接收到对第一子模型的子模型选项的触发(如,双击触发、拖动触发)时,自动对第二目标部件的子模型对应的配置信息进行删除。
S302,基于第二配置文件,生成第二模型。
在本申请实施例中,计算设备按照第二配置文件可以生成删除第二目标部件的第一子模型后得到的第二模型。
其中,第二模型是将目标模型中目标计算设备上的第二目标部件的第一子模型删除后得到的模型。
示例性的,图8是本申请实施例涉及的一种删除数字孪生模型中第二目标部件的流程示意图。如图8所示,用户根据需求确定需要进行第二目标部件删除的数字孪生模型,同时确定该数字孪生模型上需要删除的模型部件,在模型处理平台上打开对应的该数字孪生模型,其中,不同计算设备对应的数字孪生模型均可以上传到该模型处理平台上(S31),在该数字孪生模型的配置文件中删除与第二目标部件的子模型相关的配置信息(S32),数字孪生系统可以根据配置文件引用配置文件中包含的各个部件的子模型骨架文件、贴图文件以及其他配置内容,自动渲染生成第二模型(S33)。
图9示出了本申请一个示例性实施例提供的模型生成方法的流程示意图。为了在模型处理平台中新增一个数字孪生模型,该模型生成方法包括如下步骤:
S401,接收创建指令。
在本申请实施例中,计算设备可以接收创建指令,该创建指令可以用于指示创建第一模型时各个部件支持使用的子模型。
也就是说,为了在模型生成界面上显示现实中的目标计算设备对应的数字孪生模型,可以接收创建指令,该创建指令可以指示当前现实中的目标计算设备对应的型号所具有的各个部件以及各个部件支持使用的各个型号。
在一种可能的实现方式中,该创建指令可以是对指定型号的目标计算设备对应的选项控件的指定触发操作,其中,在计算设备中可以存储指定型号的目标计算设备的各个部件分别支持使用的部件型号,在计算设备的模型生成界面上可以显示指定型号的目标计算设备对应的选项控件。
S402,响应于创建指令,显示创建第一模型时各个部件支持使用的子模型各自对应的子模型选项。
在本申请实施例中,计算设备按照创建指令指示的目标计算设备对应的型号所具有的各个部件以及各个部件支持使用的各个型号的部件,显示各个型号的部件对应的子模型的子模型选项。
S403,响应于接收到对子模型选项的第三触发操作,确定目标计算设备的各个部件的第一子模型的标识。
在本申请实施例中,在计算设备接收到对一个或者多个子模型选项的第三触发操作之后,可以确定按照目标计算设备创建的数字孪生模型上各个部件的第一子模型的标识。
其中,每个子模型选项可以与各自指示的子模型的标识具有对应关系,该对应关系可以存储在计算设备中。
也就是说,用户可以在显示出的各个部件支持使用的各个子模型对应的子模型选项中,每个部件选择一个子模型选项进行触发操作,从而获取接收到第三触发操作的各个子模型选项对应的子模型的标识。
S404,基于第一子模型的标识,确定第一配置文件。
在本申请实施例中,在计算设备获取到各个第一子模型的标识后,可以按照各个第一子模型的标识生成第一配置文件。
其中,各个第一子模型的标识可以用于作为第一索引标识,写入第一配置文件中。由于第一配置文件中除了用于索引骨架文件的第一索引标识还包括用于索引贴图文件的第二索引标识,还包括贴图映射在骨架上的位置关系,也就是UV映射关系,还可以包括动画信息、摄像机参数等,上述第一配置文件中的信息可以是由用户自行设定,也可以是计算设备按照历史数据或者预设数据自动生成的。
S405,基于第一配置文件,生成第一模型。
在本申请实施例中,计算设备按照第一配置文件,确定第一模型中各个第一子模型的的骨架文件以及贴图文件的存储地址,按照骨架文件以及贴图文件的存储地址可以实现调用第一子模型的骨架文件以及贴图文件,从而可以按照第一配置文件中的UV映射关系渲染第一子模型,同时按照第一配置文件中的其他信息渲染第一模型的场景,从而生成第一模型。
示例性的,图10是本申请实施例涉及的一种数字孪生模型创建的流程示意图。如图10所示,首先用户确定新创建的机型的需求的部件型号以及部件型号对应的子模型,然后从需求中区分确定需要新建的子模型,以及已经存储在模型处理平台的模型库中的已有的子模型(S41),用户向模型处理平台上传需要新建的子模型的模型文件,或者也可以直接将子模型的骨架文件以及贴图文件分别上传到模型处理平台(S42)。用户通过在模型处理平台上新建项目用于新增数字孪生模型,然后可以将新机型需求的部件型号对应的子模型引入到该新建的数字孪生模型的配置文件中,使得通过该配置文件可以索引并调用上述子模型生成数字孪生模型(S43)。此时,初步生成的数字孪生模型可以显示在模型处理平台的模型生成界面上,显示的数字孪生模型可以接收用户的触发操作,实现用户手动调整各个子模型的位置,直到满意为止(S44)。在用户点击模型处理平台的保存控件后,模型处理平台生成该新项目的数字孪生模型的配置文件,该配置文件中各部件的子模型对应的位置关系按照用户手动调整后的位置进行存储,并且按照该配置文件可以确定各部件的子模型的骨架文件以及贴图文件分别对应的存储地址,用以调用(S45)。数字孪生系统根据数字孪生模型的配置文件,请求对应的模型骨架文件和贴图文件,并且按照UV映射关系以及位置信息将各个子模型渲染到模型生成界面中,显示完整的数字孪生模型(S46)。
上述各个实施例中为了使得数字孪生模型与现实中的目标计算设备保持一致,将数字孪生模型按照目标计算设备的各部件对各个子模型进行划分,图11示出了本申请一个示例性实施例提供的数字孪生系统的逻辑示意图。如图11所示,可以将渲染生成数字孪生模型的文件分为骨架文件、贴图文件以及配置文件。
其中,骨架文件可以按照对应的部件分别将骨架信息存储在对应的骨架文件中,比如,若目标计算设备的部件可以包括机箱盖、硬盘、内存、CPU、主板以及RAID卡等,则该数字孪生模型对应的骨架文件可以存储为机盖箱的骨架文件0.bin,硬盘的骨架文件1.bin,内存的骨架文件2.bin、CPU,主板的骨架文件3.bin以及RAID卡的骨架文件4.bin。
其中,贴图文件也可以按照所属部件进行存储,比如,机盖箱对应的贴图文件可以存储为0.jpg,若机盖箱对应的贴图文件为两个,则可以是0.jpg以及0-1.jpg,硬盘对应的贴图文件1.jpg,以此类推。
另外,配置文件可以是json格式的文件。配置文件可以用于记录数字孪生模型需要哪些骨架文件、哪些贴图文件、确定骨架与贴图之间的对应关系、数字孪生模型的空间大小、数字孪生模型上可添加的动画模块相关信息或者摄像机参数等。
其中,该配置文件可以在模型生成界面上显示,并且支持用户对配置文件直接进行修改,从而通过在模型生成界面上同步显示数字孪生模型可以实现修改配置文件中代码后可视化展示调整后模型的显示情况,直观的显示配置文件修改的可视化结果,从而提高了调整数字孪生模型的效率。
上述主要从方法的角度对本申请实施例的方案进行了介绍。可以理解的是,模型生成装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对模型生成装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图12示出了本申请一个示例性实施例提供的模型生成装置400的结构示意图。该模型生成装置400应用于计算设备中,或者,该模型生成装置400可以是计算设备。该模型生成装置400包括:
显示模块410,用于显示第一模型;其中,第一模型为第一目标计算设备的数字孪生模型;第一模型中包括第一子模型;第一子模型为第一目标计算设备中第一部件对应的子模型;
处理模块420,用于确定第一配置文件是否发生改变;其中,第一配置文件为第一模型的配置文件;第一配置文件中包括第一配置信息,第一配置信息为第一子模型对应的配置信息。
更新模块430,用于在第一模型的配置文件发生改变的情况下,基于改变后的配置文件生成第二模型。
例如,结合图2,显示模块410可以用于执行如图2所示的S101,处理模块420可以用于执行如图2所示的S102,更新模块430可以用于执行如图2所示的S103。
在一种可能的实现方式中,处理模块420,还用于,
确定第一配置信息是否改变;第一配置信息包括第一子模型的骨架文件的标识信息、第一子模型的贴图文件的标识信息以及指示第一子模型的贴图映射在第一子模型骨架上的位置信息;
在第一配置信息发生改变的情况下,确定第一模型的配置文件发生改变。
在一种可能的实现方式中,处理模块420,还用于,
确定第一配置文件的是否发生如下至少一项改变:删除第一配置信息、修改第一配置信息、采用第二配置信息替换第一配置信息或增加第三配置信息;其中,第二配置信息为第二子模型对应的配置信息,第二子模型为第一目标计算设备中第二部件对应的子模型;第三配置信息为第三子模型对应的配置信息,第三子模型为第一目标计算设备或第二目标计算设备中第三部件对应的子模型。
在一种可能的实现方式中,更新模块430,还用于,
在第一配置文件中删除第一配置信息的情况下,生成第二模型;其中,第二模型中不包括第一子模型。
在一种可能的实现方式中,更新模块430还用于,
在第一配置文件中修改第一配置信息的情况下,生成第二模型;其中,第二模型中包括更新后的第一子模型。
在一种可能的实现方式中,更新模块430还用于,
在第一配置文件中采用第二配置信息替换第一配置信息的情况下,生成第二模型;其中,第二模型包括第二子模型,且不包括第一子模型。
在一种可能的实现方式中,更新模块430还用于,在第一配置文件中增加第三配置信息的情况下,生成第二模型;其中,第二模型包括第三子模型。
在一种可能的实现方式中,更新模块430还用于,
获取配置文件中改变的配置信息,改变的配置信息包括第一配置信息、第二配置信息或第三配置信息中的至少一者;
从改变的配置信息中获取子模型的骨架文件的标识信息和贴图文件的标识信息;
分别基于子模型的骨架文件和贴图文件的标识信息,获取子模型的骨架文件的存储信息和贴图文件的存储信息;
基于子模型的骨架文件的存储信息和贴图文件的存储信息,获取子模型的骨架文件和贴图文件;
基于子模型的骨架文件和贴图文件,生成第二模型。
在一种可能的实现方式中,处理模块420,还用于,
在显示第一模型之前,获取第一模型的模型文件;其中,模型文件中包括目标计算设备的3D模型;
从3D模型中获取目标计算设备的骨架信息、贴图信息以及贴图映射在骨架上的位置关系信息;
基于目标计算设备的骨架信息、贴图信息以及贴图映射在骨架上的位置关系信息,确定目标计算设备中每个部件的骨架信息、贴图信息以及贴图映射在骨架上的位置关系信息;
分别基于每个部件的骨架信息和贴图信息,生成每个部件对应子模型的骨架文件和贴图文件;
基于每个子模型的骨架文件的标识信息、每个部件的贴图文件的标识信息、每个子模型的贴图映射在骨架上的位置关系信息、动画信息、显示的空间信息和摄像机参数,生成第一配置文件。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种模型生成装置的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
作为示例,结合图1,模型生成装置中的处理模块420以及更新模块430中的部分或全部实现的功能可以通过图1中的计算设备100执行,其中,显示模块410可以通过图1中的计算设备100的外显设备103执行、处理模块420以及更新模块430可以通过图1中的计算设备100的中央处理器101、图形处理器102以及存储器104协同执行。
在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述内存故障预测方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、只读光盘(compact disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在一示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述图2、图3、图7以及图9中任一实施例所示方法的全部或部分步骤。
在一些实施例中,本申请实施例所示的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,如将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,如可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种模型生成方法,其特征在于,所述方法包括:
显示第一模型;其中,所述第一模型为第一目标计算设备的数字孪生模型;所述第一模型中包括第一子模型;所述第一子模型为所述第一目标计算设备中第一部件对应的子模型;
确定第一配置文件是否发生改变;其中,所述第一配置文件为第一模型的配置文件;所述第一配置文件中包括第一配置信息,所述第一配置信息为第一子模型对应的配置信息;
在所述第一模型的配置文件发生改变的情况下,基于改变后的所述配置文件生成第二模型。
2.根据权利要求1所述的方法,其特征在于,所述确定第一配置文件是否发生改变,包括:
确定第一配置信息是否改变;所述第一配置信息包括所述第一子模型的骨架文件的标识信息、所述第一子模型的贴图文件的标识信息以及指示所述第一子模型的贴图映射在所述第一子模型骨架上的位置信息;
在所述第一配置信息发生改变的情况下,确定所述第一模型的配置文件发生改变。
3.根据权利要求1或2所述的方法,其特征在于,所述确定第一配置文件是否发生改变,包括:
确定所述第一配置文件的是否发生如下至少一项改变:删除所述第一配置信息、修改所述第一配置信息、采用第二配置信息替换所述第一配置信息或增加第三配置信息;其中,所述第二配置信息为第二子模型对应的配置信息,所述第二子模型为所述第一目标计算设备中第二部件对应的子模型;所述第三配置信息为第三子模型对应的配置信息,所述第三子模型为所述第一目标计算设备或第二目标计算设备中第三部件对应的子模型。
4.根据权利要求3所述的方法,其特征在于,在所述第一模型的配置文件发生改变的情况下,基于改变后的所述配置文件生成第二模型,包括:
在所述第一配置文件中删除所述第一配置信息的情况下,生成所述第二模型;其中,所述第二模型中不包括第一子模型。
5.根据权利要求3或4所述的方法,其特征在于,在所述第一模型的配置文件发生改变的情况下,基于改变后的所述配置文件生成第二模型,包括:
在所述第一配置文件中修改所述第一配置信息的情况下,生成所述第二模型;其中,所述第二模型中包括更新后的第一子模型。
6.根据权利要求3-5任一项所述的方法,其特征在于,在所述第一模型的配置文件发生改变的情况下,基于改变后的所述配置文件生成第二模型,包括:
在所述第一配置文件中采用第二配置信息替换所述第一配置信息的情况下,生成所述第二模型;其中,所述第二模型包括所述第二子模型,且不包括第一子模型。
7.根据权利要求3-6任一项所述的方法,其特征在于,在所述第一模型的配置文件发生改变的情况下,基于改变后的所述配置文件生成第二模型,包括:
在所述第一配置文件中增加第三配置信息的情况下,生成所述第二模型;其中,所述第二模型包括所述第三子模型。
8.根据权利要求2-7任一项所述的方法,其特征在于,所述基于改变后的所述配置文件生成第二模型,包括:
获取配置文件中改变的配置信息,所述改变的配置信息包括所述第一配置信息、所述第二配置信息或第三配置信息中的至少一者;
从所述改变的配置信息中获取子模型的骨架文件的标识信息和贴图文件的标识信息;
分别基于所述子模型的骨架文件和贴图文件的标识信息,获取所述子模型的骨架文件的存储信息和贴图文件的存储信息;
基于所述子模型的骨架文件的存储信息和贴图文件的存储信息,获取所述子模型的骨架文件和贴图文件;
基于所述子模型的骨架文件和贴图文件,生成所述第二模型。
9.根据权利要求1-8任一项所述的方法,其特征在于,在所述显示所述第一模型之前,所述方法还包括:
获取所述第一模型的模型文件;其中,所述模型文件中包括所述目标计算设备的3D模型;
从所述3D模型中获取所述目标计算设备的骨架信息、贴图信息以及所述贴图映射在骨架上的位置关系信息;
基于所述目标计算设备的骨架信息、贴图信息以及所述贴图映射在骨架上的位置关系信息,确定所述目标计算设备中每个部件的骨架信息、贴图信息以及贴图映射在骨架上的位置关系信息;
分别基于每个部件的骨架信息和贴图信息,生成每个部件对应子模型的骨架文件和贴图文件;
基于每个子模型的骨架文件的标识信息、每个部件的贴图文件的标识信息、每个子模型的贴图映射在骨架上的位置关系信息、动画信息、显示的空间信息和摄像机参数,生成第一配置文件。
10.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;所述处理器与所述存储器耦合;所述存储器用于存储计算机指令;所述处理器用于执行所述计算机指令,以使计算设备实现如权利要求1至9任一所述的模型生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310624827.9A CN116863067A (zh) | 2023-05-29 | 2023-05-29 | 模型生成方法及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310624827.9A CN116863067A (zh) | 2023-05-29 | 2023-05-29 | 模型生成方法及计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116863067A true CN116863067A (zh) | 2023-10-10 |
Family
ID=88229307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310624827.9A Pending CN116863067A (zh) | 2023-05-29 | 2023-05-29 | 模型生成方法及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116863067A (zh) |
-
2023
- 2023-05-29 CN CN202310624827.9A patent/CN116863067A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109523621B (zh) | 对象的加载方法和装置、存储介质、电子装置 | |
US9852544B2 (en) | Methods and systems for providing a preloader animation for image viewers | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
US7164420B2 (en) | Ray tracing hierarchy | |
US10997774B2 (en) | Layered, object space, programmable and asynchronous surface property generation system | |
CN112933597B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
EP2787487A1 (en) | Method of object customization by high-speed and realistic 3D rendering through web pages | |
CN110489725A (zh) | 三维可视化方法、装置、计算机设备及其存储介质 | |
RU2680355C1 (ru) | Способ и система удаления невидимых поверхностей трёхмерной сцены | |
CN114494024B (zh) | 图像渲染方法、装置、设备及存储介质 | |
CN115512025A (zh) | 模型渲染性能的检测方法、装置、电子设备及存储介质 | |
CN116012507A (zh) | 一种渲染数据处理方法、装置、电子设备及存储介质 | |
CN106445445B (zh) | 一种矢量数据的处理方法及装置 | |
CN112783660B (zh) | 虚拟场景中的资源处理方法、装置及电子设备 | |
US20230326129A1 (en) | Method and apparatus for storing visibility data of three-dimensional model, device, and storage medium | |
CN116863067A (zh) | 模型生成方法及计算设备 | |
Dong et al. | Real‐Time Large Crowd Rendering with Efficient Character and Instance Management on GPU | |
CN113192173B (zh) | 三维场景的图像处理方法、装置及电子设备 | |
CN114461959A (zh) | Bim数据的web端在线显示方法、装置及电子设备 | |
CN114020390A (zh) | Bim模型显示方法、装置、计算机设备和存储介质 | |
Sellers et al. | Rendering massive virtual worlds | |
CN114791986A (zh) | 三维信息模型的处理方法和装置 | |
Nordan | An investigation of potential methods for topology preservation in interactive vector tile map applications | |
CN112416489A (zh) | 工程图纸显示方法及相关装置 | |
WO2023184139A1 (en) | Methods and systems for rendering three-dimensional scenes |
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 |