unity的断点续传
unity 背景交代
unity的新资源系统虽然有提供了远程加载的功能,但是调查了一轮,发现那套系统对于手游的资源更新还是不大理想,因为我们想通过一次远程加载后,就写入到本地,然后下次启动游戏的时候,我们能直接从本地读取,而不是又从新去下载!
unity的常规下载我们都知道怎么做,但是如果网络不稳定等,而且需要下载的单个文件比较大的时候,在没有断点续传时,会造成大量的流量消耗。所以我们需要配合服务器处理一套断点续传的功能,后端的知识就不在这里讲了!
大致原理
先说说断点续传的大致原理吧,后面会直接贴出代码参考!
众所周知,网络流的数据都是逐包接收的,一截一截的数据流在底层处理后交给前端。
在UnityWebRequest里提供了一个让我们去继承的下载接口,透过ReceiveDat...
快速排序
动态图说明
Demo说明
动态图说明
先借用一下wikipedia的一张图
快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。
步骤为:
挑选基准值:从数列中挑出一个元素,称为“基准”(pivot),
分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成,
递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序列排序。
递归到最底部的判断条件是数列的大小是零或一,此时该数列显然已经有序。
选取基准值有数种具体方法,此选取方法对排序的时间性能有决定性影响...
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...
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...
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
如果还...
Unity 美术规范
UI规范
图片及图集资源命名由英文字母、数字、下划线组成 可以用拼音,不能用中文;
一个文件夹下只能有一个图集的资源;
单个图片长或宽超过512的应该归类为rawTexture,图集的大小不要大于1024;可以适当地使用unity的图集自动拆分的机制;
样式比较单调的图片尽量是使用9宫格;
控制Font的个数,不超过3个。精简单个font的大小 一般10M左右。
无透明通道的图片要使用jpg或24位tga,有透明通道的图片使用png或32位tga;
所有的带中文字的图片应该合并在一两个图集内;
特效
材质球标准
命名
英文(或拼音)、_、数字组成
不能出现中文的名称
材质球贴图
贴图文件格式和尺寸
原始贴图不带通道采用24位tga...
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
├...
159 post articles, 20 pages.