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

[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; /// /// author : qyxls/// publicclass 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; /// /// author : qyxls/// 关闭-关闭-publicclass ExportTools : "color:#ff0000;">EditorWindow { [MenuItem("Tools/Export")] staticvoid Execut

用户从服务器上获取信息资源,从服务器端获取资源动态加载到场景.docx相关推荐

  1. flinksql获取系统当前时间搓_FlinkSQL 动态加载 UDF 实现思路

    导读: 最近在对 Flink 进行平台化,基于 REST API 构建一个平台实现通过纯 SQL 化编写和管理 Job.尽管 Flink官方希望用户将所有的依赖和业务逻辑打成一个fat jar,这样方 ...

  2. Unity动态加载外部服务器上的FBX模型

    去年某项目需要从后端服务器上加载FBX模型,但是整个项目中只有很少的地方需要用到动态模型替换,并且项目交付后需要外行人员也能轻松上手更换需要动态加载的模型,所以需要实现一个简单的模型打包和动态模型加载 ...

  3. Day239.RBAC模式、动态加载用户权限资源规则数据规则、【记住我】注销多次登录图片验证码session验证码验证功能 -springsecurity-jwt-oauth2

    1.RBAC权限管理模型 一.RBAC权限模型简介 RBAC权限模型(Role-Based Access Control)即:基于角色的权限控制.模型中有几个关键的术语: 用户:系统接口及功能访问的操 ...

  4. 第三节:微信小程序模拟动态加载服务器返回json数据

    上一节虽然完成了新闻的静态展示页面,但是实际开发中,数据通常是请求服务器返回的json数据,这时候就需要页面动态加载显示服务器返回的数据. 在完成的静态页面的代码上,需要做相应的修改,首先需要编写po ...

  5. SpringSecurity动态加载用户角色权限实现登录及鉴权

    本文来说下SpringSecurity如何动态加载用户角色权限实现登录及鉴权 文章目录 概述 动态数据登录验证的基础知识 UserDetails与UserDetailsService接口 实现User ...

  6. php ajax 上拉显示更多,PHP+Ajax点击加载更多内容 -这个效果好,速度快,只能点击更多加载,不能滚动自动加载...

    这个效果好,速度快,只能点击更多加载,不能滚动自动加载 一.HTML部分 ::点击加载更多内容:: 引入jQuery插件和jquery.more.js加载更多插件 jQuery $(function( ...

  7. 第61篇一对多之老师端私有白板点击上共享白板及老师端学生私有白板加载多次及点头像出私有白板列表周四

    关键词:老师端私有白板点击上共享白板,老师端学生私有白板加载多次,点头像出私有白板列表 一.私有白板向老师端传图片数据 1.1 服务器运行平台 老师端:https://localhost:9101/d ...

  8. iphone开发中使用动态库(dylib)和动态加载framework (获取iphone的IMSI和设置飞行模式)

    在iphone上使用动态库的多为dylib文件,这些文件使用标准的dlopen方式来使用是可以的.那相同的在使用framework文件也可以当做动态库的方式来动态加载,这样就可以比较自由的使用appl ...

  9. Scrapy + Selenium 实现模拟登录,获取页面动态加载数据

    本文是模拟登录某八同城招聘网站,然后获取一个招聘信息页面中的浏览人数. 直接上代码! 1. Scrapy 爬虫文件 import scrapyclass TestSpider(scrapy.Spide ...

最新文章

  1. 安卓平板电脑_盘点:2019年国内最受关注的安卓工业平板电脑实力厂商名录!...
  2. Linux 基金会透露未来 Linux 内核可能会引入形式验证
  3. Python3入门笔记(1) —— windows安装与运行
  4. Fedora 17安装NVIDIA显卡驱动
  5. 微软的python开发工具_面向 Python 开发人员的 Azure 工具
  6. 租房界的php,php实现出租房数据管理及搜索页面
  7. python导入sas数据集_运用import过程进行SAS数据导入完全实用教程
  8. PHP独特学习模式_php基础知识
  9. Linux 线程占用CPU过高定位分析
  10. mysql 多表联合查询怎么一行显示_使用 explain 优化你的 mysql 性能
  11. 95-190-454-源码-window-Trigger-Flink 自定义trigger
  12. 建行计算机招聘考试考什么,银行招聘考试考什么
  13. 权威指南之脚本化jquery
  14. 计算机打印指定测试页到文件夹中,上海计算机等级一级考试复习指导.pptx
  15. 18.Linux软件安装之Rpm安装
  16. python经济统计学论文_统计学论文
  17. Python-Telnet连接工具类
  18. 使用EditPlus 3时,如何重新设置HTML Page的Default模板
  19. w3school学习笔记2(MySQL)
  20. Apache Ranger:统一授权管理框架

热门文章

  1. Dev-Cpp\MinGW64\x86_64-w64-mingw32\include
  2. 数字图像处理- 3.6 锐化空间滤波器
  3. JAVA基础12-继承(3)
  4. tf.keras.losses.SquaredHinge 损失函数 示例
  5. sklearn 归一化 和 标准化
  6. sklearn中的cross_val_score交叉验证
  7. 飞机大战html游戏全代码js、jquery操作
  8. 数学知识--Methods for Non-Linear Least Squares Problems(第二章)
  9. 语义分割-- SegNet:A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation
  10. el表达式 java_java基础学习:JavaWeb之EL表达式