从服务器端获取资源动态加载到场景.docxVIP

从服务器端获取资源动态加载到场景.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从服务器端获取资源动态加载到场景

[unity3d]从服务器端获取资源动态加载到场景分类:编程语言/C语言/文章我们的游戏制作完发布出去提供给玩家,为了给玩家带来更好的游戏体验,要做各种的优化以及设计,首先,游戏资源的加载就是一个非常重要的方面(尤其是网页游戏)。由于我们的游戏资源比较大,不能一下全部加载出来,如果是这样,可能会造成玩家长时间的等待。所以我们应该采取动态加载的方式,让玩家在玩游戏的过程中来一点一点从服务器加载游戏资源。要实现这样的效果,首先就必须要制作用于一点点加载的游戏资源。(注:本文只是谈及这些游戏资源的制作和下载,关于游戏运行中的动态加载不做讨论)(再注:本文涉及到的代码都是以C#语言来编写的)开发环境:Windows 7Unity3D 3.5.1f2本文中将会涉及到以下的内容:1、 UnityEditor命名空间2、 Editor模式下窗口制作3、 导出功能的具体实现4、 资源的下载5、 下载后使用1、 UnityEditor命名空间这个命名空间下的类是在Unity的编辑模式下使用的,我们可以用它来制作各种小工具来辅助开发,提高开发效率。这里的所有的类都不能在Unity的运行时里使用。只能在编辑器下使用,并且在使用他们的时候还必须要放到项目Project视图下的Editor文件夹中。需要注意一点的就是,我们的项目代码里如果有使用到UnityEditor命名空间时,在项目的最后编译是不能通过的,必须要移除他们。我们来看一个我们即将使用到的一个Attribute:MenuItem是UnityEditor命名空间下的一个属性标志,它可以定义出一个菜单条目,并添加在Unity编辑器的菜单栏中,语法:[csharp] view plaincopy [MenuItem(“Tools/Export”)] 我们来新建一个工程看一下效果(具体创建步骤这里真的不说了)(注:我的项目中加了很多装饰性的东西,这里就不一一说明怎么实现了哈)完成之后,先在Project下创建Editor文件夹并创建一个脚本文件,输入以下内容:[csharp] view plaincopy using UnityEditor; using UnityEngine; using System.Collections; /// summary/// author : qyxls/// /summarypublicclass ExportTools : MonoBehaviour { [MenuItem(Tools/Export)] staticvoid Execute () { Debug.Log(Menu is selected !!); } } 当我们点击菜单栏上的对应菜单选项:ToolsàExport时,菜单项会调用静态的Execute()方法,即可在Console面板中打印出”Menu is selected”。这里要注意两点:1、 引入UnityEditor命名空间。2、 MenuItem要调用的方法需要是static的。关于UnityEditor的更多详细内容,请参照官方文档,这里不做重点讲解。2、Editor模式下窗口制作要制作一个小工具,提供出一个友好界面是很有必要的。UnityEditor下的类可以很方便的完成这一需求。我们通过这些类,可以实现各种不同的控件:怎么样,还算丰富吧?这些控件的具体实现我不想说,请自行查看API吧。这里我还是遵循本文的主旨,围绕本文的中心思想(本文我们是要导出资源到服务器,并在游戏中下载这个资源过来使用)实现一个界面。用例描述:导出场景中的一个模型,并带着默认材质,如果该模型有多个可替换的贴图,也把这些贴图作为该模型的资源一并导出到一个资源包中。按照这个需求,我猜想界面应该是这样的:一个导出模型的口,一个提供可选贴图数量的口,根据用户输入的可选数量,给提供出对应的贴图导出口,最后填写完毕之后有一个按钮用于导出交互。,不好意思,这哪里是猜想,我其实早就写好了。其实也没骗你了,我在写之前是猜想的!要实现上面这个窗口,我该怎么做呢?首先,定义一个继承EditorWindow的类,然后,重写OnGUI方法即可。我们这里在之前的代码基础上做修改添加:[csharp] view plaincopy using UnityEditor; using UnityEngine; /// summary/// author : qyxls/// /summary关闭-关闭-publicclass ExportTools :strong span color:#ff0000;EditorWindow/span /strong { [MenuItem(Tools/Export)] staticvoid Execute () { // 实例化一个Window窗口 /

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档