当前位置: 首页 > news >正文

做牙的网站叫什么/武汉seo报价

做牙的网站叫什么,武汉seo报价,小型 网站 源码,深圳自助网站建设费用创建AssetBundle 1.新建一个cube&#xff0c;将其拉倒Project视图里创建预设。 2.在Assets目录下创建Scenes文件夹&#xff0c;创建场景scene1.unity。 3.新建ExportAssetBundles.cs&#xff0c;保存在Assets/Editor目录下。代码如下&#xff1a; [csharp] view plaincopy<s…

创建AssetBundle

1.新建一个cube,将其拉倒Project视图里创建预设。

2.在Assets目录下创建Scenes文件夹,创建场景scene1.unity。

3.新建ExportAssetBundles.cs,保存在Assets/Editor目录下。代码如下:

[csharp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;">using UnityEngine;  
  2. using UnityEditor;  
  3. using System.Collections;  
  4. public class ExportAssetBundles : MonoBehaviour {  
  5.     [MenuItem("Build/ExportResource")]  
  6.     static void ExportResource()  
  7.     {  
  8.         // 打开保存面板,获取用户选择的路径  
  9.         string path = EditorUtility.SaveFilePanel("Save Resource""""New Resource""assetbundle");  
  10.         if (path.Length != 0)  
  11.         {  
  12.             // 选择的要保存的对象  
  13.             Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);  
  14.             // 打包  
  15.             BuildPipeline.BuildAssetBundle(Selection.activeObject, selection, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets, BuildTarget.StandaloneWindows);  
  16.         }  
  17.     }  
  18.     [MenuItem("Build/ExportScene")]  
  19.     static void ExportScene()  
  20.     {  
  21.         // 打开面板,选择用户保存的路径  
  22.         string path = EditorUtility.SaveFilePanel("Save Resource""""New Resource""unity3d");  
  23.         if (path.Length != 0)  
  24.         {  
  25.             // 要打包的场景  
  26.             string[] scenes = {"Assets/Scenes/scene1.unity"};  
  27.             // 打包  
  28.             BuildPipeline.BuildPlayer(scenes, path, BuildTarget.StandaloneWindows, BuildOptions.BuildAdditionalStreamedScenes);  
  29.         }  
  30.     }  
  31. }</span>  

4.选中预设,运行ExportResource,弹出保存对话框,命名为cube.assetbundle。

5.运行ExportScene,弹出保存对话框,命名为scene1.unity3d。

小提示

1.AssetBundle的保存后缀名可以是assetbundle或者unity3d。

2.BuildAssetBundle要根据不同的平台单独打包,BuildTarget参数指定平台,如果不指定,默认的webplayer。

加载AssetBundle

下面通过一个示例演示如何加载AssetBundle:

[csharp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;">using UnityEngine;  
  2. using System.Collections;  
  3. public class Load : MonoBehaviour {  
  4.     private string BundleUrl = "file:///C:/Users/Administrator/Desktop/Res/cube.assetbundle";  
  5.     private string SceneUrl = "file:///C:/Users/Administrator/Desktop/Res/scene1.unity3d";  
  6.     void Start()  
  7.     {  
  8.         StartCoroutine(Download());  
  9.     }  
  10.     IEnumerator Download()  
  11.     {  
  12.         // 下载AssetBundle,加载cube  
  13.         using(WWW www = new WWW(BundleUrl))  
  14.         {  
  15.             yield return www;  
  16.             AssetBundle bundle = www.assetBundle;  
  17.             Instantiate(bundle.Load("Cube"));  
  18.             bundle.Unload(false);  
  19.             yield return new WaitForSeconds(5);  
  20.         }  
  21.         using(WWW www = new WWW(SceneUrl))  
  22.         {  
  23.             yield return www;  
  24.             Application.LoadLevel("scene1");  
  25.         }  
  26.     }  
  27. }</span>  

我们在程序加载的时候必须保证先加载公共对象。否则,只能是在各个对象加载成功后,再通过程序手动添加进来,比较繁琐。在实际项目中,由于是团队开发,对象间的依赖关系通常会比较凌乱,最好在开发周期就定好相关的规范约束,方便管理。

AssetBundle依赖关系

如果一个公共对象被多个对象依赖,我们打包的时候,可以有两种选取。一种是比较省事的,就是将这个公共对象打包到每个对象中。这样会有很多弊端:内存被浪费了;加入公共对象改变了,每个依赖对象都得重新打包。AssetBundle提供了依赖关系打包。

[csharp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <span style="font-family:Microsoft YaHei;">    //启用交叉引用,用于所有跟随的资源包文件,直到我们调用PopAssetDependencies    
  2.     BuildPipeline.PushAssetDependencies();    
  3.     
  4.     var options =    
  5.         BuildAssetBundleOptions.CollectDependencies |    
  6.         BuildAssetBundleOptions.CompleteAssets;    
  7.     
  8.     
  9.     //所有后续资源将共享这一资源包中的内容,由你来确保共享的资源包是否在其他资源载入之前载入    
  10.     BuildPipeline.BuildAssetBundle(    
  11.         AssetDatabase.LoadMainAssetAtPath("assets/artwork/lerpzuv.tif"),    
  12.         null"Shared.unity3d", options);    
  13.     
  14.     
  15.     //这个文件将共享这些资源,但是后续的资源包将无法继续共享它    
  16.     BuildPipeline.PushAssetDependencies();    
  17.     BuildPipeline.BuildAssetBundle(    
  18.         AssetDatabase.LoadMainAssetAtPath("Assets/Artwork/Lerpz.fbx"),    
  19.         null"Lerpz.unity3d", options);    
  20.     BuildPipeline.PopAssetDependencies();  
  21.     
  22.     
  23.     //这个文件将共享这些资源,但是后续的资源包将无法继续共享它    
  24.     BuildPipeline.PushAssetDependencies();    
  25.     BuildPipeline.BuildAssetBundle(    
  26.         AssetDatabase.LoadMainAssetAtPath("Assets/Artwork/explosive guitex.prefab"),    
  27.         null"explosive.unity3d", options);    
  28.     BuildPipeline.PopAssetDependencies();    
  29.     
  30.     
  31.     BuildPipeline.PopAssetDependencies();  </span>  
http://www.jmfq.cn/news/4922965.html

相关文章:

  • 学生个人网页设计主题/系统优化的意义
  • 机加工如何用网站开发客户/微信crm客户管理系统
  • 网站建设亇金手指专业/宝鸡网站开发公司
  • 海口建设工程信息网站/搜索竞价托管
  • 潍坊市网站建设公司/北京百度seo
  • 二维码创意设计/被公司优化掉是什么意思
  • 网站建设项目的工作分解/seo软件推广
  • vps 网站发布/长沙建站seo公司
  • 如何对网站进行推广/新闻稿件代发平台
  • 济南网站开发企业/如何进行关键词分析
  • 沧州哪里可以做网站/免费域名注册永久
  • 湖南人文科技学院宿舍/网站优化策略分析论文
  • wordpress生成站点地图/东莞网站建设最牛
  • 电商商城网站建设方案/培训机构哪家好
  • ydblog wordpress/惠州seo排名收费
  • 安丘网站建设报价/电脑优化软件
  • 专门做批发的网站吗/企业查询信息平台
  • 网站制作关键技术/新网域名查询
  • 深圳网站建设开发/网站指数查询
  • 做网站怎么去找客户/房地产估价师考试
  • 电子pcb做兼职的网站/端点seo博客
  • 济南能源建设网站/营销型网站建设服务
  • 在国外做盗版电影网站吗/企业站seo价格
  • wordpress导出app/东莞seo优化公司
  • 网站开发人才/海外广告投放渠道
  • 网站建设合同鉴于甲方委托乙方/商城全网推广运营公司
  • 如何做拼多多商城官网站/广东省疫情最新
  • 什么样的笔记本电脑适合网站开发/网站域名注册
  • 给设计网站做图/百度站长工具
  • 广州网站推广找谁/百度免费推广网站