自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Git学习笔记

注意事项:千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。仓库:就是.git文件夹,这个文件夹里存放所有的版本信息。暂存区:相当于一个中间缓存区域,缓存本地的修改。工作区:就是你在电脑里能看到的目录。

2024-04-15 08:31:23 366

转载 相似度算法——Levenshtein(编辑距离)

概念 Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。 许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。 用途 模糊查询 代码实现package code; /** * @className:MyLevenshtein.java * @classDescription:Levensh

2021-03-03 14:58:59 386 1

原创 泛洪填充的CSharp实现-基于扫描线(使用lockBits大幅优化版)

废话不多说,直接上代码:public void SetPix(BitmapData bmd, int x, int y, Color newColor) { unsafe { int PixelSize = 4; byte* row = (byte*)bmd.Sca...

2019-07-02 16:38:35 504

原创 泛洪填充的C#实现-基于扫描线

直接粘代码,不说废话public static void floodFillScanLineWithStack(Bitmap map, int x, int y, Color newColor) { Color oldColor = map.GetPixel(x, y); if (oldColor == newColor...

2019-06-26 10:35:13 900 1

原创 泛洪填充算法的C#实现-基于邻域

不说废话,直接上代码。(后篇会将基于扫描线的泛洪填充,会比基于邻域的更快)using System;using System.Collections.Generic;using System.Drawing;using System.Windows.Forms;using JsutATest.Api;namespace JsutATest{ public partial cl...

2019-05-15 14:58:41 1094 1

原创 SurfaceShader-参数传递

在SurfaceShader中,我们还可以自定义我们的vertex的输出,并将其作为surf的输入来进行一些操作。下面是实例代码,注释写的比较详细,而且博主也不善多言,这里直接上代码:Shader "Custom/ParameterPassDemo" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Al...

2018-11-15 12:39:02 506

原创 SurfaceShader-复杂结构

前面我们解释了SurfaceShader的简单的结构,其实那种结构是在Unity5.x以后才有的,unity对其做了大幅度的封装,在那之前是一种比较复杂但是比较灵活的结构,这篇博文我们来看一下:Shader "Custom/NewSurfaceShader" { Properties {//这里是一些属性定义,跟Shader1.0和2.0完全一样 _Color ("Color", Co...

2018-10-20 16:34:40 198

原创 SurfaceShader-基本结构

SurfaceShader是一种经过Unity封装的非常方便的Shader,它既可以不用写代码就能实现一些很好的效果,又可以满足一些非常复杂的需求,是一种很强大的Shader,那么不多说,我们先来新建一个SurfaceShader,发现其结构是这样的:Shader "Custom/NewSurfaceShader" { Properties {//这里是一些属性定义,跟Shader1.0和...

2018-10-20 16:06:35 473

原创 Shader-RendererQuene

设想,一个游戏物体A的深度是20(相对于相机的距离),另一个游戏物体B的深度是30,而恰好它们与相机的视角在一条线上,这样,游戏物体A会盖住游戏物体B,然而我们有时候可以需要做一些特殊效果,让比较远的物体优先显示出来,诸如这样的问题,我们就可以用RendererQueue来结局,在Shader中,RendererQueue可以用Tag来结局,官方一共提供了以下几种渲染队列Tag来供我们选择,这里因...

2018-08-26 09:54:00 478

原创 Shader-BlendOp

上一篇文章博主把Shader的Blend指令介绍完了,这一篇我们来看一下BlendOp。BlendOp是指把原像素与Gbuffer中的像素进行某些运算后再渲染出来。这里博主也像上篇那样,把所有的运算指令全部列出来一一说明。(ps:毕竟博主写的是二手资料,建议英语基础好的去读官方文档)(这里博主把原像素称为src,GBuffer中的像素称为dst)Add src + dst Sub ...

2018-08-24 11:15:05 2560

原创 Shader-Blend

前面a测试时用到过Blend命令,这里博主解释一下,Blend的意思是说如果要渲染的像素在GBuffer中已经有缓存,那么应该渲染哪一个像素?是GBuffer中的像素?还是原游戏物体的像素?还是说两个做一些操作后再去渲染?这里就要用到Blend。Blend共分为两个指令,Blend scr(原像素)*factor dst(GBuffer中的像素)*factor,和BlendOp Operati...

2018-08-24 10:46:08 1694

原创 Shader-ZTest(深度测试)

直接上代码了,至于什么效果,读者一测便知。Shader "Custom/Red"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { //ZWrite表示是否将深度写入GBuffer //ZTest表示是否将颜色写入GBuffer ZWrite On //与前面Alpha测试和模...

2018-08-23 18:59:59 1201

原创 Shader-StencilTest(模版测试)

模版测试较为复杂,它不像Alpha测试一样,单单通过简单的大于小于等运算符来比较,但是和Alpha测试一样,都是测试像素点,符合要求的就渲染,不符合要求的就不渲染。了解模版测试,需要理解较多术语:1.GBuffer:几何缓冲,相当于一个容器2.RefenceValue:模版值,Guffer中的像素点就是与这个值按位与后进行比较3.stencilOperation:比较后进行的操作4...

2018-08-23 13:31:09 2656

原创 Shader-AlphaTest(1.0和2.0)

所谓Alpha测试,就是指测试像素点的a值,只有当该像素点的a值符合要求时,才渲染该像素,否则不渲染该像素.首先来看1.0版本:Shader "Custom/AlphaTest"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { //Greater 只有当a值大于指定值时才渲染该像素...

2018-08-23 11:34:29 432

原创 Shader2.0-Blood闪烁效果

分别新建一个材质,一个Shader和一个用于挂在到MainCamera上的C#脚本,将Shader设置到材质球上,然后编写C#脚本,C#代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;public class Blood : MonoBehaviour { pub...

2018-08-22 19:38:52 624

原创 Shader2.0-高斯模糊的实现

要实现高斯模糊,大致的思路是,当某个游戏物体渲染完成后,将该游戏物体交给Shader进行二次渲染,从而实现高斯模糊,C#中有一个回调函数OnRenderImage,这个函数会在渲染完成后调用,我们可以在这个函数中调用Graphics.Blit方法会把传进来的图片与第三个参数中的材质进行二次计算,然后将二次计算的结果赋值给第二个参数。恰好OnRenderImage的第一个参数和第二个参数分别是Gra...

2018-08-22 17:51:14 812 1

原创 Shader2.0-简单的边框的实现

Shader "Hidden/TestStruct"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Width("Width",float)=1.2 _Color("Color",Color)=(1,0,0,1) } SubShader { Pass { CGPROGRAM #pragm...

2018-08-22 16:47:11 653

原创 Shader2.0-一个简单的uv动画:旋转

旋转公式为矩阵的旋转公式,具体可以自行百度,这里博主不在详细解释。Shader "Hidden/TestStruct"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Speed("Speed",float)=1 } SubShader { Pass { CGPROGRAM #pragma...

2018-08-22 15:49:13 747 2

原创 Shader2.0-一个简单的uv动画:平移

Shader "Hidden/TestStruct"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Range("WaveNumber",float)=1 _Frency("Frency",float)=0.5 _Speed("Speed",float)=1 } SubShader { Pass {...

2018-08-22 12:44:42 1291

原创 Shader2.0-顶点着色器应用:波浪的实现

Shader中波浪的实现主要在于根据时间改变顶点着色器的顶点信息,根据三角函数t=asin(bx+c)即可实现,具体见代码:Shader "Hidden/TestStruct"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Range("WaveNumber",float)=1 _Frency("Frency",f...

2018-08-22 12:15:55 782

原创 Shader2.0-结构和语义

直接上代码,以后不多说了,代码写的很详细Shader "Hidden/TestStruct"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Pass { CGPROGRAM //使用CG语法 #pragma vertex vert //定义定点着色器的入口函数 ...

2018-08-22 11:38:38 574

原创 Shader1.0-纹理设置

Shader1.0的纹理设置极为简单,我就直接上代码了,代码里注释写的很详细Shader "Hidden/TestTexture"{ Properties { _MainTex ("Texture", 2D) = "white" {} _NextTex("NextTexture",2D) = "whitr"{} _ConstantColor("Constant Color"...

2018-08-22 10:44:09 452

原创 Shader1.0-灯光设置

shader1.0中的灯光设置有Diffuse(漫反射),Ambient(环境光),Specular(镜面反射),Emission(自发光)四中,其计算公式为:Ambient * Lighting Window’s Ambient Intensity setting(Unity中灯光设置的Environment Lighting中的Source属性) + (Light Color * Diff...

2018-08-22 08:46:39 609

原创 Shader-属性定义

shader的属性类型总共有Int,Float,Color,Range,Vector,2D,Cube,3D总共8中类型,下面按类型来介绍:Int属性定义的格式:name ("display name", Int) = numberFloat属性定义的格式:name ("display name", Float) = numberRange属性定义的格式:name (...

2018-08-22 08:30:56 3365

LuaInterface.rar

LuaInterface,轻量级的Lua与C#的对接框架,压缩包里面是它的源码,编译即可适用!欢迎大家下载

2020-04-28

PureMVC.rar

PureMVC全套框架,一个适用但不限于Unity的MVC框架,压缩包内包含了单线程版和多线程版,欢迎大家下载

2020-04-28

CoreAudioApi.rar

CoreAudioApi,一个不错的调整系统声音的库,开发语言为CSharp,亲测能用!欢迎大家下载!

2019-05-10

unity PlayMaker插件

unity的PlayMaker插件,unity挺好用的一个插件,可以做动画,尤其是人体骨骼动画,欢迎大家下载!

2017-12-17

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

TA关注的人

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