自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 Unity 2D 任意多边形切割算法

多边形切割

2023-01-12 13:23:51 913

原创 C# 之 MD5码快速生成

根据提供的内容获取Md5吗。

2023-01-02 16:04:57 499

原创 C# 之 相对路径与绝对路径互转

2.相对路径转为绝对路径。

2023-01-02 16:02:31 879

原创 C# 之 删除文件到回收站

【代码】C# 之 删除文件到回收站。

2023-01-02 16:00:32 901

原创 Unity工具 - 工具聚合页(UEWindow)

工具聚合页

2022-12-04 13:02:24 579

原创 Unity工具 - 快捷任务栏(Taskbar)

Unity 工具

2022-12-03 23:26:02 955

原创 计算机常用几何算法+Unity实现

1.2D叉乘计算公式:外链:叉乘叉乘公式:A(x1,y1)xB(x2,y2) = x1 * y2 - x2 * y1 /// <summary> /// 2D叉乘 /// </summary> /// <param name="v1">点1</param> /// <param name="v2">点2</param> /// <returns></returns&g

2021-01-17 14:07:16 1097

原创 Unity通过代码实现多个窗体排版

最近共工作要求,需要对Timeline面板编辑器编写一些辅助性工具。但是我们没有办法对Timeline编辑器进行重绘或修改功能(我是不知道),所以我打算通过新建一个EditorWindow,在新的窗口中实现辅助功能。实际上我想要的工具效果为:但实际上打开的效果是这样的:让我感觉有点不爽,不够干净整洁,看着就感觉麻烦。就开始考虑Unity中是否存在这样的接口,可以让我们主动去实现自己想要的排版界面。然后开始百度/Google 搜索,结果都是Layout的讲解(难道就没有人有这样需求吗?)然后又开

2020-08-07 20:33:53 2719 5

原创 C# 反射 如何动态获取/设置数组,列表,字典中的中值

在实现ToTxt 时,碰到这些问题,在此记录一下:1.数组与List:读取数组与列表数组与List 均有实现IList接口,所以在反射时,获取FieldInfo.FiledType后,可以使用typeof(IList).IsAssignableFrom(fieldType)的方式来判断字段类型是否继承了IList。如果需要读取IList中值 ,使用FieldInfo.GetValue()获...

2020-03-29 17:58:48 5014 1

原创 ToTxt 序列化方法

下载地址:https://pan.baidu.com/s/1sKnnDNKr2tyNd0NIpXsagA 提取码:9e76测试工程:https://pan.baidu.com/s/1Dk68RQe1ZMIarjgHmjG0VQ 提取码:n22sToTxt 是一种将C# 对象转为txt的一种序列化方法。ToTxt 可以以下字段的转换:需要序列化的C#对象,必须实现:[TXTClass]属性...

2020-03-29 17:26:12 414

原创 伪随机数算法

1、线性同余随机数算法(LGC)公式:xn=(Ax[n-1]+B) % M A:乘数B:增量M:最大值x[n-1]:种子连接: https://www.cnblogs.com/forget406/p/5294143.html实现:int[] x;private void Random(int seed, int max) { x = new int[ma...

2020-03-28 16:45:24 997

原创 Noise算法-Value Noise

伪随机数算法:https://editor.csdn.net/md/?articleId=103834623实现:namespace Game.Randoms{ /// <summary> /// 线性同余随机算法(LGC) /// </summary> public static class LGC { /// &l...

2020-03-28 16:44:46 825

原创 计算机几何相关算法

1.点到直线的距离1.链接:https://www.jianshu.com/p/8ba826e6208a private static float distancePoint2Line(Vector3 point, Vector3 linePoint1, Vector3 linePoint2) { float cos = Vector3.Dot(point - li...

2020-03-28 16:43:31 256

翻译 Shader - 编写Surface Shader

如果你还未了解过Shader lab 建议先了解一下Shader Lab 相关内容:跳转接口。编写与光照相互做的着色器是很复杂的,有不同的灯光类型,不同的阴影选项,不同的渲染路径,着色需要以某种方式处理所有的复杂性。Unity中的Surface Shader是一种代码生成方法,它使编写着色比使用顶点/片段着色器要容易的多,Surface Shader只是生成所有需要手工编写的重复性的代码,仍然...

