基于Unity引擎的多媒体文件制作方法与流程

文档序号:14175002阅读:963来源:国知局
基于Unity引擎的多媒体文件制作方法与流程

本发明涉及多媒体文件制作方法。



背景技术:

请参阅图1所示。目前,基于unity引擎的多媒体文件制作方法主要包括以下步骤:

步骤a、新建一个unity项目,该新建的unity项目为待演示的多媒体文件。

在打开unity3d程序后,点击“新建项目(createaproject)”按钮,输入新的unity项目的名称和路径后,再次点击“新建项目(createaproject)”按钮,会进入到unity3d的主界面。

步骤b、创建多个页面场景。

unity项目可以创建多个场景。对于用于演示的多媒体文件而言,多个页面场景类似于ppt中的多张幻灯片,每个页面场景中可以包含多幅图片、多个视频、多组动画以及多个按钮等资源。

步骤c、导入资源文件。

用unity制作多媒体文件时所使用的图片、音乐、视频等资源需要先导入到unity项目中,被导入的资源文件被放置到项目文件目录中的assets子目录中。

步骤d、向页面场景附加脚本。

通过向已创建的一个或多个页面场景附加脚本,可以实现对页面场景的播放顺序的控制等功能,还可以将资源绑定在页面场景的对象上,实现播放音乐、视频以及动画等功能。上述的脚本可通过c#、javascript等语言编写。在unity3d中,向页面场景附加脚本的方式有多种,例如,可以选中脚本,将其拖到页面场景的对象上等等。

步骤e、发布制作完成的多媒体文件。

场景以及场景涉及到的资源进行打包发布后才能在终端设备上被播放。在unity3d中,选择菜单中的“buildsettings”命令,在弹出界面中选择需要发布的页面场景,然后点击“build”按钮,即可将所完成的项目内容(即多媒体文件)打包发布。

通常,发布后的unity项目的文件包由以下几部分组成:一个后缀名为exe的可执行文件,同时在同一目录下会生成一个以项目名称加‘_data’拼接出的文件夹。例如,新建了一个名称为demo的unity项目,在制作完成并发布后,会生成一个demo.exe文件,同一目录下还会生成一个demo_data文件夹。在demo_data文件夹中还包含一个或者多个以后缀.ress结尾的资源包文件。

当在终端设备上播放多媒体文件时,在进入某一个页面场景前,要先加载此页面场景中的部分文件到内存中然后进行内容显示,当从一个页面场景切换到另外一个页面场景时,也要先加载后一个页面场景中所用到的资源,等资源加载完成后才对后一页面场景进行内容的显示。

现有的基于unity引擎的多媒体文件制作方法存在着以下不足:

1、多媒体文件的发布过程非常漫长,而且经常由于系统资源的耗尽而失败;

2、修改不方便,对多媒体文件做任何一个小的改动都需要把项目全部重新打包发布;

3、发布后的文件巨大,每次都要传输覆盖完整的项目才能运行,复制时间长,如果使用环境与开发环境不在同一地点的,对于当前的网络带宽来说,这样几个g甚至十几g文件容量进行远程传输非常不方便;

4、发布后的程序启动时,会有非常长且没有进度显示的加载过程,系统经常由于内存不足而崩溃;

5、交互切换页面场景时,由于要加载相关的大量资源,会有几秒到几十秒的无响应时间。



技术实现要素:

本发明所要解决的技术问题在于提供一种基于unity引擎的多媒体文件制作方法,其发布时间短,能够实现流畅的播放,便于对多媒体文件进行后续修改。

为解决上述技术问题,本发明所采取的技术方案是:

基于unity引擎的多媒体文件制作方法,包括以下步骤:

a、新建一个unity项目,该新建的unity项目为待演示的多媒体文件;

b、创建一个框架页面场景和多个普通页面场景,所述框架页面场景含有所述多个普通页面场景都要用到的元素;

c、将框架页面场景需要用到的资源导入到所述unity项目中,将每个普通页面场景所要用到的资源分别导入到各自独立的文件夹中;

d、向框架页面场景和普通页面场景附加脚本;

e、发布制作完成的多媒体文件,在发布时只选中框架页面场景进行发布,并把所有普通页面场景及所有普通页面场景所用到的资源打包成外置资源文件;其中,附加给所述框架页面场景和普通页面场景的脚本使得在终端设备中运行发布后所生成的可执行文件时,会将框架页面场景、各普通页面场景的打包文件及各普通页面场景用到的资源包文件均加载到终端设备硬盘的虚拟内存中,并使框架页面场景在加载完成后始终处于在所述终端设备上显示的状态。

采用上述技术方案后,本发明至少具有以下优点和特点:

1、将多媒体文件的场景划分为框架页面场景和普通页面场景,框架页面场景含有多个普通页面场景都要用到的元素,发布时只发布框架页面场景,同时将各普通页面场景及各普通页面场景所用到的资源分别打包成外置资源文件,从而大大缩短了项目的发布时间;

2、由于把各普通页面场景及各普通页面场景所用到的资源分别打包成外置资源文件,后续要修改某个普通页面场景或是某个普通页面场景所用到的资源时,只需要替换该普通页面场景的打包文件或该普通页面场景用到资源包文件再重新发布即可,而不需要像现有技术一样,要替换掉整个项目的资源包文件,从而大大提高了修改的速度;

3、加载方式把资源加载到硬盘的虚拟内存中,在普通页面场景互相切换时无卡顿,保证了长时间运行的流畅稳定;

4、在终端设备上加载文件时能够显示加载进度,当前加载了多少资源一目了然,并且可以在加载有用资源的同时,释放无用的中间资源,缓解内存开销。

