Home

unity的断点续传

unity 背景交代 unity的新资源系统虽然有提供了远程加载的功能,但是调查了一轮,发现那套系统对于手游的资源更新还是不大理想,因为我们想通过一次远程加载后,就写入到本地,然后下次启动游戏的时候,我们能直接从本地读取,而不是又从新去下载! unity的常规下载我们都知道怎么做,但是如果网络不稳定等,而且需要下载的单个文件比较大的时候,在没有断点续传时,会造成大量的流量消耗。所以我们需要配合服务器处理一套断点续传的功能,后端的知识就不在这里讲了! 大致原理 先说说断点续传的大致原理吧,后面会直接贴出代码参考! 众所周知,网络流的数据都是逐包接收的,一截一截的数据流在底层处理后交给前端。 在UnityWebRequest里提供了一个让我们去继承的下载接口,透过ReceiveDat...

Read more

快速排序

动态图说明 Demo说明 动态图说明 先借用一下wikipedia的一张图 快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。 步骤为: 挑选基准值:从数列中挑出一个元素,称为“基准”(pivot), 分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成, 递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序列排序。 递归到最底部的判断条件是数列的大小是零或一,此时该数列显然已经有序。 选取基准值有数种具体方法,此选取方法对排序的时间性能有决定性影响...

Read more

opengl基础学习(5)

矩形的绘制 前面已经说过三角形的绘制方式,现在我们逐步进入到矩形的绘制。 矩形在GPU的组成 在GPU里,矩形是由两个三角形组成的 所以我们可以定义一下矩形的定点 代码编写 float vertices[] = { 0.5f, 0.5f, 0.0f, // 右上角 0.5f, -0.5f, 0.0f, // 右下角 -0.5f, -0.5f, 0.0f, // 左下角 -0.5f, 0.5f, 0.0f // 左上角 }; GLuint indices[] = { // 注意索引从0开始! 0, 1, 3, // 第一个三角形 1, 2, 3 // 第二个三角形 }; 首先我们像前面几章讲的,先把顶点数据输入 glGenVerte...

Read more

opengl基础学习(4)

shader 在最简配置下,您得有两个着色器:一个叫顶点着色器(vertex shader),它将作用于每个顶点上;另一个叫片段着色器(fragment shader),它将作用于每一个采样点。 首先要做的是创建一个着色器对象,注意还是用ID来引用的。所以我们储存这个顶点着色器为unsigned int,然后用glCreateShader创建这个着色器: GLuint vertexShader; vertexShader = glCreateShader(GL_VERTEX_SHADER); 我们把需要创建的着色器类型以参数形式提供给glCreateShader。由于我们正在创建一个顶点着色器,传递的参数是GL_VERTEX_SHADER也可以是GL_FRAGMENT_SHADER...

Read more

Unity Android Profile

Unity profile连接不上android真机 先说一下能profile的前提 apk必须是develop的 Unity导包的时候必须勾选autoProfile(如下图1所示) 了解profile的adb监听接口(如下图2所示) 图1: 在unity 2019中,官方已经提供了deep profile support 图2: 上图看到的端口34999; 有些情况下,在启动apk的时候,unity就能直接连接上unity profile; 如果连接不上的话,请执行以下步骤: 手机打开游戏. 执行以下命令行 adb forward tcp:[YourPort] localabstract:Unity-com.xx.xx 如果还...

Read more

Unity 美术规范

UI规范 图片及图集资源命名由英文字母、数字、下划线组成 可以用拼音,不能用中文; 一个文件夹下只能有一个图集的资源; 单个图片长或宽超过512的应该归类为rawTexture,图集的大小不要大于1024;可以适当地使用unity的图集自动拆分的机制; 样式比较单调的图片尽量是使用9宫格; 控制Font的个数,不超过3个。精简单个font的大小 一般10M左右。 无透明通道的图片要使用jpg或24位tga,有透明通道的图片使用png或32位tga; 所有的带中文字的图片应该合并在一两个图集内; 特效 材质球标准 命名 英文(或拼音)、_、数字组成 不能出现中文的名称 材质球贴图 贴图文件格式和尺寸 原始贴图不带通道采用24位tga...

Read more

Unity PackageManager与git的结合

Link 前提 本文里使用到的是自己已经完成的个人框架,不公开 先说明一下准备的内容: 一个独立的git仓(github或gitlab都可以) 独立仓的目录结构规范 <root> ├── package.json ├── README.md ├── CHANGELOG.md ├── LICENSE.md ├── Editor │ ├── Unity.[YourPackageName].Editor.asmdef │ └── EditorExample.cs ├── Runtime │ ├── Unity.[YourPackageName].asmdef │ └── RuntimeExample.cs ├...

Read more