2020-03-28 16:42:22 436

翻译 Shader - ShaderLab基础

Unity中的所有Shader都是使用ShaderLab的声明性语言编写的。而ShaderLab是Unity对CG/HLSL/GLSL的一层封装,重点支持的是Cg着色器语言。目前面向GPU的编程有三种高级图像语言:HLSL语言,GLSL语言,Cg语言。HLSL语言:High Level Shading Language,由Microsoft公司提供,通过Direct3D图形软件库来编写的着色器...

2020-03-28 16:41:12 688

原创 Shader-常用的函数

方法定义描述实现UnityObjectToClipPosfloat3 UnityObjectToClipPos(in float3 pos) float3 UnityObjectToClipPos(float4 pos)将

2020-03-28 16:39:44 434

翻译 Shader - Unity中的渲染管道

着色器用于定义对象的外观(材质属性)以及它对光的反应,因为必须在着色器中构建光照计算,然而可能会存在很多类型的光影,所以编写Shader是非常麻烦的一件事。Unity为了简化编写Shader的操作,提供了Surface Shaders,它会将所有的光照,阴影,光照贴图,向前渲染和延迟渲染都会自动处理。如何选择渲染通道(Pass)以及灯光如何应用,都取决于采用什么样的渲染路径。渲染路径:...

2020-03-26 16:51:54 553

原创 Unity用代码将多张图片合并为一张图片

最近在写一个自己的小项目,在项目中,我想写这么一个地图编辑器:1.将游戏地图划分一个N个正方形格子2.地图编辑器有分层功能,类似于PS的图层,在每一个图层上我可以设置指定的图片。3.根据每个层图片,将其合并为一张图(每张图像素尺寸非固定的)所以根据以上要求,我创建了如下的编辑器:在以上的编辑器中,可以在笔刷面板添加图片,然后在层级面板添加新的层级,用来绘制新的图片。那核心的问题就是,...

2020-03-18 14:36:44 7703 6

原创 游戏中的数学公式(增录中...)

1.三次Hermite插值余项:(Unity中 动画曲线插值算法,d1 ,d2 分别为斜率)文献:https://blog.csdn.net/luolei188/article/details/86563231实现:public float Hermite(float t,float t1,float t2,float v1,float v2,float d1,float d2){ ...

2019-11-16 13:15:40 897

原创 记录:Shader 光照模型公式及实现

1.漫反射公式:兰伯特定律:反射光线的强度与表面法线和光源方向之间夹角的余弦值成正比Cdiffuse = (Clight * Mdiffuse) * saturate(dot(n,i))Clight:入射光线的颜色和强度Mdiffuse:材质的漫反射系数saturate(x):将x截取在[0,1]范围内dot(x,y):对x和y 点乘n:表面法线i:光源方向2.半兰伯特公式:...

2019-11-10 21:42:59 406

原创 Unity的这些知识你知道码?

1.Project 窗口中搜索的使用键入多个搜索词,缩小搜索范围,例如沿海场景,则会查找同时包含’沿海’和’场景’的名称t:按指定类型过滤,l:按标签过滤,v:点击按钮’五星’,可以将当前检索指令进行存储2.点击‘场景轴’右上角的锁,可以锁定场景中的旋转,但可以使用右键进行视角平移3.FlyThrough模式: 按住鼠标右键,使用鼠标移动视角,WASD键进行移动,按住Shift键可以...

2019-05-22 19:36:07 298

原创 计算机几何 - 如何判断一个多边形是凸多边形还是凹多边形

