博客园 - 天份&
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=132603
2021-11-07T07:18:42Z
天份&
https://www.cnblogs.com/forever-Ys/
feed.cnblogs.com
https://www.cnblogs.com/forever-Ys/p/15520028.html
一文读懂什么是渲染管线(7k字) - 天份&
01 | 渲染基础 渲染(Render)定义 渲染在电脑绘图中是指软件从模型生成图像的过程,通俗讲就是在计算机里面给虚拟世界"拍照"。渲染主要分为两种,一种是预渲染(pre-rendering),它的计算强度很大,通常用于电影制作;另一种是实时渲染(real-time rendering),多用于三
2021-11-07T07:19:00Z
2021-11-07T07:19:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】01 | 渲染基础 渲染(Render)定义 渲染在电脑绘图中是指软件从模型生成图像的过程,通俗讲就是在计算机里面给虚拟世界"拍照"。渲染主要分为两种,一种是预渲染(pre-rendering),它的计算强度很大,通常用于电影制作;另一种是实时渲染(real-time rendering),多用于三 <a href="https://www.cnblogs.com/forever-Ys/p/15520028.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/15371034.html
跳表--怎么让一个有序链表能够进行"二分"查找? - 天份&
对于一个有序数组,如果要查找其中的一个数,我们可以使用二分查找(Binary Search)算法,将它的时间复杂度降低为O(logn).那查找一个有序链表,有没有办法将其时间复杂度也降低为O(logn)呢? 跳表(skip list),全称为跳跃链表,实质上就是一种可以进行二分查找的有序链表,它允许
2021-10-06T04:47:00Z
2021-10-06T04:47:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】对于一个有序数组,如果要查找其中的一个数,我们可以使用二分查找(Binary Search)算法,将它的时间复杂度降低为O(logn).那查找一个有序链表,有没有办法将其时间复杂度也降低为O(logn)呢? 跳表(skip list),全称为跳跃链表,实质上就是一种可以进行二分查找的有序链表,它允许 <a href="https://www.cnblogs.com/forever-Ys/p/15371034.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/15327824.html
队列,一种"公平"的数据结构 - 天份&
路过一家奶茶店,由于生意火爆,门口的排着长长的队伍,先排队的人先买到奶茶,然后再轮到下一个,秩序井然。有没有一种数据结构能体现”先来后到“这种顺序呢? 当然有,那就是队列。先看一下定义:队列是一种操作受限的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。只
2021-09-23T14:30:00Z
2021-09-23T14:30:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】路过一家奶茶店,由于生意火爆,门口的排着长长的队伍,先排队的人先买到奶茶,然后再轮到下一个,秩序井然。有没有一种数据结构能体现”先来后到“这种顺序呢? 当然有,那就是队列。先看一下定义:队列是一种操作受限的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。只 <a href="https://www.cnblogs.com/forever-Ys/p/15327824.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/15322022.html
手把手教你实现栈以及C#中Stack源码分析 - 天份&
定义 栈又名堆栈,是一种操作受限的线性表,仅能在表尾进行插入和删除操作。 它的特点是先进后出,就好比我们往桶里面放盘子,放的时候都是从下往上一个一个放(入栈),取的时候只能从上往下一个一个取(出栈),这个比喻并非十分恰当,比如拿盘子的时候只是习惯从上面开始拿,也可以从中间拿,而栈的话是只能操作最上面
2021-09-22T14:17:00Z
2021-09-22T14:17:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】定义 栈又名堆栈,是一种操作受限的线性表,仅能在表尾进行插入和删除操作。 它的特点是先进后出,就好比我们往桶里面放盘子,放的时候都是从下往上一个一个放(入栈),取的时候只能从上往下一个一个取(出栈),这个比喻并非十分恰当,比如拿盘子的时候只是习惯从上面开始拿,也可以从中间拿,而栈的话是只能操作最上面 <a href="https://www.cnblogs.com/forever-Ys/p/15322022.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/15316202.html
C#中List是链表吗?为什么可以通过下标访问 - 天份&
使用C#的同学对List应该并不陌生,我们不需要初始化它的大小,并且可以方便的使用Add和Remove方法执行添加和删除操作,但却可以使用下标来访问它的数据,它是我们常说的链表吗? List<int> ls = new List<int>(); ls.Add(1); Console.WriteLin
2021-09-21T03:11:00Z
2021-09-21T03:11:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】使用C#的同学对List应该并不陌生,我们不需要初始化它的大小,并且可以方便的使用Add和Remove方法执行添加和删除操作,但却可以使用下标来访问它的数据,它是我们常说的链表吗? List<int> ls = new List<int>(); ls.Add(1); Console.WriteLin <a href="https://www.cnblogs.com/forever-Ys/p/15316202.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/15313904.html
为什么数组从0开始编号 - 天份&
为什么数组从0开始编号 数组对一个程序员来说再熟悉不过了,几乎所有的编程语言都有数组,它是最基本的数据结构之一。 刚开始学数组的时候,总是很纳闷,为什么它从0开始编号,而不是从更符合我们思维习惯的1开始呢?带着这个问题往下看。 什么是数组 在编程的过程中,我们经常要用到数组,但是你能够用专业的词汇来
2021-09-20T03:05:00Z
2021-09-20T03:05:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】为什么数组从0开始编号 数组对一个程序员来说再熟悉不过了,几乎所有的编程语言都有数组,它是最基本的数据结构之一。 刚开始学数组的时候,总是很纳闷,为什么它从0开始编号,而不是从更符合我们思维习惯的1开始呢?带着这个问题往下看。 什么是数组 在编程的过程中,我们经常要用到数组,但是你能够用专业的词汇来 <a href="https://www.cnblogs.com/forever-Ys/p/15313904.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/15311379.html
算法复杂度分析 - 天份&
复杂度分析 算法的复杂度指的是执行该算法的程序在运行时所需要的时间和空间(内存)资源,复杂度分析主要是从时间复杂度和空间复杂度两个层面来考虑。 大O(big O)表示法 在了解时间复杂度之前,我们需要知道怎么用数学符号将它表示出来。 我们知道,一个算法的执行时间 = 该算法中每条语句执行
2021-09-19T05:11:00Z
2021-09-19T05:11:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】复杂度分析 算法的复杂度指的是执行该算法的程序在运行时所需要的时间和空间(内存)资源,复杂度分析主要是从时间复杂度和空间复杂度两个层面来考虑。 大O(big O)表示法 在了解时间复杂度之前,我们需要知道怎么用数学符号将它表示出来。 我们知道,一个算法的执行时间 = 该算法中每条语句执行 <a href="https://www.cnblogs.com/forever-Ys/p/15311379.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/15245136.html
一文读懂Lua元表 - 天份&
元表 Lua语言中的每种类型的值都有一套可预见的操作集合。例如,我们可以将数字相加,可以连接字符串,还可以在表中插入键值对等,但是我们无法将两个表相加,无法对函数作比较,也无法调用一个字符串,除非使用元表。 元表可以修改一个值在面对一个未知操作时的行为。例如,假设a和b都是表,那么可以通过元表定义L
2021-09-08T15:38:00Z
2021-09-08T15:38:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】元表 Lua语言中的每种类型的值都有一套可预见的操作集合。例如,我们可以将数字相加,可以连接字符串,还可以在表中插入键值对等,但是我们无法将两个表相加,无法对函数作比较,也无法调用一个字符串,除非使用元表。 元表可以修改一个值在面对一个未知操作时的行为。例如,假设a和b都是表,那么可以通过元表定义L <a href="https://www.cnblogs.com/forever-Ys/p/15245136.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/15032671.html
XLua基础 - 天份&
XLua简介 Xlua是腾讯研发的一款Lua开源插件,为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用,在游戏中,该技术多用于热更新。可以在GitHub上搜索XLua进行下载,如果网速太慢,也可以在gitee上下载 [git
2021-07-19T14:43:00Z
2021-07-19T14:43:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】XLua简介 Xlua是腾讯研发的一款Lua开源插件,为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用,在游戏中,该技术多用于热更新。可以在GitHub上搜索XLua进行下载,如果网速太慢,也可以在gitee上下载 [git <a href="https://www.cnblogs.com/forever-Ys/p/15032671.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/13492008.html
Unity3D天气系统插件UniStorm插件使用说明 - 天份&
一、开始使用 下载并导入UniStorm插件就可以进行使用了,该资源可以在Assets Store中搜索并下载,也可以评论我会发给你,该插件功能十分强大,内置25种天气类型,并包含音效,完全可以满足我们模拟天气的需求 下载完成并导入后,我们需要在场景中创建一个UniStorm System,具体步骤
2020-08-12T09:44:00Z
2020-08-12T09:44:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】一、开始使用 下载并导入UniStorm插件就可以进行使用了,该资源可以在Assets Store中搜索并下载,也可以评论我会发给你,该插件功能十分强大,内置25种天气类型,并包含音效,完全可以满足我们模拟天气的需求 下载完成并导入后,我们需要在场景中创建一个UniStorm System,具体步骤 <a href="https://www.cnblogs.com/forever-Ys/p/13492008.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/13490180.html
Unity3D制作类似吃鸡的小地图 - 天份&
先看效果图: 实现的效果就是右上角的一个小地图,会随着人物的移动而移动,显示人物的方向,并且可以展示地图设定范围的其他的玩家 制作起来也很简单,不需要任何代码。主要原理就是先创建Render Texture,在角色正上方放置一台摄像机,将摄像机拍摄的画面置于Render Texture中,步骤如下:
2020-08-12T05:52:00Z
2020-08-12T05:52:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】先看效果图: 实现的效果就是右上角的一个小地图,会随着人物的移动而移动,显示人物的方向,并且可以展示地图设定范围的其他的玩家 制作起来也很简单,不需要任何代码。主要原理就是先创建Render Texture,在角色正上方放置一台摄像机,将摄像机拍摄的画面置于Render Texture中,步骤如下: <a href="https://www.cnblogs.com/forever-Ys/p/13490180.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/13281141.html
设计模式概述 - 天份&
一、定义 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 二、产生背景 肯特·贝克和沃德·坎宁安在1987年利用克里斯托佛·亚历山大在建筑设计领域里的思想开发了设计模式并把此思想应用在S
2020-07-10T12:53:00Z
2020-07-10T12:53:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】一、定义 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 二、产生背景 肯特·贝克和沃德·坎宁安在1987年利用克里斯托佛·亚历山大在建筑设计领域里的思想开发了设计模式并把此思想应用在S <a href="https://www.cnblogs.com/forever-Ys/p/13281141.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/13089118.html
Unity使用Scroll View制作滑动列表 - 天份&
简单参数介绍: Horizontal:是否可以水平滑动 Vertical:是否可以垂直滑动 Movement Type:滑动类型,分别分为 不加限制的, 有弹性的, 固定的 下面说如何制作如下图所示的滑动列表 将horizontal勾选去掉,滑动类型选择Elastic,参数可以根据需求自己调节 然后
2020-06-10T13:22:00Z
2020-06-10T13:22:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】简单参数介绍: Horizontal:是否可以水平滑动 Vertical:是否可以垂直滑动 Movement Type:滑动类型,分别分为 不加限制的, 有弹性的, 固定的 下面说如何制作如下图所示的滑动列表 将horizontal勾选去掉,滑动类型选择Elastic,参数可以根据需求自己调节 然后 <a href="https://www.cnblogs.com/forever-Ys/p/13089118.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/12713889.html
快速排序(QuickSort) - 天份&
一、定义 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列 ——— 百度百科 二、基本流程 1.首先设定一个分界值,通过该分界值将数组分成左右两部分
2020-04-16T08:48:00Z
2020-04-16T08:48:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】一、定义 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列 ——— 百度百科 二、基本流程 1.首先设定一个分界值,通过该分界值将数组分成左右两部分 <a href="https://www.cnblogs.com/forever-Ys/p/12713889.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/12706030.html
归并排序(MergeSort) - 天份&
归并排序的核心思想是“分治”(分的过程中将问题分解成小问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 它是一种稳定的排序, 时间复杂度为O(nlogn) 例如要将【8,4,5,7,1,3,6,2】 排序,步骤如下图 分的过程中调用递归函数,将其拆
2020-04-15T08:08:00Z
2020-04-15T08:08:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】归并排序的核心思想是“分治”(分的过程中将问题分解成小问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 它是一种稳定的排序, 时间复杂度为O(nlogn) 例如要将【8,4,5,7,1,3,6,2】 排序,步骤如下图 分的过程中调用递归函数,将其拆 <a href="https://www.cnblogs.com/forever-Ys/p/12706030.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/11944521.html
C# web项目乱码问题解决 - 天份&
在 web.config 文件中添加代码 <globalization requestEncoding="GB2312" responseEncoding="GB2312" culture="zh-CN" fileEncoding="GB2312"/> 如图
2019-11-27T10:39:00Z
2019-11-27T10:39:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】在 web.config 文件中添加代码 <globalization requestEncoding="GB2312" responseEncoding="GB2312" culture="zh-CN" fileEncoding="GB2312"/> 如图 <a href="https://www.cnblogs.com/forever-Ys/p/11944521.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/11736408.html
Unity3D 通过JSON查询天气 - 天份&
一、天气查询API 获取天气信息,首先要找到提供天气数据的接口,我使用的是高德地图免费为我们提供的,网址为 https://lbs.amap.com/api/webservice/guide/api/weatherinfo 使用的前提是注册一个高德账号用来获取返回参数中所需要的key,步骤很简单,按
2019-10-25T01:48:00Z
2019-10-25T01:48:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】一、天气查询API 获取天气信息,首先要找到提供天气数据的接口,我使用的是高德地图免费为我们提供的,网址为 https://lbs.amap.com/api/webservice/guide/api/weatherinfo 使用的前提是注册一个高德账号用来获取返回参数中所需要的key,步骤很简单,按 <a href="https://www.cnblogs.com/forever-Ys/p/11736408.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/11722601.html
Unity3D 使用SQLite - 天份&
使用Unity操作SQLite,需要用到三个库文件,分别是Mono.Data.Sqlite.dll和System.Data.dll和Sqlite3.dll,前两个库文件可以在unity中找到,具体步骤:先找到unity安装位置,具体路径如下 (许多人都推荐去2.0目录中找,我用的是4.5,因为2.0
2019-10-22T13:18:00Z
2019-10-22T13:18:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】使用Unity操作SQLite,需要用到三个库文件,分别是Mono.Data.Sqlite.dll和System.Data.dll和Sqlite3.dll,前两个库文件可以在unity中找到,具体步骤:先找到unity安装位置,具体路径如下 (许多人都推荐去2.0目录中找,我用的是4.5,因为2.0 <a href="https://www.cnblogs.com/forever-Ys/p/11722601.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/11675953.html
C# ManualResetEvent用法 - 天份&
ManualResetEvent表示线程同步事件,可以对所有进行等待的线程进行统一管理(收到信号时必须手动重置该事件) 其构造函数为: 参数 initialState 表示是否初始化,如果为 true,则将初始状态设置为终止(不阻塞);如果为 false,则将初始状态设置为非终止(阻塞)。 注意:如
2019-10-15T02:14:00Z
2019-10-15T02:14:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】ManualResetEvent表示线程同步事件,可以对所有进行等待的线程进行统一管理(收到信号时必须手动重置该事件) 其构造函数为: 参数 initialState 表示是否初始化,如果为 true,则将初始状态设置为终止(不阻塞);如果为 false,则将初始状态设置为非终止(阻塞)。 注意:如 <a href="https://www.cnblogs.com/forever-Ys/p/11675953.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/forever-Ys/p/10568038.html
U3D Transform用法 - 天份&
最近在学习unity3d,下面对Transform类做一个小结 一、常用属性和方法 1.1 常用属性: 用代码展示一下上面的一些属性,值得注意的是myCube是mySphere的父物体 结果如下: position 和localPosition的区别: position是世界坐标中transform
2019-03-20T13:59:00Z
2019-03-20T13:59:00Z
天份&
https://www.cnblogs.com/forever-Ys/
【摘要】最近在学习unity3d,下面对Transform类做一个小结 一、常用属性和方法 1.1 常用属性: 用代码展示一下上面的一些属性,值得注意的是myCube是mySphere的父物体 结果如下: position 和localPosition的区别: position是世界坐标中transform <a href="https://www.cnblogs.com/forever-Ys/p/10568038.html" target="_blank">阅读全文</a>