美文网首页
UnityRuntime总概

UnityRuntime总概

作者: Gabo | 来源:发表于2016-10-13 00:16 被阅读354次

UnityRuntime概念

目前只研究了Android平台,所以下面讲的都是基于Android平台的
首先说一下UnityRuntime这个概念,几个月前我也才第一次听到这个词的。这个意思是让Unity做出来的应用能同时在一个平台上运行。。就像页游一样,都在浏览器上运行。而UnityRuntime本身也是一个app,起到的作用就类似浏览器,可以加载不同的Unity做出来的app并运行。

目的

当然UnityRuntime并不是单纯的下载Unity导出的apk,再进行加载运行。这里的apk需要先处理,对apk中的资源进行分组打包放服务端供UnityRuntime下载,这样就达到减小首包大小的目的。首包可以加一部分资源,其他资源通过静默下载。还可达到热更新的目的,apk中的dll也属于资源的一部分,可以通过下载更新

难点

CocosRuntime比较容易实现主要是因为,Cocos开源,而且Cocos资源都是原始资源,并且有添加资源搜索路径的接口;而Unity,资源加载路径除了AssetBundle和部分可以通过WWW从外部加载的资源,其他的Unity加载的资源都通过Unity打包成某种文件格式打包到apk中。。而且Unity又不开源。

所以要实现UnityRuntime一个关键的就是要能做到将apk中的资源文件剥离出来,并在Unity搜索该资源文件时将路径重定向到外部资源实际存储路径。
这一步因为apk中的资源很多都跟场景绑定,而且资源文件之间也有着依赖关系,要加载某个场景时,属于该场景的资源文件都要存在,而且依赖的资源也要存在,加载场景才会完整,所以有时候达到的效果会不理想(首包依赖其他场景的资源文件的时候,就要把依赖的这个场景的资源文件包括依赖链都加到首包中,这样首包就可能还会太大)

这里的首包是UnityRuntime运行游戏前下载的第一个保证游戏可以正常启动的第一个资源包(其实就是第一个场景在apk中的所有资源文件及依赖的资源文件)

结尾

Runtime其实就是一个Android上的app,Android我不懂,app部分别人负责了。。所以我研究的是Unity部分的,目前已经可以达到预想的结果,不过目前稳定性还没有经过具体的测试,而且只支持armeabi-v7 32位架构的cpu而已。。还有很多地方需要改进

相关文章

  • UnityRuntime总概

    UnityRuntime概念 目前只研究了Android平台,所以下面讲的都是基于Android平台的首先说一下U...

  • Hadoop技术总概

    Hadoop1 HDFS 解决海量数据的存储一个主节点namenode,多个从节点datanodenamenode...

  • ROS学习总概

    ROS的学习是从什么时候开始的,现在已经记不清楚了,但是可以清楚的是,笔记本多多少少已经记录了几十页了,本来不打算...

  • 《刀锋》领读总概

    今天是学堂的领读课,由慕容歌老师领读毛姆的小说《刀锋》。领读内容主要是围绕毛姆的生平和创作历程来展开。 威廉·萨摩...

  • 长春行记|总概

    三月中旬就想清明小长如何度过,后来决定去长春,订票过程很艰辛(不是票不好买,跟旅行经费有关),因为天气原因,几度想...

  • iOS直播技术总概

  • 1-必备技能总概

    基于Java语言的Spark算子开发,需要具备如下基础能力:

  • 全脑启蒙之总概

    感觉夏天在19个月的时候,提前进入了trouble two, 近些天跟我唱反调似乎成了习惯。 “睡觉啦!”“不睡。...

  • 《了凡四训》总概

    《了凡四训》这本书其实在大半年前,就已经有人推荐给我。如今阅读过后发现人生所遭遇的一切似乎冥冥中都有安排。捧起此书...

  • Tornado框架01-入门总概

    我们首先来谈谈web框架. web框架的本质其实就是socket服务端再加上业务逻辑处理, 比如像是Tornado...

网友评论

      本文标题:UnityRuntime总概

      本文链接:https://www.haomeiwen.com/subject/jdduyttx.html