什么是凸多边形和凹多边形?凸多边形:每个内角都是锐角或钝角,没有大于180度的内角(例如,三角形、正方形)。凹多边形:至少有一个大于180度的内角(例如,五角星)。注:大于180度的角又被称为优角如上图,D点就是优角如何判断一个多边形是凹多边形还是凸多边形?1.角度和判断:将多边形每个顶点处的较小角(内角或外角)相加,如果小于(n-2)*180,则为凹多边形。(可以使用向量点乘来等...

2019-05-21 15:54:39 18178

原创 计算机几何 - 凸包

凸包:在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集被称为X的凸包。啥意思,我也没看懂。通过浏览众多博客文章之后,我对凸包的理解为:给定一组离散的点,求得包围整个离散点的边的集合。例如,在墙上随机定了N个钉子,然后用一个足够大的橡皮筋包围这些钉子,那么松开橡皮筋之后,橡皮筋的范围就是凸包。那么凸包的算法,就是输入一组离散点,返回能够组成凸包的点,将这些点连接起来就是凸包了...

2019-05-09 11:16:44 337

原创 游戏中的算法:算法的时间复杂度

作为学渣出生的程序员,在面试的时候被面试官问道:什么是时间的复杂度?我:时间复杂度就是一个方法运行的大概时间!(虽然不懂,但是这个还是知道的)面试官:它是怎么计算的?我:看过,但是没看懂(汗汗–!)面试官:这都看不懂?我还能说啥?在面试之前,专门找过相关的文章学习,但是,真的没看懂!!!不过好在,面试官还是给我了一个机会,通过技术的上的面试。后来,在职期间无意中看到了《算法精解》这本...

2019-04-23 16:03:44 815

原创 Unity IOS打包遇到的坑点

1.注意包名(ios 为Bundle Identifier)如果包名与证书中的包名不一致,会导致你无法选择正确的证书2.缺少 *.h 文件查看工程是否有该.h文件或是否引用了该.h文件所在.framework库(注意库文件不要在windows中操作,可能会出现该库在ios中无法使用的问题,最好是直接.zip文件到ios平台上解压)3.如果工程...

2018-12-27 15:20:14 2583

转载 Unity开发中提升效率的高级技巧

https://www.jianshu.com/p/e10fb2240a79

2018-12-21 06:27:55 259

原创 Unity中的.meta 文件

当我们把新的资源导入Unity时,Unity会自动做下面这件事:1.分配唯一ID2.创建.meta文件3.处理资源1.分配唯一ID:Unity会维护一个自己资源列表,在将资源导入Unity的时候,Unity会先检测这个资源列表,然后为导入的资源分配一个唯一的ID,在Unity中会使用此ID来引用资源。2.创建.meta文件Unity在4.2版本后加入了.meta文件,如果在4.2以后...

2018-12-20 00:35:12 12200

原创 设计模式----门面模式

门面模式,也叫做外观模式,是一种比较常用的封装模式。它要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。也就是门面模式提供一个高层次的接口,使得子系统更易于使用。《设计模式之禅》提供了一个比较容易理解的例子:投递信件,我们写信一般都需要包含以下操作:1.准备道具(信纸,信封,笔,邮票等)2.写信3.封装信封,贴邮票4.投递到邮箱人都是比价赖的,上面的操作太复杂,手里没有这...

2018-11-28 21:40:23 448 1

原创 Unity百问百答(待补)

Unity 问题:1.gameobject.CompareTag是不是比直接用gameObject.tag==&amp;quot;xxx&amp;quot;要好?答:tag确实比CompareTag 更耗时间,因为tag是属性,会在内部循环调用对象分配的标签属性并分配额外的内存!测试结果:2.Scene面板中提供了几种绘制模式,都有什么作用?Shaded开启阴影和表明纹理显

2018-11-27 12:38:57 336

转载 Lua 函数库 总汇

Lua 5.3 参考手册 (中文版)http://cloudwu.github.io/lua53doc/contents.html字符串库 (均以"string."开头)byte(s[,i[,j]])返回字符串的内部数字编码,i、j为字符串的索引,i和j限定了多少字符就返回多少值char(…)吧数字编码转换为字符串dump(function[,strip]...

2018-11-26 22:07:19 2426

转载 Lua 协同程序(coroutine)

Lua协同程序与线程比较相似,拥有独立的堆栈,独立的局部变量,独立的智力指针,同时又与其他协同程序共享全局变量和其它大部分东西。协同程序方法(coroutine)方法描述coroutine.create()创建coroutine,返回coroutine,参数是一个函数,使用此方法创建协程,需要使用coroutine.resume()唤醒函数调用coroutin...

2018-10-29 18:34:36 191

转载 Unity3D NGUI特效层级问题

using UnityEngine; using System.Collections; [ExecuteInEditMode] public class NguiEftSort : MonoBehaviour { public UIWidget basewidget; public int rendererOffset = 0; public bool ru...

2018-04-23 17:22:00 501

原创 CLR中的垃圾回收器

托管堆: 在每个程序中都要使用资源,包括文件、内存缓冲区、网络连接、数据库资源等等。在面向对象中,每个类型都代表可供程序使用的一种资源。要使用资源,必须为代表资源的类型分配内存。那访问一个资源需要哪些步骤呢? 1.调用IL指令newobj,为代表资源分配内存 2.初始化内容,设置资源的初始状态并使资源可用。 3.访问类型的成员来使用资源 4.摧毁资源的状态以进行清理。 5.释放内存。...

2018-04-08 15:56:28 235

原创 C# 简单的日志系统(服务端)

新的一年开始,也该开始学习一些新的东西,首先就是将去年写的C#服务器重新构思一下。 今天的目标:日志系统 需求: 1.显示日志 2.写入到本地文件 3.错误或异常日志需要通过邮件通知 4.可以自定日志类型(可有可无)日志: 我个人理解,就是系统在运行过程中所产生的提示信息。比如,Debug程序的时候,除了进行断点调试,大多都是进行文本输出,来观察这一段程序书写是否正确。其次,就是...

2018-02-27 15:58:23 4550 1

原创 Unity3D 实现简单的Buff系统

今天来考虑一下,想要实现一个buff系统需要什么功能。 能力不行,写的不好,请大家指正完善,谢谢~~在我们接到一个需求的时候,往往需要先分析一下需求,确定我们要实现什么样的功能,大部分的情况下需求功能由策划提供,而你只需要考虑怎么实现就行了。不过今天特殊,没有策划,只能我们自己分析考虑了。 更据以往玩过的游戏,来看看buff系统都有什么功能: 1.计时,一个buff往往都会有存在时间,几...

2018-02-09 15:50:10 15318 12

原创 Python io 模块 基础总结

IO,在计算机中值得input(输入)/output(输出),凡是用到数据交换的地方都会用到IO。 Stream(流) 是一种重要的概念,分为Input Stream(输入流)和Output Stream(输出流)。打开文件: open(name[,mode[,buffering]])name:文件路径,强制参数 model:模式,可选参数'r' #读模式'w' #写模式'a

2018-02-07 11:45:40 1264

原创 Unity 实现简单 A* 寻路

OK,A*的算法在网上有很多,当初我书写A*的时候参考的就是网络文章,下面附上链接 http://www.360doc.com/content/16/1201/12/99071_610999046.shtml根据A*的算法来看,我们需要将地图划分为一个一个格子,然后标记处可行走的区域和不可行走的区域,然后经过计算得到一条两点之间的路径。首先我们先实现将地图划分为N个格子。 实现方法:

2018-02-05 17:04:29 763 1

原创 Unity 实现简单的关卡管理系统

今天我们尝试实现一个简单的关卡管理系统。 先想想关卡都需要什么功能? 在我基本的考虑下主要有: 1.投放物体(主角,道具,怪物) 2.控制关卡流程(比如,小关卡顺序,怪物波次) 3.触发各种事件(比如触发剧情,激活技能,激活碰撞墙等等)OK,知道我们需要什么了,那我们就开始考虑要怎么制作了。 在一个大关卡中,往往会划分多个小的战斗区,玩家要控制角色依次通过战斗区域,获得胜利,所以我

2018-02-05 15:59:06 8337 4

原创 Unity3d 简单实现 NGUI UI系统

首先定义两个配置表: UILevel.txt 层级ID 层级名称 层级起始深度 锁定层级(1,锁定层级,不会自动更新Panel深度) 层级描述UILeveID UILevelName UILevelDepth UILevelLock UILevelDes1 PanelPanel 0 0 常用面板,如主界面,匹配面板等等2 TipsPan

2018-02-02 17:44:58 987

原创 C# 服务器HproseRpc使用

Hprose官网:http://www.hprose.com/下载C#版本Hprose.dll 地址:https://github.com/hprose/hprose-dotnet文档地址没有C#版本的文档,我是通看java文档来尝试使用C#文档,有相同的地方,网上还有1.3版本的文档,可以进行参考 文档地址:https://github.com/hprose/hprose-doc

2018-02-02 17:10:15 4532

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除