自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 UnityShader(四)

这次要只用顶点着色器和片元着色器实现水面效果,思路很简单,就是先把顶点坐标从模型空间转变到齐次裁剪空间,再左乘unity_ObjectToWorld矩阵转变到世界坐标,将世界坐标的y按照正弦规律变化即可得到水面的波涛汹涌的效果,然后我们设置两个颜色,波峰我们设置为深色,波谷我们设置为浅色,只需要根据我们得到的y坐标偏移值lerp插值一下即可得到一个简单的水面效果,没有用到任何贴图。

2023-11-07 10:03:36 246

原创 UnityShader(五)

这次要用表面着色器实现一个水的特效。先翻到最下边看代码,看不懂再看下面的解释。

2023-11-07 09:52:33 87

原创 viterbi算法

如上图,层数和点都从0开始,我要求第0层第0个点到第3层第0个点的最短距离,我需要先知道 第0层第0个点到第2层第0个点的最短距离 和 第0层第0个点到第2层第1个点的最短距离,然后将这两个距离分别加上6 和 3(图上标的两个权重),之中取一个最小值,即得到第0层第0个点到第3层第0个点的最短距离。要求第0层第0个点到第2层第0个点的距离,需要先知道第0层第0个点到第1层第0,1,2个点的最短距离。所以不难看出,维特比算法是dp,这和迪杰斯特拉基于贪心的松弛思路是有本质区别的。

2023-10-10 13:23:18 188

原创 编辑距离问题

(2):插入一个字符;(3):修改一个字符。将A转换为B所用的最少字符操作数称为A到B的编辑距离,记为d[A][B],d[][]中的A,B指的是A和B的长度,设计一个算法对任给的A,B,计算出d[A][B]。两个后再添加一个字符,那么修改就取决于添加的两个字符相不相等,如果相等d[i][j] = d[i-1][j-1],如果不相等d[i][j] = d[i-1][j-1]+1(就修改一次)。,这个1是删除的操作),同理插入可表示为d[i][j-1]+1,那修改如何表示呢?

2023-10-10 12:08:30 144 1

原创 Unity2022打包AssetBundle

.

2022-08-09 17:24:20 1032 1

原创 范围树(C++实现,两种建树方法,截窗查询)

范围树它长什么样子文字描述 网上和书上说的都比较抽象,根据我自己的理解,其实它就类似于一个多维的线段树,它的每一个维度是一个线段树,并且带有一个指向下一维度线段树的指针。这样子,如果是二维的范围树(第一个维度带有k个节点),它就是一个带有k个结点的线段树和k棵另一维度树的线段树的集合,其中第一维度的线段树,每个结点都带有指向以本结点为范围的下一维度线段树的指针。例图这里以取中点的线段树为例怎么建树思路1 这个问题只看为伪代码是没有任何...

2021-02-02 22:17:16 855

原创 Kd树(C++实现建树,插入结点,删除结点,找最邻近点)

Kd树的定义: Kd树是一颗二叉树,对它的每一个结点(叶结点除外)都设定一个划分,使得它左子树上的点的某一维度(与划分相同的维度)都满足比它的划分小,右子树上的点某一维度(与划分相同的维度)都满足比它的划分大。Kd树的基本操作(都以二维的为例):建立Kd树:思路: 肯定是想建立一颗相对平衡的二叉树,这样在后面找最邻近点的时候查找的效率会高很多。对于给定的n个点,求出x方向和y方向的方差,比较x方向和y方向方差的大小,如果x方向的方差比y方向的方差大,则本...

2021-01-25 21:47:12 5182 2

原创 线段树

线段树线段树定义: 是一个平衡的二叉树,每个内部结点v表示基本区间I,其被分成用于v的两个子结点的区间Il和Ir,分别为它的左右子树的基本区间,区间相对于线段的端点被分割。 其实它就是长这个样子:每个结点设置一个结点值(我们这里看求和的线段树),代表它的左右子树结点值的和,同时它代表了它左右子树的线段的和。(我代码里面的左端点是从0开始的) ...

