- 博客(32)
- 收藏
- 关注
原创 UnityShader入门精要-屏幕后处理效果 亮度饱和度对比度、边缘检测、高斯模糊、bloom效果、运动模糊
屏幕后处理效果 UnityShader入门精要-屏幕后处理效果 亮度饱和度对比度、边缘检测、高斯模糊、bloom效果、运动模糊
2022-08-11 14:16:07
1391
原创 UE 游戏模式
PlayerState记录包括玩家姓名得分生命等个人信息,对应玩家的数据容器。多人游戏中,所有玩家的状态存在于所有机器上,并可从服务端复制到客户端。控制器定向pawn的actor分为玩家控制器和ai控制器,都会去控制对应pawn,玩家控制器多一些ui相机等逻辑。GameInstance存在于整个游戏生命周期,不随着地图切换而销毁,适合用于非业务逻辑的全局管理操作。character类人的pawn,有碰撞移动等组件。pawn可悲controller处理,执行类似玩家任务,载具等。...
2022-07-29 11:37:25
1030
原创 UnityShader入门精要-unity shader基础
Unity中的shaderassets-create-shader创建,共有四个模板可供选择:standard surface shader 包含标准光照模型的表面着色器模板unlit shader 不包含光照但包含雾效的基本顶点片元着色器imageeffect shader实现屏幕后处理效果的基本模板computeshader 旨在利用GPU并行性进行一些与常规渲染流水线无关的计算Unity Shader 的结构Properties属性在properties中的定义会显示在
2022-05-11 11:18:48
1952
原创 Unity游戏开发笔记(一)2D Hippo’s adventure
1.update为每帧调用一次,不同机器不同,fixupdate默认为0.02秒调用一次(固定时间间隔调用),间隔可以在projectsetting中更改,update方法更加的迅速,适用于获取按键,处理角色移动2. //由于电脑帧数较高,每次按键响应次数多导致移动速度过快,锁定电脑的帧数 //设置垂直同步vsynccount为0,目的是减少画面撕裂 QualitySettings.vSyncCount = 0; //设置为10帧 但锁帧会降低画面效...
2022-03-28 21:35:53
3364
原创 OpenGL学习笔记(LearnOpenGL)-第六部分 变换
矩阵变换的基础知识博主在Games101学习过,此处仅整理简单复习,后续如果准备面试会整理详细。缩放scaling在3D空间中缩放w是没有意义的,故仍保留为1。位移translation在Games101中,0/1表示状态,2D点w为1,2D向量w为0,向量平移不变性即0维持不变。旋转rotation绕任意轴旋转不能完全解决万向锁问题。万向锁:旋转次序中最外层与最里层的旋转平面重合时,将会限制另一轴的旋转,需要用四元数解决。实践GLM为所需的数学运算库。...
2022-03-17 14:44:32
256
原创 OpenGL学习笔记(LearnOpenGL)-第五部分 纹理
要将纹理映射到三角形上,需要指定三角形的每个顶点各自对应纹理的哪个部分,纹理坐标范围为xy轴上0-1之间,使用纹理坐标获取纹理颜色的过程叫做采样,我们给顶点着色器传入三个纹理坐标,接下来他们会被传入片段着色器中,为每个片段进行纹理坐标的插值。纹理环绕方式当纹理坐标设置超过0-1,OpenGL默认的行为是重复这个纹理图像(GL_REPEAT)。除此之外还有其他的选择:GL_CLAMP_TO_BORDER需要指定背景的颜色。上述几种处理方式,可以从只选择某个特定的方向进行(s、t、r
2022-03-16 20:01:55
1026
原创 OpenGL学习笔记(LearnOpenGL)-第四部分 着色器
GLSL一个典型的由GLSL编写的着色器程序有以下结构按照结构可以分为:声明版本、声明输入输出变量、uniform变量以及main函数,main函数是着色器的入口,处理输入变量并将结果输出到输出变量中。顶点着色器的输入变量为顶点属性,OpenGL确保至少有16个包含4分量的顶点属性可用。数据类型、输入输出一、数据类型数据类型与其他编程语言一样,值得说明的是Vector向量与Matrix矩阵。xvecn形式:x表示vector的类型,n表示包含的分量数如bvecn表示包含n个b
2022-03-16 10:20:43
631
原创 OpenGL学习笔记(LearnOpenGL)-第三部分 绘制矩形
索引缓冲对象想要绘制一个矩形时,可以考虑的思路是绘制两个三角形拼接在一起,而这样就需要绘制6个顶点,对比矩形本身的4个顶点有很大的额外开销,索引缓冲对象EBO可以存储顶点的索引,而在绘制时调用矩形四个顶点的索引并按照顺序绘制。实现这个功能需要我们定义索引:与VBO类似,我们先绑定EBO然后用glBufferData把索引复制到缓冲里。同样,和VBO类似,我们会把这些函数调用放在绑定和解绑函数调用之间,与其对应的缓冲目标为GL_ELEMENT_ARRAY_BUFFER,使用glBindBuf.
2022-03-10 12:45:02
697
原创 数据结构与算法分析--最小支撑树(图解Prim算法、Kruskal算法)
最小生成树算法:prim普利姆算法 Kruskal克鲁斯特拉算法。图解
2022-02-14 17:49:55
4661
原创 数据结构与算法分析--图、深度优先DFS、广度优先BFS、拓扑排序
图的基本概念图可用G=(V,E)表示,V为顶点集合,E为边集合。边数较少的称稀疏图,边数较多的称密集图如果边限定从一个顶点指向另一个顶点,则称此图为有向图,如果没有方向性叫无向图每个点都有标号称标号图路径上各顶点均不同,称该路径为简单路径路径包含的边数成为路径的长度构成回路的路径如果是简单路径,特别当首位两顶点不相同时,称此回路为简单回路一个无向图任意一个顶点到其他顶点都至少存在一条路径,则称其为连通的无向图的最大连通子图称为连通分量不带回路的图称无环图、无环有向图
2021-11-29 23:27:23
444
原创 数据结构与算法分析--二叉树(超全:基础、顺序存储、线索化、BST--删除遍历等实现、堆与堆排序)
对二叉树相关知识的超全总结,包括:基础知识二叉树的概念,二叉树的构建遍历等操作,二叉排序树BST的相关操作,堆与堆排序的相关操作 。
2021-11-20 16:55:09
946
原创 数据结构与算法(二)排序算法(内排序-插入 冒泡 选择 快速 希尔 归并)
1.排序的术语及记号排序关键码:可以是任何一种可比的数据类型(字符、字符串、整数实数等)。对于任何一种记录都可以找到一个取得它关键码的函数。稳定性:不改变具有相同关键码的记录的原始输入顺序。2.三种代价为Θ()的排序方法Ⅰ插入排序:逐个处理待排序的记录,每个新记录与前面已排序的子序列进行比较,将它插入到子序列的正确位置。输入为一个记录数组,其中存放着n个记录。代码: // 插入排序法 static int[] insertionsort(int[] array){
2021-11-04 23:17:29
198
原创 数据结构与算法分析(java)-链表(单链表、双向链表、环形链表)
链表介绍特点:1.链表是以节点的方式来存储的,链式存储。2.每个节点包含data域,next域指向下一个节点。3.链表各节点不一定连续存储。4.链表分带头节点的链表和没有头节点的链表,根据实际需求确定。1.单链表1.1 带头结点的链表头节点(head):1.不存具体的数据2.作用就是表示单链表头...
2021-11-04 19:11:26
287
原创 数据结构与算法分析-线性表与顺序表
线性表(Liner List):由叫做元素的数据项组成的一种序列特征:可以不包含任何元素(空表)每个元素都有自己的位置元素之间有如下关系:如果元素个数是n,且n>0,则x[0]是第一个元素,x[n-1]是最后一个元素。当0<k<n-1时,x[k]在x[k+1]前在x[k-1]后。x[0]x[n-1]分别称为表头、表尾除了表头没有前驱,表尾没有后继以外,其余表项都有一个直接前去和一个直接后继。在线性表上可以进行的操作:修改、插入、删除、组合线性表、拆分
2021-10-06 17:16:17
161
原创 java核心技术卷Ⅰ(一)基础回顾(类与对象、继承)
(第四章)一.对象与类1.访问器方法:之访问对象而不修改对象2.工厂方法:类似LocalDate和NumberFormat类使用静态工厂方法来构造对象。eg.LocalDate.now()原因:①无法命名构造器,构造器的名字必须与类名相同。②当使用构造其实无法改变所构造的对象类型,而Factory方法将返回一个DecimalFormat类对象,这是NumberFormat的子类。3.方法参数:java总是采用按值调用,方法不能修改传递给它的任何参数变量的内容。java对对象采
2021-10-06 14:45:59
126
原创 java核心技术卷Ⅰ(一)基础回顾(第六章接口与内部类、lambda表达式)
读书读着读着感觉实在难吸收,从第五章反射部分的内容开始书和视频结合着学习,故以下部分内容源于尚硅谷及java1234。一.接口1.既有父类又继承了接口,当父类与接口有同名变量时,分别调用的方法如下:接口中定义的变量省略了public static final,为常量,故在子类中无法修改ball对象。2.java8中接口的新特性接口中可以实现default 方法,即子类可以选择不重写该方法,为代码后期的更新提供了便捷。其调用必须通过实现类的对象才可以调用。接口中定义的st.
2021-10-06 14:38:32
98
原创 java核心技术卷Ⅰ(一)基础回顾(前三章)
前言:准备深入学习java后开始阅读java核心技术卷Ⅰ,由于此前学习过java面向对象程序设计,卷Ⅰ的前几章有很多重复的内容,故此读书笔记只记录了补充内容。一.StringAPIcharAt(int index)返回给定位置代码单元。...
2021-10-04 18:14:56
269
1
原创 数据结构与算法分析(一)基础部分与算法分析方法
一、基础1.信息的表示是计算机科学的基础。2.数据是信息载体,是描述事物的数、字符以及可输入计算机并被程序识别处理的符号的集合。3.数据的基本单位是数据元素。(最小标识单位数据项组成了数据元素)数据结构:某一数据元素的集合及该集合中所有数据元素间关系。Data_Structure={D,R}D:数据元素集 R:D中所有数据元素之间关系的有限集。线性结构:①线性结构list:仅一个元素无前驱(表头),一个元素无后继(表尾),其余元素均有一个前驱与一个后继。非线性结构:②
2021-09-29 18:12:49
1212
1
原创 Java 各类变量以及各类修饰符使用(单独/联合)
一.几种变量的介绍与区别1.实例变量(又称成员变量):成员变量定义在类中,方法之外,在整个类中都可以被访问;成员变量随着对象的建立而建立,随对象的消失而消失;存在于对象所在的对内存中成员变量有默认初始值。2.静态变量(类变量):是在类之中,方法之外,以static关键字申明的变量,其独立在对象之外,有许多对象共享的变量。静态变量在对象产生之前产生,并长驻于内存,其在JVM关闭时销毁。可通过类名与对象名(不建议)调用。3.局部变量:在方法或语句块中申明的变量,生命周期只在定义的{}之中,不能跨方法
2021-09-22 19:01:17
582
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人