附图说明

图1示出了现有的基于unity引擎的多媒体文件制作方法的流程示意图。

图2示出了根据本发明一实施例的基于unity引擎的多媒体文件制作方法的流程示意图。

图3示出了根据本发明一具体应用实例的发布后的程序目录示意图。

图4示出了图3中的assetbundle的文件夹的目录示意图。

图5示出了根据本发明一具体应用实例的加载文件时提供的提示信息。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

请参阅图2。根据本发明一实施例的基于unity引擎的多媒体文件制作方法包括以下步骤:

步骤a、新建一个unity项目,该新建的unity项目为待演示的多媒体文件。

在打开unity3d程序后,点击“新建项目(createaproject)”按钮,输入新的unity项目的名称和路径后,再次点击“新建项目(createaproject)”按钮,会进入到unity3d的主界面。

步骤b、创建一个框架页面场景和多个普通页面场景。

框架页面场景含有多个普通页面场景都要用到的元素,这些元素包括logo、导航按钮、退出按钮等。

步骤c、将框架页面场景需要用到的资源导入到所述unity项目中,将每个普通页面场景所要用到的资源分别导入到各自独立的文件夹中。

如背景技术中所记载的那样,在现有技术中,用unity制作多媒体文件时所使用的图片、音乐、视频等资源文件被全部打包在一起放置到项目文件目录中的assets子目录中。而在本申请中,事先在assets子目录中分别为每个普通页面场景所要用到的资源创建了一个资源文件夹,每个普通页面场景所要用到的资源分别导入到各自对应的文件夹中。比如,第一个普通页面场景用到的资源放在assets/page1目录下,第二个普通页面场景用到的资源放在assets/page2目录下,这样方便把各页相关资源独立打包。框架页面场景需要用到的资源则可直接导入到所述unity项目中。

步骤d、向框架页面场景和普通页面场景附加脚本。

通过向已创建的框架页面场景以及一个或多个普通页面场景附加脚本,可以实现对页面场景的播放顺序的控制等功能,还可以将资源绑定在框架页面场景及普通页面场景的对象上,实现播放音乐、视频以及动画等功能。

步骤e、发布制作完成的多媒体文件,在发布时只选中框架页面场景进行发布,并把所有普通页面场景及所有普通页面场景所用到的资源打包成外置资源文件;其中,附加给所述框架页面场景和普通页面场景的脚本使得在终端设备中运行发布后所生成的可执行文件时,会将框架页面场景、各普通页面场景的打包文件及各普通页面场景用到的资源包文件均加载到终端设备硬盘的虚拟内存中,并使框架页面场景在加载完成后始终处于在所述终端设备上显示的状态。

更具体地说,在多媒体文件制作完成后,在unity3d的“buildsettings”窗口中,把“框架页面场景”之外的场景全部取消勾选,这样发布出来的程序中只有“框架页面场景”,发布非常快,程序也会很小,启动很快。为了能在运行时正常加载“普通页面场景”,在本申请的一个较佳实施例中,使用了unity引擎中的“buildpipeline.buildstreamedsceneassetbundle”命令和“buildpipeline.buildassetbundle”命令把各普通页面场景及各普通页面场景用到的资源打包成assetbundle资源文件。以后场景或资源有改动时,只需要重新把对应的场景或资源打包替换就可以了。

发布后的unity项目的文件包主要包括以下几部分:一个后缀名为exe的可执行文件,同时在同一目录下会生成一个名称为assetbundle的文件夹。在assetbundle文件夹中包含各普通页面场景的打包文件及各普通页面场景用到的资源包文件,各普通页面场景的打包文件及各普通页面场景用到资源包文件均以后缀.unity3d结尾。后缀名可以自定义,并不限于unity3d。

当在终端设备上播放发布后的多媒体文件时,终端设备会将框架页面场景、各普通页面场景的打包文件及各普通页面场景用到的资源包文件均加载到终端设备硬盘的虚拟内存中,全部加载完成后进入播放首页,播放首页显示的是一个普通页面场景,而框架页面场景在加载完成后是始终处于显示状态的,这样的话,无论将当前显示的普通页面场景切换到哪一个普通页面场景,框架页面场景中的元素都会一直保持显示。

将普通页面场景的打包文件及各普通页面场景用到的资源包文件加载到终端设备硬盘的虚拟内存中,可保证在普通页面场景互相切换时无卡顿,保证了长时间运行的流畅稳定。进一步地,在加载显示加载进度。

以下以新建一个项目名称为“5g总结介绍”的多媒体文件为例对以上方法的过程进行辅助说明。

如图3和图4所示,该名称为“5g总结介绍”的项目在发布后,生成了一个后缀名为exe的可执行文件,同时在同一目录下会生成一个名称为assetbundle的文件夹,另外还有一个名称为“5g.06.5g总体介绍_data”的unity数据文件夹。在assetbundle文件夹中包含各普通页面场景的打包文件及各普通页面场景用到的资源包文件,其中page1.unity3d为第一个普通页面场景的资源包文件,page1scene.unity3d为第一个普通页面场景的打包文件,page2.unity3d为第二个普通页面场景的资源包文件,page2scene.unity3d为第二个普通页面场景的打包文件,其余依此类推。

图5示出了根据本发明一具体应用实例的加载文件时提供的提示信息。该提示信息可以告诉使用者,一共有16个普通页面场景,当前预加载第1个普通页面场景,第1个普通页面场景中有1204个资源文件,当前加载到第61个资源文件,同时还显示了正在加载的资源文件名称以及存放的位置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1