2021-01-19 20:42:18 162

原创 区间树

一个区间树有一个由区间构成的集合S,其中取S中所有区间最左边的端点l和所有区间最右边的端点r,再取两者的中点记做Xmed,对于S中由Xmed穿过的区间集合,称为SMed,对SMed由Xmed,进行左右划分,分为ML和MR,分别表示SMed中所有区间被Xmed所截的左右区间的集合,如下图: 上图中S5,S6,S7称为LMed,S8和S9称为RMed,也就是S是由LMed,SMed和RMed组成,对于根节点root,SMed为S1,S2,S3,而LMed,RMed分别为ro...

2021-01-19 19:26:33 1697

原创 万向节死锁

最开始接触这个概念是OpenGL书上的一道课后题说的,搜了一下后,我偶然发现之前在用Unity的过程中似乎不止一次的遇到过这种问题,就是当你想把一个物体的旋转由(a,b,c)通过插值平滑的过渡到(d,e,f)的时候,如果你用Vector3.Lerp(rotA,rotB,time.deltaTime)的话(rotA,rotB为两个Vec3,即表示欧拉角的向量)你会发现,十有八九会出现“抽搐”的情况,但是如果你用Quaternion.Slerp()进行转换,就不会有这样的问题,造成这个东西的根本...

2021-01-11 21:38:46 1432

原创 UnityShader(三)

