战魂小筑

讨论群:309800774 知乎关注:http://zhihu.com/people/sunicdavy 开源项目:https://github.com/davyxu

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  252 随笔 :: 0 文章 :: 506 评论 :: 0 Trackbacks

最近和团队讨论打包导致的发版本时间过长的问题: 平均1个小时

Unity3D现在官方不支持热更新, 虽然有一些lua的热更方案, 但鉴于项目开始时lua热更还不成熟, 所有没有采用

经过长时间业界和技术的摩擦, 渠道基本认同了Unity3D不能热更的现实

 

根据我们这边运营分析的热更新的需求: 临时关闭功能避免bug刷钱

在强力的QA支持(我们有)下, 可以保证版本的功能不会有明显问题, 即便有问题, 可以通过服务器关闭功能达到效果

 

这样来说, 代码上的热更新基本是不可能了, 只能通过服务器来配合, 所以我们只考虑资源热更新需求.

 

场景: 这部分属于PVE功能, 虽然包含有怪物摆放的逻辑, 但一般一旦做好基本没有更新需要

角色: 后期这块可能会考虑更新, 但明显系统上可以同时支持打包和非打包需求, 因此默认包内的角色可以直接打包, 未来的付费相关的角色热更新需求既可以通过

一阶段打包更新, 也可以根据增量更新进行. 

界面: 知识更新界面包只能修改界面布局和坐标, 逻辑依然需要打包更新, 所以这块完全有必要不做打包

特效: 特效与角色和界面关联紧密, 而且混用, 交叉的情况很多, 打包明显会造成一部分资源重复进入包体, 因此果断不打包

 

总结下来, 资源的更新一定是伴随着代码的更新来做的, 那么可以规划一个大版本, 把需要更新的资源和功能逻辑一块更新

虽然大包更新会损失一定的用户, 但未来在核心稳定的情况下, 可以考虑把新功能用脚本来更新

资源不打包带来明显的优势: 资源加载变的更快了, 制作流程变的更简单, 无需兼容打包和非打包情况. 包体大小有小幅度下降( 重复打包部分)

posted on 2015-12-12 10:52 战魂小筑 阅读(3590) 评论(2)  编辑 收藏 引用 所属分类: Unity3D

评论

# re: Unity3D的资源热更新的讨论 2016-01-12 13:50 天蓝
Android下,我们采用基于C#反射达到的热更新.目前运行良好.
IOS下,由于苹果官方禁止,我们就没有考虑.  回复  更多评论
  

# re: Unity3D的资源热更新的讨论 2016-02-18 20:51 豆沙包
我们是采用了lua的热更方案,资源方面我们也放弃了场景、特效和模型的更新,但是UI还是支持更新了  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理