基于Unity3D编辑器的三维模型批量预览方法及装置与流程
未命名
09-12
阅读:85
评论:0

基于unity3d编辑器的三维模型批量预览方法及装置
技术领域
1.本技术涉及数据管理技术领域,尤其涉及一种基于unity3d编辑器的三维模型批量预览方法及装置。
背景技术:
2.unity3d是由unitytechnologies公司开发的一个让用户轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具。并且,unity3d拥有强大的渲染功能、编辑器与物理引擎,成为游戏开发、动画创作、工业仿真、全息投影、虚拟现实等领域的重要辅助工具。
3.用户在使用unity3d开发三维软件时,会预先将大量的三维模型文件存储在项目目录中,然后通过编辑器预览项目目录内的三维模型的外形结构,最后将符合需求的三维模型导入unity3d场景中使用和编辑。但是,unity3d不支持批量预览三维模型。用户面对项目目录内大量的三维模型文件,只能选中单个三维模型进行预览和编辑,操作效率低,所需的时间成本较大,无法满足用户快速、简易的操作需求。
技术实现要素:
4.本技术实施例通过提供一种基于unity3d编辑器的三维模型批量预览方法,解决了现有技术中unity3d不支持批量预览三维模型,用户只能选中单个三维模型进行预览和编辑,操作效率低的问题。通过创建具有多个预览窗口且以分页网格形式展示的批量预览界面,实现了在unity3d中批量预览三维模型。
5.第一方面,本技术实施例提供了一种基于unity3d编辑器的三维模型批量预览方法,包括:获取三维模型文件,得到三维模型文件列表;创建具有多个预览窗口且以分页网格形式展示的批量预览界面;根据所述三维模型文件列表将所述三维模型文件批量载入所述批量预览界面,并分别显示在所述预览窗口中。
6.结合第一方面,在第一种可能的实现方式中,所述批量预览界面中的预览页面的数量,以及所述预览页面中所述预览窗口的数量的计算公式如下:
7.p=mathf.ceiltoint(zs/gs),gs=hs*vs,式中,p为所述批量预览界面中所述预览页面的数量,zs为所述三维模型文件列表的长度,gs为每页所述预览页面中所述预览窗口的数量,hs为所述预览页面中每行的所述预览窗口的数量,vs为所述预览页面中每列的所述预览窗口的数量;其中,
8.hs=mathf.floortoint(x/a),vs=mathf.floortoint(y/b),式中,x为所述批量预览界面的宽度,a为所述预览窗口的宽度,y为所述批量预览界面的高度,b为所述预览窗口的高度。
9.结合第一方面,在第二种可能的实现方式中,所述根据所述三维模型文件列表将所述三维模型文件批量载入所述批量预览界面,包括:确定当前预览页面对应的所述三维模型文件在所述三维模型文件列表中的开始索引与结束索引;创建长度容量等于单个所述
预览页面中所述预览窗口数量的当前列表,所述当前列表用于存储所述三维模型文件列表中所述开始索引至所述结束索引的所述三维模型文件;更新所述当前列表中,并将所述当前列表中的所述三维模型文件分别显示在所述当前预览页面中的所述预览窗口中。
10.结合第一方面,在第三种可能的实现方式中,还包括:去除所述三维模型文件中的重复文件。
11.结合第一方面,在第四种可能的实现方式中,当所述批量预览界面包括多个预览页面时,还包括:卸载当前所述预览页面之外的所述三维模型文件。
12.结合第一方面,在第五种可能的实现方式中,还包括:根据鼠标位置确定当前所述预览窗口;获取当前所述预览窗口中的所述三维模型文件;响应于鼠标的控制操作,控制当前所述预览窗口内所述三维模型文件的旋转角度。
13.结合第一方面,在第六种可能的实现方式中,还包括:删除所述预览窗口中的所述三维模型文件,同时删除所述三维模型文件列表中对应的所述三维模型文件;重新加载被删除的所述三维模型文件所在的所述预览页面中的所述预览窗口内的所述三维模型文件。
14.结合第一方面,在第七种可能的实现方式中,还包括:响应于用户的导入操作,在场景中创建对应所述三维模型文件的副本用于编辑使用。
15.第二方面,本技术实施例提供了一种基于unity3d编辑器的三维模型批量预览装置,包括:处理模块,用于获取三维模型文件,得到三维模型文件列表;预览模块,用于创建具有多个预览窗口且以分页网格形式展示的批量预览界面;加载模块,用于根据所述三维模型文件列表将所述三维模型文件批量载入所述批量预览界面,并分别显示在所述预览窗口中。
16.结合第二方面,在第一种可能的实现方式中,所述批量预览界面中的预览页面的数量,以及所述预览页面中所述预览窗口的数量的计算公式如下:
17.p=mathf.ceiltoint(zs/gs),gs=hs*vs,式中,p为所述批量预览界面中所述预览页面的数量,zs为所述三维模型文件列表的长度,gs为每页所述预览页面中所述预览窗口的数量,hs为所述预览页面中每行的所述预览窗口的数量,vs为所述预览页面中每列的所述预览窗口的数量;其中,
18.hs=mathf.floortoint(x/a),vs=mathf.floortoint(y/b),式中,x为所述批量预览界面的宽度,a为所述预览窗口的宽度,y为所述批量预览界面的高度,b为所述预览窗口的高度。
19.结合第二方面,在第二种可能的实现方式中,所述根据所述三维模型文件列表将所述三维模型文件批量载入所述批量预览界面,包括:确定当前预览页面对应的所述三维模型文件在所述三维模型文件列表中的开始索引与结束索引;创建长度容量等于单个所述预览页面中所述预览窗口数量的当前列表,所述当前列表用于存储所述三维模型文件列表中所述开始索引至所述结束索引的所述三维模型文件;更新所述当前列表中,并将所述当前列表中的所述三维模型文件分别显示在所述当前预览页面中的所述预览窗口中。
20.结合第二方面,在第三种可能的实现方式中,还包括:去除所述三维模型文件中的重复文件。
21.结合第二方面,在第四种可能的实现方式中,当所述批量预览界面包括多个预览页面时,还包括:卸载当前所述预览页面之外的所述三维模型文件。
22.结合第二方面,在第五种可能的实现方式中,还包括:根据鼠标位置确定当前所述预览窗口;获取当前所述预览窗口中的所述三维模型文件;响应于鼠标的控制操作,控制当前所述预览窗口内所述三维模型文件的旋转角度。
23.结合第二方面,在第六种可能的实现方式中,还包括:删除所述预览窗口中的所述三维模型文件,同时删除所述三维模型文件列表中对应的所述三维模型文件;重新加载被删除的所述三维模型文件所在的所述预览页面中的所述预览窗口内的所述三维模型文件。
24.结合第二方面,在第七种可能的实现方式中,还包括:响应于用户的导入操作,在场景中创建对应所述三维模型文件的副本用于编辑使用。
25.第三方面,本技术实施例提供了一种设备,所述设备包括:处理器;用于存储处理器可执行指令的存储器;所述处理器执行所述可执行指令时,实现如第一方面或第一方面任一种可能实现的方式所述的方法。
26.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
27.本技术实施例通过采用了三维模型文件列表与批量预览界面,有效解决了现有技术中unity3d不支持批量预览三维模型,用户只能选中单个三维模型进行预览和编辑,操作效率低的问题。进而实现了在unity3d中批量预览三维模型,能够提升用户的操作效率,节省模型预览时间。
附图说明
28.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1为本技术实施例提供的基于unity3d编辑器的三维模型批量预览方法的流程图;
30.图2为本技术实施例提供的根据三维模型文件列表将三维模型文件批量载入批量预览界面的流程图;
31.图3为本技术实施例提供的将三维模型文件载入预览窗口后预览操作的流程图;
32.图4为本技术实施例提供的基于unity3d编辑器的三维模型批量预览装置的结构图;
33.图5为本技术实施例提供的批量预览界面的实例图。
具体实施方式
34.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.以下对本技术实施例涉及的部分技术做出说明,以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本技术的范围和精神。同样,为了清楚和简明,以下的描述中省略
了部分对公知功能和结构的描述。
36.图1是本技术实施例提供的基于unity3d编辑器的三维模型批量预览方法的流程图,包括步骤101至步骤103。其中,图1仅为本技术实施例示出的一种执行顺序,并不代表基于unity3d编辑器的三维模型批量预览方法的唯一执行顺序,在可实现最终结果的情况下,图1所示出的步骤可以被并列或颠倒执行。
37.步骤101:获取三维模型文件,得到三维模型文件列表。具体地,在unity3d项目中,用户使用的三维模型文件格式通常为.fbx格式。在本技术实施例中,使用c#语言内置的文件读取接口,获取unity3d的项目目录中所有文件格式为.fbx的文件,即可得到此项目目录内的所有三维模型文件。
38.此外,在本技术实施例中,对于获取的多个三维模型文件中存在重复的情况时,可以对获取的所有三维模型文件进行去重操作。具体地,将名称与大小完全相同的三维模型文件进行去重,仅保留其中一个三维模型文件,删除其他重复的三维模型文件后,获得三维模型文件列表。在一些实施例中,在进行去重操作前,可以进行是否存在重复三维模型文件的判断;当判断结果为存在重复三维模型文件时,执行去重操作;当判断结果为不存在重复三维模型文件时,不执行去重操作。在另一些实施例中,在获得所有三维模型文件后,可以不用判断所有三维模型文件中是否存在重复三维模型文件,直接执行去重操作。
39.需要注意的是,上述.fbx文件格式仅为本技术所获得的三维模型文件中的一种示例格式,该三维模型文件亦可以是其他能够被unity3d软件打开的文件格式。并且,所获取的三维模型文件可以全部是同一种能够被unity3d软件打开的文件格式,也可以是多种能够被unity3d软件打开的文件格式混合。
40.同时,本领域技术人员亦可通过其他方式获取项目目录中的三维模型文件。本领域技术人员对此处三维模型文件的文件格式与获取方法做出的各种修改与改变,仍属于本技术的保护范围。
41.步骤102:创建具有多个预览窗口且以分页网格形式展示的批量预览界面。分页网格形式是指三维模型文件在一个预览页面中以网格形式显示,并且多个三维模型文件可以分为多个预览页面进行显示。如图5所示,该图中示出了批量预览界面中具有4页预览页面,每页预览页面中包含12个网格,每个网格代表一个预览窗口。每个预览窗口的大小以及每个预览页面中预览窗口的数量可以根据三维模型文件的大小决定,也可以由用户设定。
42.在本技术实施例中,使用unity3d提供的编辑器扩展功能,创建三维模型批量预览界面,批量预览界面以分页网格形式展示。具体地,批量预览界面中的预览页面的数量,以及预览页面中预览窗口的数量的计算公式如下:
43.p=mathf.ceiltoint(zs/gs),gs=hs*vs,式中,p为批量预览界面中预览页面的数量,zs为三维模型文件列表的长度,三维模型文件列表的长度即为三维模型文件列表内三维模型文件的数量,gs为每页预览页面中预览窗口的数量,hs为预览页面中每行的预览窗口的数量,vs为预览页面中每列的预览窗口的数量。
44.其中,hs=mathf.floortoint(x/a),vs=mathf.floortoint(y/b),式中,x为批量预览界面的宽度,a为预览窗口的宽度,y为批量预览界面的高度,b为预览窗口的高度。
45.步骤103:根据三维模型文件列表将三维模型文件批量载入批量预览界面,并分别显示在预览窗口中。在本技术实施例中,使用unity3d内部提供的资源加载方法“resources.load()”,加载三维模型文件列表中的三维模型文件,并按顺序显示在批量预览界面的各预览窗口中。
46.步骤103的实现步骤如图2所示,包括步骤201至步骤203,具体如下。
47.步骤201:确定当前预览页面对应的三维模型文件在三维模型文件列表中的开始索引与结束索引。具体地,计算当前预览界面中的三维模型文件在三维模型文件列表中的开始索引和结束索引,计算公式如下:si=gs*(cp-1),ei=gs*cp-1。式中,si为当前预览页面中三维模型文件的开始索引,ei为当前预览页面中三维模型文件的结束索引,gs为每页预览页面中载入的三维模型文件的数量,cp为当前预览页面的页码。在本技术实施例中,索引从0开始,即第一页预览页面中的第一个预览窗口的索引为0。如图5所示,此时所展示的预览界面的页码为2,该预览界面中有12个预览窗口。从上至下,预览窗口的开始索引为12,结束索引为23。
48.步骤202:创建长度容量等于单个预览页面中预览窗口数量的当前列表,当前列表用于存储三维模型文件列表中开始索引至结束索引的三维模型文件。具体地,基于步骤201确定的开始索引与结束索引,创建一个长度容量等于单个预览页面中预览窗口数量的当前列表,即长度为gs的当前列表。当前列表用于存储三维模型文件列表中开始索引至结束索引对应的这部分的三维模型文件。
49.步骤203:更新当前列表中,并将当前列表中的三维模型文件分别显示在当前预览页面中的预览窗口中。具体地,当批量预览界面包括多个预览页面时,每次切换预览页面都需要更新当前列表,并将当前列表中的三维模型文件显示在当前预览页面中的预览窗口内。
50.在本技术的一些实施例中,提供了一种加载方法,即每次仅加载当前预览界面中的多个三维模型文件。对还未显示到的批量预览界面中的三维模型文件先不进行加载。如图5所示,仅加载第二页预览页面中的三维模型文件。此时批量操作界面中载入了第一页预览页面与第二页预览页面所需要的三维模型文件。在本技术的另一些实施例中,卸载之前显示的当前预览页面之外的三维模型文件。以图5所示的预览页面为例,仅保留第二页预览页面对应的三维模型文件,卸载之前展示的第一页预览页面对应的三维模型文件。能够避免在批量预览界面中一次性载入大量的三维模型文件,导致加载速度慢或系统卡顿的情况出现。
51.在步骤103之后,即将三维模型文件载入批量预览界面,显示在预览窗口内后,便可预览三维模型文件,并能对三维模型文件的外观进行全方位地旋转预览。实现步骤如图3所示,包括步骤301至步骤303,具体如下。
52.步骤301:根据鼠标位置确定当前预览窗口。具体地,根据鼠标当前所在的位置确定用户所选择的预览窗口,公式如下:
53.ci=mathf.floortoint(mx/a)+(mathf.floortoint(my/b)*hs),式中,ci为鼠标的坐标对应的预览窗口的索引,mx、my分别为鼠标在当前的预览页面中的纵、横坐标,a为鼠标对应的预览窗口的宽度,b为鼠标对应的预览窗口的高度,hs为预览页面中每行的预览窗口的数量。
54.步骤302:获取当前预览窗口中的三维模型文件。在本技术实施例中,根据步骤301中确定的预览窗口,确定预览窗口中对应的三维模型文件。具体地,根据计算的预览窗口的
索引ci,在当前列表中确定该索引对应的三维模型文件,即可确定当前预览窗口中的三维模型文件。
55.步骤303:响应于鼠标的控制操作,控制当前预览窗口内三维模型文件的旋转角度。在本技术的一些实施例中,控制操作可以是按下鼠标左、右键,对鼠标进行拖和拉的操作。其中,拖和拉的操作分别对应所选三维模型文件的旋转方向,不同拖拉距离对应该三维模型文件的不同旋转角度。在本技术的另一些实施例中,控制操作可以是滑动鼠标滚轮的操作。其中,鼠标滚轮的滑动方向可以用于控制所选三维模型文件的旋转方向,不同滑动时间对应该三维模型文件的不同旋转角度。在本技术的又一些实施例中,控制操作可以是按下鼠标的滚轮进行拖和拉的操作。其中鼠标滚轮的滑动方向可以用于控制所选三维模型文件的旋转方向,按下鼠标滚轮后不同拖拉距离对应该三维模型文件的不同旋转角度。通过上述控制操作实现对三维模型文件的外形结构进行全方位预览。
56.如下示出了按下鼠标左、右键,对鼠标进行拖和拉的操作控制三维模型文件旋转方式中,三维模型文件的旋转角度的具体计算公式如下:
57.rx=rx+(sy*m),ry=ry+(sx*m),rot=(rx,ry,0)。式中,rx为当前预览窗口内三维模型文件在水平轴的旋转角度,ry为当前预览窗口内三维模型文件在垂直轴的旋转角度,rot为当前预览窗口内三维模型文件的三维旋转角度,sy为鼠标拖拉时的水平位移量,sx为鼠标拖拉时的垂直位移量,m为鼠标位移量与当前预览窗口内三维模型文件旋转角度的转换系数。
58.此外,在本技术实施例中,用户可以使用鼠标左键点击选中的某个预览窗口内的三维模型文件,进行删除或编辑操作。如果删除预览窗口中的三维模型文件,会同时删除三维模型文件列表中对应的三维模型文件。此外,需要重新加载被删除的三维模型文件所在的预览页面中的预览窗口内的三维模型文件。在本技术实施例中,重新加载被删除的三维模型文件所在的预览窗口内的三维模型文件时会同时更新当前列表,以此实现被删除的三维模型文件所在的预览窗口的更新。若用户需要使用预览界面中某个预览窗口内的三维模型文件,用户通过对选中的三维模型文件执行导入编辑操作,即可在unity3d场景中创建对应三维模型文件的副本,用户可对其进行编辑使用。
59.本技术实施例通过建立三维模型文件列表与批量预览界面,有效解决了现有技术中unity3d不支持批量预览三维模型,用户只能选中单个三维模型进行预览和编辑,操作效率低的问题。本技术在unity3d中批量预览三维模型,能够提升用户的操作效率,节省模型预览时间。通过设置当前列表,能够保证三维模型文件不会在预览页面中重复显示,并提供了一种可以控制三维模型文件的旋转方向与旋转角度的操作方法,能够全方位地预览三维模型文件的外观。
60.虽然本技术提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。本实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照本实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
61.如图4所示,本技术实施例还提供一种基于unity3d编辑器的三维模型批量预览装置400。该装置包括:处理模块401、预览模块402与加载模块403,具体如下。
62.处理模块401用于获取三维模型文件,得到三维模型文件列表。处理模块401具体用于,在unity3d中,用户使用的三维模型文件格式通常为.fbx格式。在本技术实施例中,使用c#语言内置的文件读取接口,获取unity3d项目目录中所有文件格式为.fbx的文件,即可得到此项目目录内的所有三维模型文件。
63.此外,在本技术实施例中,对于获取的多个三维模型文件中存在重复的情况时,可以对获取的所有三维模型文件进行去重操作。具体地,将名称与大小完全相同的三维模型文件进行去重,仅保留其中一个三维模型文件,删除其他重复的三维模型文件后,获得三维模型文件列表。在一些实施例中,在进行去重操作前,可以进行是否存在重复三维模型文件的判断;当判断结果为存在重复三维模型文件时,执行去重操作;当判断结果为不存在重复三维模型文件时,不执行去重操作。在另一些实施例中,在获得所有三维模型文件后,可以不用判断所有三维模型文件中是否存在重复三维模型文件,直接执行去重操作。
64.预览模块402用于创建具有多个预览窗口且以分页网格形式展示的批量预览界面。预览模块402具体用于使用unity3d提供的编辑器扩展功能,创建三维模型批量预览界面,批量预览界面以分页网格形式展示。具体地,批量预览界面中的预览页面的数量,以及预览页面中预览窗口的数量的计算公式如下:
65.p=mathf.ceiltoint(zs/gs),gs=hs*vs,式中,p为批量预览界面中预览页面的数量,zs为三维模型文件列表的长度,gs为每页预览页面中预览窗口的数量,hs为预览页面中每行的预览窗口的数量,vs为预览页面中每列的预览窗口的数量。
66.其中,hs=mathf.floortoint(x/a),vs=mathf.floortoint(y/b),式中,x为批量预览界面的宽度,a为预览窗口的宽度,y为批量预览界面的高度,b为预览窗口的高度。
67.加载模块403用于根据三维模型文件列表将三维模型文件批量载入批量预览界面,并分别显示在预览窗口中。加载模块403具体用于加载三维模型文件列表中的三维模型文件,并按顺序显示在批量预览界面的各预览窗口中。具体地,确定当前预览页面对应的三维模型文件在三维模型文件列表中的开始索引与结束索引。在本技术实施例中,为避免在批量预览界面中一次性载入大量的三维模型文件,造成加载速度慢或系统卡顿而影响用户体验,提供了一种加载方法,即每次仅加载当前预览界面中的gs个三维模型文件。具体地,计算当前预览界面中的三维模型文件在三维模型文件列表中的开始索引和结束索引,计算公式如下:si=gs*(cp-1),ei=gs*cp-1。式中,si为当前预览页面中三维模型文件的开始索引,ei为当前预览页面中三维模型文件的结束索引,gs为每页预览页面中载入的三维模型文件的数量,cp为当前预览页面的页码。
68.创建长度容量等于单个预览页面中预览窗口数量的当前列表,当前列表用于存储三维模型文件列表中开始索引至结束索引的三维模型文件。具体地,基于开始索引与结束索引,创建一个长度容量等于单个预览页面中预览窗口数量的当前列表,即长度为gs的当前列表。当前列表用于存储三维模型文件列表中开始索引至结束索引对应的这部分三维模型文件。
69.更新当前列表中,并将当前列表中的三维模型文件分别显示在当前预览页面中的预览窗口中。具体地,当批量预览界面包括多个预览页面时,每次切换预览页面都需要更新当前列表,并将当前列表中的三维模型文件显示在当前预览页面中的预览窗口中。同时,卸载之前显示的当前预览页面之外的三维模型文件。同时,将三维模型文件载入批量预览界
面,显示在预览窗口内后,便可预览三维模型文件,用户通过拖拉鼠标实现对三维模型文件的外观的全方位旋转预览。
70.本技术所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
71.上述申请实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述方便,描述以上装置时以功能分为各种模块分别描述。在实施本技术实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
72.本技术中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(英文:application specific integrated circuit;简称:asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
73.本技术实施例还提供了一种设备,所述设备包括:处理器;用于存储处理器可执行指令的存储器;所述处理器执行所述可执行指令时,实现如本技术实施例所述的方法。
74.此外,在本发明的各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独存在,也可以两个或两个以上模块集成在一个模块中。
75.上述存储介质包括但不限于随机存取存储器(英文:random access memory;简称:ram)、只读存储器(英文:read-only memory;简称:rom)、缓存(英文:cache)、硬盘(英文:hard disk drive;简称:hdd)或者存储卡(英文:memory card)。所述存储器可以用于存储计算机程序指令。
76.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的硬件的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
77.本说明书中的各个实施方式采用递进的方式描述,各个实施方式之间相同或相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。本技术
的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
78.以上实施例仅用以说明本技术的技术方案,而非对本技术限制;尽管参照前述实施例对本技术进行了详细的说明,本领域普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术技术方案的范围。
技术特征:
1.一种基于unity3d编辑器的三维模型批量预览方法,其特征在于,包括:获取三维模型文件,得到三维模型文件列表;创建具有多个预览窗口且以分页网格形式展示的批量预览界面;根据所述三维模型文件列表将所述三维模型文件批量载入所述批量预览界面,并分别显示在所述预览窗口中。2.根据权利要求1所述的方法,其特征在于,所述批量预览界面中的预览页面的数量,以及所述预览页面中所述预览窗口的数量的计算公式如下:p=mathf.ceiltoint(zs/gs),gs=hs*vs,式中,p为所述批量预览界面中所述预览页面的数量,zs为所述三维模型文件列表的长度,gs为每页所述预览页面中所述预览窗口的数量,hs为所述预览页面中每行的所述预览窗口的数量,vs为所述预览页面中每列的所述预览窗口的数量;其中,hs=mathf.floortoint(x/a),vs=mathf.floortoint(y/b),式中,x为所述批量预览界面的宽度,a为所述预览窗口的宽度,y为所述批量预览界面的高度,b为所述预览窗口的高度。3.根据权利要求1所述的方法,其特征在于,所述根据所述三维模型文件列表将所述三维模型文件批量载入所述批量预览界面,包括:确定当前预览页面对应的所述三维模型文件在所述三维模型文件列表中的开始索引与结束索引;创建长度容量等于单个所述预览页面中所述预览窗口数量的当前列表,所述当前列表用于存储所述三维模型文件列表中所述开始索引至所述结束索引的所述三维模型文件;更新所述当前列表中,并将所述当前列表中的所述三维模型文件分别显示在所述当前预览页面中的所述预览窗口中。4.根据权利要求1所述的方法,其特征在于,还包括:去除所述三维模型文件中的重复文件。5.根据权利要求1所述的方法,其特征在于,当所述批量预览界面包括多个预览页面时,还包括:卸载当前所述预览页面之外的所述三维模型文件。6.根据权利要求1所述的方法,其特征在于,还包括:根据鼠标位置确定当前所述预览窗口;获取当前所述预览窗口中的所述三维模型文件;响应于鼠标的控制操作,控制当前所述预览窗口内所述三维模型文件的旋转角度。7.根据权利要求1所述的方法,其特征在于,还包括:删除所述预览窗口中的所述三维模型文件,同时删除所述三维模型文件列表中对应的所述三维模型文件;重新加载被删除的所述三维模型文件所在的所述预览页面中的所述预览窗口内的所述三维模型文件。8.根据权利要求1所述的方法,其特征在于,还包括:响应于用户的导入操作,在场景中创建对应所述三维模型文件的副本用于编辑使用。9.一种基于unity3d编辑器的三维模型批量预览装置,其特征在于,包括:
处理模块,用于获取三维模型文件,得到三维模型文件列表;预览模块,用于创建具有多个预览窗口且以分页网格形式展示的批量预览界面;加载模块,用于根据所述三维模型文件列表将所述三维模型文件批量载入所述批量预览界面,并分别显示在所述预览窗口中。10.一种用于执行基于unity3d编辑器的三维模型批量预览方法的设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;所述处理器执行所述可执行指令时,实现如权利要求1至8中任意一项所述的方法。
技术总结
本申请公开了一种基于Unity3D编辑器的三维模型批量预览方法及装置,该方法包括:获取三维模型文件,得到三维模型文件列表;创建具有多个预览窗口且以分页网格形式展示的批量预览界面;根据三维模型文件列表将三维模型文件批量载入批量预览界面,并分别显示在预览窗口中。本申请有效解决了现有技术中Unity3D不支持批量预览三维模型,用户只能选中单个三维模型进行预览和编辑,操作效率低的问题。进而实现了在Unity3D中批量预览三维模型,能够提升用户的操作效率,节省模型预览时间。节省模型预览时间。节省模型预览时间。
技术研发人员:刘旭东 何宇 王宬 章雅卓 张巍 郭娅鹏
受保护的技术使用者:西安羚控电子科技有限公司
技术研发日:2023.06.12
技术公布日:2023/9/9
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种飞行AdHoc网络的自适应路由联合预测方法 下一篇:极化编码阵列天线