一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种动画模型的导入方法、装置、终端设备及存储介质与流程

2021-10-20 00:57:00 来源:中国专利 TAG:终端设备 导入 动画制作 装置 模型


1.本发明涉及动画制作技术领域,尤其涉及一种动画模型的导入方法、装置、终端设备及存储介质。


背景技术:

2.在智慧城市业务的webgis系统中通常需要一些真实的场景效果,例如一些带有动画效果的模型数据:无人机、走路的人等。动画模型载入效果可以在智慧城市的场景可以让场景更加具有动感,以及真实性。因此需要一种基于gis系统导入gltf动画模型的解决方法。
3.因此,现有技术还有待改进和提高。


技术实现要素:

4.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种动画模型的导入方法、装置、终端设备及存储介质,旨在提供一种基于gis系统导入gltf动画模型的解决方法,实现gis系统导入gltf动画模型。
5.为了解决上述技术问题,本发明所采用的技术方案如下:
6.第一方面,本发明提供一种动画模型的导入方法,其中,所述方法包括:
7.制作用于加载gltf动画模型的模型加载器,并获取待导入动画模型;
8.根据所述待导入动画模型,确定动画类型;
9.根据所述动画类型,将所述待导入动画模型导入所述模型加载器,以实现所述待导入动画模型的加载。
10.在一种实现方式中,所述制作用于加载gltf动画模型的模型加载器,包括:
11.获取gltf格式的模型文件;
12.将所述模型文件引入至gis系统中的模型加载器文件中,并导入至scene里面,得到所述模型加载器。
13.在一种实现方式中,所述根据所述待导入动画模型,确定动画类型,包括:
14.获取动画播放器,根据所述动画播放器读取所述待导入动画模型中的动画轨道;
15.根据所述动画轨道,确定所述动画类型。
16.在一种实现方式中,所述根据所述动画轨道,确定所述动画类型,包括:
17.若所述动画轨道为单轨动画,则确定所述动画类型为单轨动画类型;
18.若所述动画轨道为双轨动画,则确定所述动画类型为多轨动画类型。
19.在一种实现方式中,所述根据所述动画类型,将所述待导入动画模型导入所述模型加载器,包括:
20.若所述动画类型为单轨动画类型时,则将所述待导入动画模型中使用的单前帧导入至所述模型加载器;
21.若所述动画类型为多轨动画类型时,则将所述待导入动画模型中按nla轨道分组
导入至所述模型加载器。
22.在一种实现方式中,所述若所述动画类型为单轨动画类型时,则将所述待导入动画模型中使用的单前帧导入至所述模型加载器包括:
23.设置动画的起始帧和结束点去确定整个动画的长度,通过设置步长和帧率可以设置整个动画的播放速度;
24.选定使用单前帧导入至所述模型加载器。
25.在一种实现方式中,所述若所述动画类型为多轨动画类型时,则将所述待导入动画模型中按nla轨道分组导入至所述模型加载器,包括:
26.设置动画的起始帧和结束点去确定整个动画的长度,通过设置步长和帧率可以设置整个动画的播放速度;
27.选定按nla轨道分组导入至所述模型加载器。
28.第二方面,本发明实施例还提供一种动画模型的导入装置,其中,所述装置包括:
29.动画模型导入模块,用于制作用于加载gltf动画模型的模型加载器,并获取待导入动画模型;
30.动画模型确定模块,用于根据所述待导入动画模型,确定动画类型;
31.动画模型加载模块,用于并根据所述动画类型,将所述待导入动画模型导入所述模型加载器,以实现所述待导入动画模型的加载。
32.第三方面,本发明实施例还提供一种终端设备,其中,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的动画模型的导入程序,所述处理器执行所述动画模型的导入程序时,实现上述方案中任一项所述的动画模型的导入方法的步骤。
33.第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有动画模型的导入程序,所述动画模型的导入程序被处理器执行时,实现上述方案中任一项所述的动画模型的导入方法的步骤。
34.有益效果:与现有技术相比,本发明提供了一种动画模型的导入方法,本发明首先制作用于加载gltf动画模型的模型加载器,并获取待导入动画模型;根据所述待导入动画模型,确定动画类型;根据所述动画类型,将所述待导入动画模型导入所述模型加载器,以实现所述待导入动画模型的加载。本发明可实现gis系统导入gltf动画模型,使得动画程度更加平滑、稳定。
附图说明
35.图1为本发明实施例提供的动画模型的导入方法的具体实施方式的流程图。
36.图2是本发明实施例提供的动画模型的导入装置的原理框图。
37.图3是本发明实施例提供的终端设备的内部结构原理框图。
具体实施方式
38.为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
39.在智慧城市业务的webgis系统中通常需要一些真实的场景效果,例如一些带有动画效果的模型数据:无人机、走路的人等。动画模型载入效果可以在智慧城市的场景可以让场景更加具有动感,以及真实性。因此需要一种基于gis系统导入gltf动画模型的解决方法。
40.为了解决现有技术的问题,本实施例提供一种动画模型的导入方法,本实施例首先制作用于加载gltf动画模型的模型加载器,并获取待导入动画模型;根据所述待导入动画模型,确定动画类型;根据所述动画类型,将所述待导入动画模型导入所述模型加载器,以实现所述待导入动画模型的加载。本发明可实现gis系统导入gltf动画模型,使得动画程度更加平滑、稳定。
41.具体实施时,本发明实施例的所述动画模型的导入方法可应用于终端设备中,所述终端设备可为电脑、手机、平板等设备。如图1中所示,所述方法包括如下步骤:
42.步骤s100、制作用于加载gltf动画模型的模型加载器,并获取待导入动画模型。
43.具体地,本实施例首先选择mapboxgl.js,three.js和blender作为开发工具。mapboxgl.js和three.js均是世界级开源图形引擎。mapboxgl.js是webgis领域的地图开源引擎,用作地理信系统。three.js是web端通用引擎,有丰富的社区开发组件和积累,高度抽象的图形绘制和拓展丰富的接口。blender是一个开源的跨平台全能三维动画制作软件,具备直接导出在web端兼容性很高的.glb格式模型的能力,并且提供良好的稳定材质输出。该步骤的好处是:采用开源技术能够在最短时间内搭建webgis系统,具备相当的成熟度和扩展性。其中mapboxgl.js可以将three.js作为一个图层单独渲染在地图中,而three.js丰富的接口支持图形学底层接口webgl的开发,这里我们会用到three.js的gltf加载器(gltfloader),用于载入gltf资源的加载器。
44.当本实施例选择完开发工具后,本实施例需要调用three中的gltfloader去加载gltf格式的模型文件。首先在three.js官网下载three官方提供的gltfloader.js的文件,然后再结合官网文档的案例代码将three.gltfloaderr()引入到gis系统中的模型加载器文件中,并且导入到scene里面,得到所述模型加载器。接着获取待导入动画模型。
45.步骤s200、根据所述待导入动画模型,确定动画类型。
46.具体实施时,本实施例首先获取动画播放器,根据所述动画播放器读取所述待导入动画模型中的动画轨道;然后根据所述动画轨道,确定所述动画类型。若所述动画轨道为单轨动画,则确定所述动画类型为单轨动画类型;若所述动画轨道为双轨动画,则确定所述动画类型为多轨动画类型。
47.具体地,本实施例通过mesh去获取animationmixer对象,
48.mixer=new three.animationmixer(mesh);
49.animationmixer对象是场景中特定对象的动画播放器。当场景中有多个动画轨道的时候,可以给每个对象使用animationmixer。本实施例需要通过这个对象实现动画。
50.接着需要读取所有动画轨道,然后给到一个可以控制动画选哪一轨的参数。
51.用animationmixer对象的clipaction方法生成可以控制执行动画的实例。
52.this.mixer.clipaction(gltf.animations[i]).play();
[0053]
然后使用for循环读取该动画模型中的所有动画片段,然后设置出我们播放第几个动画轨道的值,通过改变nal的值去决定用第几个动画轨道
[0054]
之后再在模型加载器文件里面引入相应参数(位置、大小、高度)去支持gltf模型可以成功导入到场景中。该步骤的好处是:可以更加灵活的调整模型的一些基本参数,可以更方便的观察模型的呈现效果。
[0055]
步骤s300、根据所述动画类型,将所述待导入动画模型导入所述模型加载器。
[0056]
具体实施时,若所述动画类型为单轨动画类型时,则设置动画的起始帧和结束点去确定整个动画的长度,通过设置步长和帧率可以设置整个动画的播放速度;选定使用单前帧导入至所述模型加载器。而若所述动画类型为多轨动画类型时,则设置动画的起始帧和结束点去确定整个动画的长度,通过设置步长和帧率可以设置整个动画的播放速度;选定按nla轨道分组导入至所述模型加载器。
[0057]
具体地,本实施例首先使用blender作为开发工具,创建动画的时候有两种主要的动画定义方式:形变动画和骨骼动画。形变动画首先需要定义物体形变(旋转、平移、缩放)前后的状态,包括关键帧的制作,录制后即可制作出简易的形变动画。相比于形变动画,骨骼动画要稍微复杂一点,主要是需要制作出问题的骨骼点,通过控制这些骨骼点(bones)去实现动画的关键帧。动画制作完成之后,就动画的导出了。
[0058]
首先需要在blender右边栏里面的输出属性中通过设置动画的起始帧和结束点去确定整个动画的长度,通过设置步长和帧率可以设置整个动画的播放速度。接下来就是导出设置,这里分两种情况,一种是单轨动画一种是多轨动画。单轨动画就是只有一种动画轨道,然后在导出设置的时候选定使用当前帧和总是采样动画即可导出完整单轨动画。当多轨动画需要增加、设置多个轨道动画。首先在animation(动画页面中)选到动画编辑器,然后在中下区域的框里面选中“创建新的动作”之后在右上角的栏目里面就会显示出新的nla动画轨道,不同的nla动画轨道可以设置不一样的动画。并且可以通过代码去实现控制播放出不同的动画轨道。导出设置直接用默认的导出设置,确保勾选出“按nla轨道分组”即可。
[0059]
综上,本实施例首先制作用于加载gltf动画模型的模型加载器,并获取待导入动画模型;根据所述待导入动画模型,确定动画类型;根据所述动画类型,将所述待导入动画模型导入所述模型加载器,以实现所述待导入动画模型的加载。本发明可实现gis系统导入gltf动画模型,使得动画程度更加平滑、稳定。
[0060]
基于上述实施例,本发明还提供一种动画模型的导入装置,如图2中所示,所述装置包括:动画模型导入模块10、动画模型确定模块20以及动画模型加载模块30。具体地,所述动画模型导入模块10,用于制作用于加载gltf动画模型的模型加载器,并获取待导入动画模型。所述动画模型确定模块20,用于根据所述待导入动画模型,确定动画类型。所述动画模型加载模块30,用于并根据所述动画类型,将所述待导入动画模型导入所述模型加载器,以实现所述待导入动画模型的加载。
[0061]
具体地,本实施例首先选择mapboxgl.js,three.js和blender作为开发工具。mapboxgl.js和three.js均是世界级开源图形引擎。mapboxgl.js是webgis领域的地图开源引擎,用作地理信系统。three.js是web端通用引擎,有丰富的社区开发组件和积累,高度抽象的图形绘制和拓展丰富的接口。blender是一个开源的跨平台全能三维动画制作软件,具备直接导出在web端兼容性很高的.glb格式模型的能力,并且提供良好的稳定材质输出。该步骤的好处是:采用开源技术能够在最短时间内搭建webgis系统,具备相当的成熟度和扩展性。其中mapboxgl.js可以将three.js作为一个图层单独渲染在地图中,而three.js丰富的接口支持图形学底层接口webgl的开发,这里我们会用到three.js的gltf加载器(gltfloader),用于载入gltf资源的加载器。
[0062]
当本实施例选择完开发工具后,本实施例需要调用three中的gltfloader去加载gltf格式的模型文件。首先在three.js官网下载three官方提供的gltfloader.js的文件,然后再结合官网文档的案例代码将three.gltfloaderr()引入到gis系统中的模型加载器文件中,并且导入到scene里面,得到所述模型加载器。接着获取待导入动画模型。
[0063]
接着,本实施例首先获取动画播放器,根据所述动画播放器读取所述待导入动画模型中的动画轨道;然后根据所述动画轨道,确定所述动画类型。若所述动画轨道为单轨动画,则确定所述动画类型为单轨动画类型;若所述动画轨道为双轨动画,则确定所述动画类型为多轨动画类型。
[0064]
具体地,本实施例通过mesh去获取animationmixer对象,
[0065]
mixer=new three.animationmixer(mesh);
[0066]
animationmixer对象是场景中特定对象的动画播放器。当场景中有多个动画轨道的时候,可以给每个对象使用animationmixer。本实施例需要通过这个对象实现动画。
[0067]
接着需要读取所有动画轨道,然后给到一个可以控制动画选哪一轨的参数。
[0068]
用animationmixer对象的clipaction方法生成可以控制执行动画的实例。
[0069]
this.mixer.clipaction(gltf.animations[i]).play();
[0070]
然后使用for循环读取该动画模型中的所有动画片段,然后设置出我们播放第几个动画轨道的值,通过改变nal的值去决定用第几个动画轨道
[0071]
之后再在模型加载器文件里面引入相应参数(位置、大小、高度)去支持gltf模型可以成功导入到场景中。该步骤的好处是:可以更加灵活的调整模型的一些基本参数,可以更方便的观察模型的呈现效果。
[0072]
在一种实现方式中,若所述动画类型为单轨动画类型时,则设置动画的起始帧和结束点去确定整个动画的长度,通过设置步长和帧率可以设置整个动画的播放速度;选定使用单前帧导入至所述模型加载器。而若所述动画类型为多轨动画类型时,则设置动画的
起始帧和结束点去确定整个动画的长度,通过设置步长和帧率可以设置整个动画的播放速度;选定按nla轨道分组导入至所述模型加载器。
[0073]
具体地,本实施例首先使用blender作为开发工具,创建动画的时候有两种主要的动画定义方式:形变动画和骨骼动画。形变动画首先需要定义物体形变(旋转、平移、缩放)前后的状态,包括关键帧的制作,录制后即可制作出简易的形变动画。相比于形变动画,骨骼动画要稍微复杂一点,主要是需要制作出问题的骨骼点,通过控制这些骨骼点(bones)去实现动画的关键帧。动画制作完成之后,就动画的导出了。
[0074]
首先需要在blender右边栏里面的输出属性中通过设置动画的起始帧和结束点去确定整个动画的长度,通过设置步长和帧率可以设置整个动画的播放速度。接下来就是导出设置,这里分两种情况,一种是单轨动画一种是多轨动画。单轨动画就是只有一种动画轨道,然后在导出设置的时候选定使用当前帧和总是采样动画即可导出完整单轨动画。当多轨动画需要增加、设置多个轨道动画。首先在animation(动画页面中)选到动画编辑器,然后在中下区域的框里面选中“创建新的动作”之后在右上角的栏目里面就会显示出新的nla动画轨道,不同的nla动画轨道可以设置不一样的动画。并且可以通过代码去实现控制播放出不同的动画轨道。导出设置直接用默认的导出设置,确保勾选出“按nla轨道分组”即可。
[0075]
基于上述实施例,本发明还提供了一种终端设备,其原理框图可以如图3所示。该终端设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该终端设备的处理器用于提供计算和控制能力。该终端设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种动画模型的导入方法。该终端设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端设备的温度传感器是预先在终端设备内部设置,用于检测内部设备的运行温度。
[0076]
本领域技术人员可以理解,图3中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端设备的限定,具体的终端设备以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0077]
在一个实施例中,提供了一种终端设备,终端设备包括存储器、处理器及存储在存储器中并可在处理器上运行的动画模型的导入程序,处理器执行动画模型的导入程序时,实现如下操作指令:
[0078]
制作用于加载gltf动画模型的模型加载器,并获取待导入动画模型;
[0079]
根据所述待导入动画模型,确定动画类型;
[0080]
根据所述动画类型,将所述待导入动画模型导入所述模型加载器,以实现所述待导入动画模型的加载。
[0081]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括
随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0082]
综上,本发明公开了一种动画模型的导入方法、终端设备及存储介质,所述方法包括:动画模型的导入方法、装置、终端设备及存储介质,所述方法包括:制作用于加载gltf动画模型的模型加载器,并获取待导入动画模型;根据所述待导入动画模型,确定动画类型;根据所述动画类型,将所述待导入动画模型导入所述模型加载器,以实现所述待导入动画模型的加载。本发明可实现gis系统导入gltf动画模型,使得动画程度更加平滑、稳定。
[0083]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