凹凸映射分为:高度映射,模型空间下的法线映射,切线空间下的法线映射。 高度映射:只要改变法线的值就能获得不同的凹凸效果,也就是(r,g,b,a)->1白 高,0黑 低。 法线映射又分为模型空间下和切线空间下。纹理->法线->分量范围(-1,1),贴图->(0,1)。pixel = n * 0.5 + 0.5。 n = 2 * pixel -1。 模型空间下(绝对的法线信息)->不能换模型。n = (0,1,0)->纹理RGB(0.5,...

2021-01-11 20:46:59 107

原创 UnityShader(二)

光照模型:1.漫反射模型(Lambert),公式如下:C反指的是反射光线的强度,C光指的是入射光线的强度,m物指的是物体的材质反射系数,l向量指的是反射光线对应的向量,n向量指的是法线向量。因为,l向量与n向量都是单位向量,所以点乘积得到的结果实际上是cosθ。放在顶点着色器,代码如下:Shader "Unlit/005"{ Properties { _Diffuse("Diffuse",Color) = (1,1,1,1) } SubSh

2021-01-11 20:15:44 174

原创 UnityShader(一)

背景小插曲:1999年,第一个CPU产生。有基于OpenGL的ShaderLanguage GLSL(依赖硬件,但能跨很多平台),基于DirectX的ShaderLanguage HLSL(不依赖硬件,不能跨很多平台),还有两者混合的Cg:真正意义上的跨平台,语法像HLSL,但无法完全发挥出OpenG的最新特性。 渲染流水:分为应用阶段,几何阶段,光栅化阶段,如下图: 应用阶段是Cpu全权负责,主要做三件事:1....

2021-01-11 19:04:00 139

原创 四叉树C++实现(增删改查,找邻居)

好久好久没更过了,因为入坑了一本天书的缘故,有一些比较特别的数据结构需要学一下,第一个就是这个四叉树,工作占的时间太多了,只能用剩下的时间来学一学了,话不多说,先来介绍一下基本的概念: 我们这里的四叉树指的是满四叉树,也就是每个节点要么有四个孩子节点,要么没有孩子节点,它在二维空间中可以表示对一个正方形进行四个象限的分割,从右上,左上,左下,右下这四个方向可以依次表示为第一象限,第二象限,第三象限和第四象限,如图:其中,根节点表示大的正方形,根节点下的四个节点分别表示对应的...

2021-01-10 20:39:57 3569 5

原创 重回unity(一)适应屏幕分辨率

在我考研复习一年果断没有考试之后,我果断回到了unity的怀抱,第一篇回顾我们来聊一聊unity在安卓游戏开发中如何适应屏幕分辨率。。。1.如果是UI的话,UGUI适应屏幕分辨率只需要调锚点就好了,不再详细赘述。2.如果用SpriteRenderer,情况就比较复杂,我们拿下面一个小例子来说明:我们在做一个涂鸦跳跳开始界面,使用BGCamera来渲染背景图片,使用Main Camera...

2020-01-15 11:25:54 666

原创 Egret引擎制作旅行青蛙

项目成品试玩链接:http://www.6edu.top/190503095046/index.html因为本人已经开始考研了,时间不是特别充足,项目制作的比较简陋,还请见谅。(本人利用五一假期进行了一波小更新,加入了小伙伴来访,收幸运草和寄回照片,相册功能)Egret这个引擎是我第一个接触的主要制作页游的引擎,我在做旅行青蛙之前0基础看了一些Egret基础使用教程,但是我不得不说教程真的...

2019-04-13 17:01:52 891

原创 easyx开发坦克大战(vs2013,easyx,链表,c++)

很久之前写的坦克大战,分享出来希望能和像我一样喜欢游戏的小伙伴们多一些灵感,敌人和子弹都是用圆和矩形拼接而成的后来又做了一些改进,加入了死亡爆炸效果和背景音乐,但基本思路便是下列代码所述 爆炸效果图片和音乐文件不太好上传,这样也能运行,只是没有爆炸效果和背景音乐而已,其余没有任何变化对了,u和i都有数量限制哦,还有自己生命值也有限制,但是有作弊键,想知道是哪些键就认真读代码吧首先 :源.CPP代码...

2018-03-30 17:00:07 3182

原创 Leetcode 113. Path Sum II

Path Sum IIGiven a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.For example:Given the below binary tree and sum = 22, 5

2017-11-22 20:13:28 281

原创 LeetCode 494. Target Sum

Target SumYou are given a list of non-negative integers, a1, a2, ..., an, and a target, S. Now you have 2 symbols+ and -. For each integer, you should choose one from + and - as its new sy

2017-11-21 20:00:31 285

原创 c语言简单小游戏(模拟魔塔)

c语言简单小游戏

2017-10-17 11:14:46 13611 15

原创 百练1328 Radar Installation----数据结构小鲜肉思路代码分享

这是本人第一次写贪心算法题目.......一开始没搞清楚状况,后来在借鉴了别人思路的前提下有了自己的理解,大致思路就是 先把能点对应的雷达范围投影到x轴上,以区间的形式,然后,对这些区间以左端点从小到大排序,找右端点最小的那一个区间,遍历所有区间,只要有左端点比这个最小的右端点大就得多加一颗雷达........如果不太懂为什么,我这有三张图片详细解释为什么题目描述如下:

2017-10-17 09:33:54 451

原创 POJ 1321 棋盘问题--数据结构初学小鲜肉

问题描述:棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 51454 Accepted: 24873Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或

2017-10-14 10:10:03 322

原创 百练2815---城堡问题 数据结构初学小鲜肉 思路代码分享

百练2815 城堡问题:数据结构初学小鲜肉一枚,第一次自己写出深搜题目,开个博客纪念一下,并分享一下解题思路,写的不好的地方请大家多多海涵,指出不足题目描述如下:2815:城堡问题总时间限制: 1000ms内存限制: 65536kB描述 1 2 3 4 5 6 7 ########################

2017-10-13 17:10:33 515

OpenGL配置文件夹

把glfw,glew,soil2,glm等一系列文件放在同一个文件夹下的目录,只需要在项目中添加一下即可使用

2021-01-10

空空如也

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

TA关注的人

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