Unity3D热更新全书-重头再来
之前写了Unity3D热更新全书系列Blog
提出了下载、加载、脚本三个方面的开源类库
下载方面有EasyDown
加载方面有GameObjParser
脚本方面有C#Light
另外有一个没有独立成库,但是到处都用的Myjson。
2015,重头思考这些事情,有了不一样的感悟,于是也有了新的规划
1.首先了C#Light的语法解释问题变得臃肿低效,重头开始了L#项目。
目前L#项目已经进入Beta阶段,完全可以全面替换C#Light。
MyJson也独立成库
2.下载方面,Easydown是基于经典的文件名索引,版本库核对的模式,继续用没什么问题
但不符合我对资源库的预期
于是有了一个替代项目CloudSand,云沙,云沙的目标是打破发布者和下载者的界限,随时发布,随时更新。
不再使用 准备原始资源-》打包制作版本库-》上传http服务器->客户端下载 的流程
而变成 随时上传->发布->其他人更新 的流程
3.加载方面,原来的GameObjParser是适配EasyDown的,而且功能也浅尝辄止,只能用来对部分预设进行存取。
比如NGUI。
规划了一个CleanData用来替代GameObjParser,适配CloudSand
热更新这件事,意义是非常的重大的,我一直执着于热更新,并非是处于纯粹的技术追求
天下武功,无坚不破,唯快不破。
我要做产品,开发到用户的速度,将是非常重要的一点。
甚至打破开发和用户的界限,这也是我想要产品体现出来的特点,而且拥有重大的意义
在积累了足够的经验之后,我可以把这些东西整合到一起来了。
于是2015,将原先分散的开源类库,重整为FB引擎系列。
设置了统一的主页http://www.FBact.com
新的FB引擎系列(热更新相关):
1.L# dotnet通用, 全平台可用脚本引擎,直接执行dotnet DLL,类似反射用法,但不受AOT制约
https://github.com/lightszero/LSharp 已Beta,可用,IOS WP8 均测过
2.MyJson dotnet 通用,快速简洁的json处理类库,可用于u3d,大量项目中使用过,比较稳定
https://github.com/lightszero/myjson
3.CloudSand U3D专用,资源上传下载一揽子方案,内部开发状态
4.CleanData U3D专用,预设不打AssetBundle,通过自定义格式全平台通用的加载存储方案,内部开发状态
5.CleanAni U3D专用,骨骼动画不打AssetBundle,通过自定义格式全平台通用的存储,回放,编辑方案,内部开发状态
以下仅在规划中
6.CleanEffect U3D专用,新的特效系统,通过自定义格式全平台通用,并优化。
7.CleanSound U3D专用,新的音效系统,通过Ogg格式,实现全平台加载并解码播放Ogg
其他:
FB引擎是一个动作游戏引擎
其他相关还有很多工作,暂不公布
Unity3D热更新全书-重头再来的更多相关文章
- Unity3D热更新全书FAQ
只要有程序员朋友们问过两次的问题 就会收录在此FAQ中 1.C#Light对比LUA有什么好处 C#Light是静态类型脚本语言,语法同C#,Lua是动态类型脚本语言,这两种都有人喜欢. 我更喜欢静态 ...
- Unity3D热更新全书-PageZero
由于深刻的认识到自己是个思维跳跃的人,深入浅出是个我还要努力很久的目标,为了让大家不至于在我乱七八糟的文字中迷失,特整理目录一份 无分类 <Unity3D热更新全书-何谓热更新,为何热更新,如何 ...
- Unity3D热更新全书-何谓热更新,为何热更新,如何热更新
首先来赞叹一下中文,何谓为何如何,写完才发现这三个词是如此的有规律. 为何赞叹中文?因为这是一篇针对新手程序员的文字,是一节语文课. 然后来做一下说文解字,也就是 何谓热更新 热更新,每个程序员一听就 ...
- Unity3d热更新全书-加载(一)从AssetBundle说起
Unity3D动态下载资源,有没有解?有,AssetBundle就是通用解,任何一本书都会花大幅篇章来介绍AssetBundle. 我们也来说说AssetBundle 我们试全面的分析一下Unity3 ...
- Unity3D热更新全书-下载 唯一的一篇
下载在这个时代实在是太平常了,每个人都深刻的理解着下载到底是什么. 这一篇文字只是把下载的代码分享并介绍,而已. 首先,下载系统担负着几个使命. 第一.是保持客户端版本库的最新. 第二.是下载要能够比 ...
- Unity3D热更新全书-脚本(一) 初识脚本
开篇之前还是要先说明,这是一份给经验并不丰富的程序员阅读的文字. 有需求.有疑惑,往下看. 第一个问题什么是脚本?程序和脚本如何区分?我们给Unity编写的组件是程序还是脚本? 这些问题本文无意去解答 ...
- Unity3d热更新全书-加载(二)如何在不用AssetBundle的前提下动态加载预设
Unity3D的主要构成大家都知道,首先是场景图,场景图上的节点构成一颗树. 每个节点对应一个GameObject对象 然后每个GameObject有若干个组件 有一些组件会与资源产生关系,比如Mes ...
- Unity3D热更新全书-脚本(五) NGUI
让我们实际的研究一下如何将NGUI和C#LightEvil结合起来. 这里使用NGUI2.7,因为他是一个开源的版本,NGUI最新的版本未经作者的许可,是不可以带入我们的开源项目使用的. 这个例子完成 ...
- Unity3D热更新全书-脚本(四) 用C#LightEvil搭建实际开发使用的脚本框架
C#LightEvil之前提供了很多和Unity结合的例子,都是采用把脚本文件放置在StreamingAssets中的方法. 这样可以利用Unity的特性,放在这个目录中的CS文件会被编译器编译,我们 ...
随机推荐
- ORACLE RAC 11G 更改 /etc/hosts文件
来自官方文档:()Can I change the public hostname in my Oracle Database 10g Cluster using Oracle Clusterware ...
- 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用
错误提示: 服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的“刷新”按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误信 ...
- 禁止VMware虚拟机与Host的时间同步
禁止VMware虚拟机与Host的时间同步 1. 查看虚拟机是否安装了 VMware Tools, 如果有安装,则将 VMware Tools 属性窗口的“选项”-->“其他选项”中“虚拟机与宿 ...
- 【洛谷P3385】模板-负环
这道题普通的bfs spfa或者ballen ford会T 所以我们使用dfs spfa 原因在于,bfs sfpa中每个节点的入队次数不定,退出操作不及时,而dfs则不会 既然,我们需要找负环,那么 ...
- iOS 应用中有页面加载gif动画,从后台进入前台时就消失了
解决办法: 在Appdelegate.m 里面有一个从后台进入前台所响应的方法,可以在该方法里post 一个通知,在加载动画里的页面接受通知,响应一定的方法即可 #pragma -mark 当程序进入 ...
- 在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- Python排列组合问题
1.字符串的全排列 问题描述:打印出原字符串中所有字符的所有排列.——将输入字符串中的每个字符作为一个不同的字符看待,即使它们是重复的,如'aaa'应打印6次. Python可以用生成器解决: def ...
- jboss hello world
http://developers.redhat.com/products/devstudio/get-started/ 1. 下载 Red Hat JBoss Developer studio 2. ...
- linux bash中too many arguments问题的解决方法
今天在编写shell脚本时,在if条件后跟的是[ $pid ],执行脚本的时候报 然后我输入改为[[$pid]]后,再执行脚本,就成功了,代码如下: #!/bin/bash pid=`ps -ef|g ...
- VC 单文档视图分割
http://blog.csdn.net/smartwhitehorse/article/details/6707183 主要使用类:CSplitterWnd 问题:分割线的固定,需要重写CSplit ...