模型处理方法、装置、设备和存储介质与流程
- 国知局
- 2024-09-05 14:43:23
本技术属于三维场景应用,具体涉及一种模型处理方法、装置、设备和存储介质。
背景技术:
1、计算机图形学是一种使用数学算法将二维或者三维图形转化为计算机显示器的栅格形式的科学。随着计算机图形学的发展,用户可以使用three.js这类运行在浏览器中的三维引擎,实现在浏览器中绘制各种三维场景。为满足用户的需求,three.js为用户提供了上传模型的入口,以使three.js通过加载外部模型,达到更好的视觉效果。由于用户上传的模型尺寸各不相同,采用固定尺寸的展示方式往往会导致模型在显示区域中的显示效果不佳,从而影响用户的体验。
2、为了解决使用three.js加载外部模型时不同尺寸的模型采用固定尺寸的展示方式引起的显示效果不佳等缺陷,现有技术提出一种对模型尺寸进行缩放调整的方法,具体通过在三维软件中或者three.js代码中对模型的尺寸进行修改,从而实现不同尺寸的外部模型在显示区域中能被完整展示。
3、然而,现有的模型处理方法对模型尺寸进行修改时,需要与专业三维技术人员制订规范,导致其开发时间较长,建模效率较低;同时,控制模型的缩放过程中,可能会存在模型中点不同而导致的缩放变形问题的情况。
技术实现思路
1、本技术提供了一种模型处理方法、装置、设备和存储介质,用以解决现有的模型处理方法的开发时间较长,建模效率较低,且模型易缩放变形的问题。
2、第一方面,本技术提供一种模型处理方法,该方法包括:
3、获取目标模型的模型信息,并根据所述模型信息,创建与所述目标模型对应的包围盒,所述包围盒用于指示所述目标模型在三维场景中对应的边界框;
4、获取所述包围盒的宽度和高度,并根据所述宽度、所述高度、屏幕宽度以及屏幕高度,确定虚拟相机与所述目标模型的相对距离;
5、根据所述相对距离,对所述目标模型进行处理。
6、可选的,所述根据所述模型信息,创建与所述目标模型对应的包围盒,包括:
7、根据所述模型信息对所述目标模型进行分组处理,得到所述目标模型对应的层级结构中的多个组对象;
8、根据所述目标模型的目标组对象,创建与所述目标模型对应的包围盒,所述目标组对象为所述多个组对象中层级结构最高的组对象。
9、可选的,所述根据所述宽度、所述高度、屏幕宽度以及屏幕高度,确定虚拟相机与所述目标模型的相对距离,包括:
10、将所述屏幕宽度和所述宽度的比值作为第一比值;
11、将所述屏幕高度和所述高度的比值作为第二比值;
12、根据所述第一比值和所述第二比值,确定所述包围盒的目标参数,所述目标参数为所述宽度或所述高度;
13、根据所述目标参数以及所述虚拟相机的视场角,确定所述虚拟相机与所述目标模型的相对距离。
14、可选的,所述根据所述目标参数以及所述虚拟相机的视场角,确定所述虚拟相机与所述目标模型的相对距离,包括:
15、采用如下公式确定所述相对距离:
16、
17、其中,zoom为相对距离,length为目标参数,camera.fov为所述虚拟相机的视场角。
18、可选的,所述根据所述相对距离,对所述目标模型进行处理,包括:
19、根据所述相对距离确定所述虚拟相机的远截面;
20、根据所述相对距离、所述远截面以及预设近截面,对所述虚拟相机进行赋值处理,并对所述虚拟相机进行矩阵运算;
21、基于所述赋值处理后的虚拟相机,对所述目标模型进行渲染处理。
22、可选的,若所述目标模型包括多个子模型,则所述根据所述宽度、所述高度、屏幕宽度以及屏幕高度,确定虚拟相机与所述目标模型的相对距离,包括:
23、根据每个子模型对应的包围盒的宽度和高度,以及所述屏幕宽度和所述屏幕高度,确定所述虚拟相机与每个子模型的候选相对距离;
24、将多个候选相对距离中距离最大的候选相对距离作为所述虚拟相机与所述目标模型的相对距离。
25、可选的,所述将多个候选相对距离中距离最大的候选相对距离作为所述虚拟相机与所述目标模型的相对距离之后,所述方法还包括:
26、根据所述多个候选相对距离和所述相对距离,确定每个子模型的缩放参数;
27、按照所述缩放参数,对对应的子模型进行修正处理。
28、第二方面,本技术提供一种模型处理装置,该装置包括:
29、获取模块,用于获取目标模型的模型信息;
30、处理模块,用于根据所述模型信息,创建与所述目标模型对应的包围盒,所述包围盒用于指示所述目标模型在三维场景中对应的边界框;
31、所述获取模块,还用于获取所述包围盒的宽度和高度;
32、所述处理模块,还用于根据所述宽度、所述高度、屏幕宽度以及屏幕高度,确定虚拟相机与所述目标模型的相对距离;
33、所述处理模块,还用于根据所述相对距离,对所述目标模型进行处理。
34、可选的,所述处理模块,还用于根据所述模型信息对所述目标模型进行分组处理,得到所述目标模型对应的层级结构中的多个组对象;
35、所述处理模块,还用于根据所述目标模型的目标组对象,创建与所述目标模型对应的包围盒,所述目标组对象为所述多个组对象中层级结构最高的组对象。
36、可选的,所述装置还包括:确定模块;
37、所述处理模块,还用于将所述屏幕宽度和所述宽度的比值作为第一比值,将所述屏幕高度和所述高度的比值作为第二比值;
38、所述确定模块,用于根据所述第一比值和所述第二比值,确定所述包围盒的目标参数,所述目标参数为所述宽度或所述高度;
39、所述确定模块,还用于根据所述目标参数以及所述虚拟相机的视场角,确定所述虚拟相机与所述目标模型的相对距离。
40、可选的,所述处理模块,还用于采用如下公式确定所述相对距离:
41、
42、其中,zoom为相对距离,length为目标参数,camera.fov为所述虚拟相机的视场角。
43、可选的,所述确定模块,还用于根据所述相对距离确定所述虚拟相机的远截面;
44、所述处理模块,还用于根据所述相对距离、所述远截面以及预设近截面,对所述虚拟相机进行赋值处理,并对所述虚拟相机进行矩阵运算;
45、所述处理模块,还用于基于所述赋值处理后的虚拟相机,对所述目标模型进行渲染处理。
46、可选的,所述处理模块,还用于根据每个子模型对应的包围盒的宽度和高度,以及所述屏幕宽度和所述屏幕高度,确定所述虚拟相机与每个子模型的候选相对距离;
47、所述处理模块,还用于将多个候选相对距离中距离最大的候选相对距离作为所述虚拟相机与所述目标模型的相对距离。
48、可选的,所述处理模块,还用于根据所述多个候选相对距离和所述相对距离,确定每个子模型的缩放参数;
49、所述处理模块,还用于按照所述缩放参数,对对应的子模型进行修正处理。
50、第三方面,本技术提供一种模型处理设备,包括:
51、存储器;
52、处理器;
53、其中,所述存储器存储计算机执行指令;
54、所述处理器执行所述存储器存储的计算机执行指令,以实现如上述第一方面及第一方面各种可能的实现方式所述的模型处理方法。
55、第四方面,本技术提供一种计算机存储介质,其上存储有计算机执行指令,所述计算机执行指令被处理器执行以实现如上述第一方面及第一方面各种可能的实现方式所述的模型处理方法。
56、本技术提供的模型处理方法,通过获取目标模型的模型信息,并根据所述模型信息,创建与所述目标模型对应的包围盒,所述包围盒用于指示所述目标模型在三维场景中对应的边界框,获取所述包围盒的宽度和高度,并根据所述宽度、所述高度、屏幕宽度以及屏幕高度,确定虚拟相机与所述目标模型的相对距离,根据所述相对距离,对所述目标模型进行处理;该方法通过控制虚拟相机与目标模型的相对距离使目标模型能够完全显示在屏幕上,规避了修改目标模型尺寸导致的缩放变形问题,同时,也提高了建模效率。
本文地址:https://www.jishuxx.com/zhuanli/20240905/287829.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表