首页 > 编程知识 正文

unitypackage导入后怎么使用,unity怎么打开别人的包

时间:2023-05-03 14:40:57 阅读:141240 作者:3818

大学毕业的第一年就开始着手资源管理,最初是用assetbundle,如何打资源包里的资源的一些要求,如何简单地处理依赖关系,尽可能地给资源包留胡子的手机制作重点

最初采用的资源包选项是这样配置的。

buildassetbundleoptionsoptions=buildassetbundleoptions.collect dependencies | buildassetbundleoptions.deterministicassetbase buildassetbundleoptions.disablewritetypetree|buildassetbundleoptions.UNCC 这样的资源包没有压缩,所以非常大。 所有依赖项都包含在资源包中,在使用时直接加载,并且可以通过AssetBundle.CreateFromFile ''路径' '直接同步创建资源包,速度很快。 资源包的大解决方法参考雨松大神的Unity3D研究院的Assetbundle的实战(六十三)进行处理。 文章的最后面写着步骤。 首先打资源包,用LZMA压缩,将资源包上传下载到你的服务器,下载到本地后,用APP解压资源,可以在游戏中直接使用createformfile解压的过程不同的机器有不同的性能。 这样主要是为了减少用户下载资源的等待时间而采用的压缩。 最终解压缩完成后,由于资源包依然很大,IOS头上的游戏安装包会很大。 但是,由于这种方式内存占有量小,加载速度快,同步创建,所以我觉得这种方式很好,但是显示的包裹体太大了。

后来,我们采用的软件包选项就是这样设置的。

buildassetbundleoptionsoptions=buildassetbundleoptions.collect dependencies|buildassetbundleoptions.deterministicasssssetiong

只是取消了压缩资源包的选择,资源包就缩小了很多。 与最初相比,至少缩小了6倍左右。 由于这种方法,第一次打资源报告时,unity会自动压缩。 省下的你再处理一次。 以这种方式推出的资源包可以小型采用

byte [ ] stream=global.getassetbundlefileinfobyname (_ file path );

bundle=asset bundle.createfrommemoryimmediate (stream );

虽然是这样加载的,但是由于Android平台的jar包的限制,必须采用www的方法从包中检索和创建资源包。 然后,存在异步进程,并调用该进程来创建资源包。 这种方式比以前的方式内存占有率高,进入游戏的速度明显变慢。 内存占用率高了很多,速度也慢了一点,但唯一的优点是资源包的体积很小。 这个在unity上开发确实很好,但我不喜欢。 上面我先把资源包里的数据都读了,不然也行。 我会录用你

assetbundlecreaterequestacr=asset bundle.createfrommemory (stream;

yield return acr;

bundle=acr.assetBundle;

用这种方法制作,效果也是一样的。

因为我们的项目主要使用ngui,所以使用了很多Label组件在上面设置了字体。 然后打包的时候,字体关系的依赖非常多,所以用一个个脚本设定为Label的字体。 最后重新打包时,不设置所有标签组件上的字体资源。 这样的话,打包资源小就好了。

using UnityEngine; using System.Collections; publicclassuilabelfontset : mono behaviour { boolisusedfont=false; public enum UILabelFont { None,Msyh,Fzzdhjw,} AssetBundle ab=null; publicuilabelfontmeffectstyle=uilabelfont.none; void更新() if! isusedfont(if ) meffectstyle==uilabelfont.none ) { return; } if (meffectstyle==uilabelfont.msyh ) { Font _mFont=null; uilabellabel=this.game object.getcomponentuilabel (; _mFont=(Font ) modul manager.newopenfount (' resource sex/font/msyh.TTF ',' font ' ); label.trueTypeFont=_mFont; isUsedFont=true; } else if (meffectstyle==uilabelfont.fzzdhjw ) uilabellabel=this.game object.getcomponentuilabel; Font _mFont=null; _mFont=(font ) modul manager.newopenfount (' resource sex/font/fzzdhjw.TTF ',' font ' ); label.trueTypeFont=_mFont; isUsedFont=true; } }像这样运行程序的时候,可以加载资源包,然后根据你的设置使用不同的字体呢,哈哈。

使用资源报纸后,动态加载现有的所有资源,比如写真集、脚本、预设,动态关联部分就好了。 哈哈哈

又来了新同事。 我还得和他说lua的话。 哈哈哈

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。