如何用unity管理游戏unity 资源管理器

Unity3D - 资源管理-GAD腾讯游戏开发者平台后使用快捷导航没有帐号?
 论坛入口:
  |   |    |   | 
我要游戏程序
查看: 799|回复: 0
关于Unity资源管理框架XAsset
XAsset 为 Unity 项目提供了一套&简便&的资源管理环境,借助 XAsset,你可以很方便的对Unity项目中的 AssetBundle 资源进行打包,加载,释放和优化。GitHub:
(PS: 如果觉得好用请Star一个)主要特点对于资源加载逻辑层可以不用关注 AssetBundle,加载资源只需要提供资源的路径和类型,内部会自动处理资源的依赖和变种加载逻辑。内建了基于引用计数的缓存策略,确保同一份资源不会被重复加载亦不会轻易卸载。进行资源优化调整 AssetBundle 的打包粒度时,通常只要资源路径不变就不会对逻辑层(进行资源加载和卸载的代码)造成影响,维护成本相对较少。支持开发模式和 Bundle 模式,在编辑器环境中,开发模式下不用构建 AssetBundle 也能加载到想要的资源,可以加快开发效率。 同时,也可以通过启动 Bundle 模式,进行真实环境下的 AssetBundle 加载。
对于资源打包XAsset 会自动把所有要打包的资源所依赖的公共资源剥离出来,先对公共资源进行打包然后再把非公共资源按当前规则进行独立打包,尽量避免同一资源在多个 AssetBundle 中冗余。同时,只要开启 BUILD_ATLAS 宏, XAsset 也会自动进行图集打包。XAsset 中预定义了一系列的 BuildRule,可以很方便的对 Unity 项目中的 Prefab、Texture、Material、TextAsset 等资源进行收集和打包,只需按需配置 BuildRule,然后执行 &Assets/XAsset/Build AssetBundles& 就可以按定义的规则列表进行一键资源打包。为简化出包流程,XAsset 也还提供了一键输出程序包的命令,执行 &Assets/XAsset/Build Player& 可以很方便的一键输出 apk、app or exe 程序文件,文件名会根据 Unity 项目中 PlayerSettings 的 ProductName 和 BundleVersion 自动生成。
环境需求XAsset 基于 Unity 进行开发,不过也可以通过导出源码源码的方式在低版本的Unity项目中运行,但是由于 AssetBundle.LoadFromFile(Async) 在 Android 上需要 Unity5.4 才能正常运行,所以不能低于此版本,建议不要使用5.4.2,过来人经验5.6相对比较稳定。使用范例使用 XAsset 资源管理 API 进行资源加载和卸载IEnumerator LoadAsset (){& & & & string assetPath = &Assets/SampleAssets/MyCube.prefab&; & & & & /// 同步模式用路径加载资源& & & & var asset = Assets.Load&GameObject& (assetPath);& & & & if (asset != null && asset.asset != null) {& & & & & & & & var go = GameObject.Instantiate (asset.asset);& & & & & & & & GameObject.Destroy (go, 1);& & & & }& & & & /// 卸载& & & & asset.Unload ();& & & & asset = null; & & & & /// 异步模式加载& & & & var assetAsync = Assets.LoadAsync&GameObject& (assetPath);& & & & if (assetAsync != null) {& & & & & & & & yield return assetA& & & & & & & & if (assetAsync.asset != null) {& & & & & & & & & & & & var go = GameObject.Instantiate (assetAsync.asset);& & & & & & & & & & & & GameObject.Destroy (go, 1);& & & & & & & & } else {& & & & & & & & & & & & Debug.LogError (assetAsync.error);& & & & & & & & } & & & & & & & & assetAsync.Unload ();& & & & & & & & assetAsync = null;& & & & }}
注:XAsset 提供了同步/异步两种加载模式,但是为了功能能够正常运转,对于同一个资源的加载,请不要在异步加载没有完成前进行同步加载,否则同步加载的资源将得不到正常的返回。核心文件XAsset/Assets.cs提供了资源管理相关 API,让用户不需要关注 AssetBundle。主要提供了一下接口:Initialize初始化Load同步加载,阻塞主线程LoadAsync异步加载,不阻塞主线程Unload卸载资源,也可以参考上面的演示范例通过调用返回的 Asset 对象的 Unload 卸载资源
注:编辑器下未激活 Bundle Mode 的时候都是同步加载XAsset/AssetsTest.cs使用 Assets API 进行资源加载(同步/异步)和卸载的示范。XAsset/Editor/AssetsMenuItem.cs编辑器 “Assets” 菜单的定义,主要包含以下功能:&Assets/Copy Asset Path&& & & & 复制资源的在工程中的相对路径&Assets/XAsset/Bundle Mode&& & & & 编辑器下用来 激活(勾选)或关闭(反选) Bundle Mode&Assets/XAsset/Build AssetBundles&& & & & 构建 AssetBundles&Assets/XAsset/Build Player&& & & & 构建 程序包,iOS模式下会导出 xcode 工程XAsset/Editor/BuildRule.cs打包规则,实现了资源收集和打包(包括图集)策略,目前主要预定义了以下规则:BuildAssetsWithAssetBundleName& & & & 将搜索到的所有资源按指定的 AssetBundleName 进行打包。BuildAssetsWithDirectroyName& & & & 将搜索到的所有资源按资源所在的路径进行打包,同一个路径下的所有资源会被打到一个包。BuildAssetsWithFilename & & & & 将搜索到的所有资源按每个资源的文件名进行打包,每个文件一个包。注意:以上规则默认都会将规则中每个资源的同其非共享的所有依赖的资源打到同一个包XAsset/Bundles.cs封装了 AssetBundle 的依赖和变种的加载和释放的接口实现。XAsset/Manifest.cs配置文件,用来记录每个 AssetBundle 包含的所有文件。XAsset/Editor/BuildScript .cs打包脚本,实现了一键出包的主要流程。XAsset/Utility.cs辅助工具。XAsset/Logger.cs日志工具。
技术支持QQ群:UnityStudio
UnityStudio可以直接在自己的软件上查看图片、shader、文本、还能直接播放音频、甚至还能看场景Hierarchy视图的树状结构。强烈推荐用UnityStudio。
UnityStudio最新版本下载 支持unity5.x&&
直接预览图片
直接播放音频
查看场景树状结构
查看Shader代码。
查看文本内容
.NET Reflector 8
1.Unity编译后最终会将代码编译在dll里面,无论是ios还是Android解开包以后都可以拿到dll,路径在Data/Managed/Assembly-CSharp.dll
2.IOS其实不用做代码混淆,应该是苹果帮我们做了,反编译以后只能看到变量名,和方法名,但是具体的方法体内的代码是万全看不到的,不过安卓不行!!!
3.所以如果要反编译某游戏的代码,一定要去找它的Android版本,然后解开包,拿出它的Assembly-CSharp.dl
4.在Windows上去下载.NET Reflector 8这个反编译dll的软件,网上一大堆,但是一定要下载最新版本。
5.mac 上反编译,请看另一篇文章&
把Assembly-CSharp直接拖进去。
所有的代码,类名,方法名,方法体,一清二楚。这代码,这缩进,嘿嘿。AssetbundleManager应该就是他们自己写的处理Assetbundle的下载管理类了。
阅读(...) 评论()&>&Unity游戏运行资源的制作与下载
Unity游戏运行资源的制作与下载
上传大小:629KB
详细介绍了Unity里实现游戏资源的制作与下载的整个流程,文字介绍与实例配套
综合评分:3
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有14条
看看能加积分不
我不会用,不知道怎么回事
感觉作用不大,而且分数有点多!
综合评分:
积分/C币:12
淮雨草青青
综合评分:
积分/C币:11
综合评分:
积分/C币:5
综合评分:
积分/C币:11
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
Unity游戏运行资源的制作与下载
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
Unity游戏运行资源的制作与下载

我要回帖

更多关于 unity资源管理插件 的文章

 

随机推荐