自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lala_lzw 的代码时间

不好意思,蒟蒻一枚。不敢拿出来献丑

  • 博客(63)
  • 收藏
  • 关注

原创 GPU Dissolve(GPU 消散)学习GPU Instancing

使用gpu 进行物体消融

2023-08-16 20:50:18 325

原创 Photoshop图层混合模式公式(Unity,CG实现)

将photoshop的部分图层混合模式在unity里面实现,以方便和美术沟通效果。目前只有大部分,有部分通过ps文档并不能很好的复刻,但是目标是完成所有的效果进行复刻。

2022-11-06 19:15:07 2298 1

原创 Texture贴图材质资源网站分享

话不多说直接贴:https://www.textures.com/libraryhttps://www.textures.com/library进入之后可以选择搜索查找你要的东西,只能英文免费下载,低清晰度的,512X512,学习使用完全足够说明:如需商用请购买喔...

2021-11-04 16:46:41 5204

原创 在线免费图片格式转化各类型都适用

话不多说直接贴网址FileZigZag | Free Online File Converter that converts files in best quality possible.Convert audio, video, images, documents, archive, ebook online free and with the highest quality conversion available. Choose one file or convert bulk files at

2021-11-04 16:41:57 446

原创 VBH加速结构(compute shader )RayTracing

Tip:VBH,RayTracing,Unity,Compute shader全名:Bounding volume hierarchy前言: 在我们写光追的时候,引入Mesh filter一类的不再是单独的模拟球,而涉及到Triangle,三角面的时候就会涉及到光线是否击中物体,也就是光线与物体的每一个三角面求交查看是否击中物体。涉及到这个最简单粗暴的就是遍历了,遍历是世界上最好的算法,没有之一。虽然肯定可以达到你要的效果,但是他会带来另一个致命缺陷开销过大,所以就开始各显神通创造多...

2021-11-02 16:52:42 2490

原创 Unity相机跟随游戏角色移动旋转(第三人称为主)

在unity中相机很多时候是自动跟随玩家移动和旋转的。我们想要实现该功能是有很多方法的,最简单的就是: 直接将相机挂载到角色上。 这样会导致很多局限性比如: A:你看到的是瞬移,而不是旋转过去。 B:你看到的是地面和场景旋转,而不是人旋转。这是不符合现实情况的。我们一般游戏里面旋转是。玩家快速发...

2021-08-20 17:00:02 5603 1

原创 多个Button批量注册监听注意事项

当我们为多个button进行批量注册监听的时候,很容易因为临时变量踩坑坑点可以查看图按照我的逻辑就会如此写,结果发现一直报错,无法正常进行事件的触发操作。报错信息为out of array length,数字越界了。那是什么导致的呢。打开VS进行debug发现每一次点击都有触发但是触发的时候显示 i == 16 ,但是我们objs数组只有0-15所以出错。这里很好理解呐,我们监听的时候,拿到了i的地址,当我们触发的时候会通过地址进行选址,拿到的i 就是最终版本的i了,所以..

2021-07-19 16:12:51 156

原创 Unity平滑函数Lerp简单介绍

首先简单举例几个适用情况呐。A:物体从a-b,如何平滑的到达b点B:物体旋转90,如何平滑首先按照情况先给答案后续进行解析为什么:void Awake() { StartCoroutine(RotateCam()); }IEnumerator RotateCam() { while(gameObject.transform.rotation!=qu) { yield return new

2021-07-16 18:36:14 8055 2

原创 Unity并发取随机导致相同解决方法(同一时间随机数不同)

当我们在去随机数的时候,如果多个脚本同时取随机数得到的随机数将会是一样的,因为随机数和时间以及种子有关,多个相同的脚本同时取随机数一定是一样的。解决方式: 寻找唯一标识符,很简单我想到的是通过基地址来达到目的(地址才是真正意义上的唯一标识符),同地址形成随机种子,然后在生成随机数目的达到。代码如下://头文件using System;using System.Runtime.InteropServices;//有一些步骤是可以优化的,介于前面写了部分代码,所以是添加的...

2021-07-02 18:50:35 1068 2

原创 IEDA rider 报错修改(lua插件重复)

报错信息:java.util.concurrent.CompletionException: org.picocontainer.PicoRegistrationException: Key com.tang.intellij.lua.luacheck.LuaCheckSettings duplicated图片信息因为修复完成找不到了!!!原因lua插件重复导致的错误。修改方式:找到目标文件夹将luanalysis删除,只留下Emmylua插件即可,直接删除喔图示:错误前修改

2021-07-01 18:45:48 3555 12

原创 html <a>链接相对路径以及绝对路径以及打开新页面还是刷新旧页面

绝对路径是没有啥好说的直接复制黏贴就行了<a href="C:\Users\caohua\Desktop\game-programmer-master\pengpeng\Mgr\EvtMgr.html"> EvtMgr </a>相对路径相对路径如果是同目录子文件夹<a target = "_blank" href="Mgr/EvtMgr.html">EvtMgr</a>如果是同文件夹直接写文件即可<a target = "_

2021-02-05 14:51:38 353

原创 Unity__UGUI__Image四种显示及其妙用(进度条)

img组件有四种基本的类型:分别是simple,sliced,tilled,filled四种首先我们跳过simple,直接开始sliced,按字面意思为切割,自然填充方式就是切割。切割逻辑如下,将图片切割成九宫格,当你选中会出现两种情况:该图片没有边界,以及:上面是状态,下面是九宫格模式,先不讲参数意义,我们先看参数变化,导致的结果,通过他来引导fill center参数子如起名:前面是未选,后面是选中,就是是否填充中心pixels per unit我将他分别设置成0.01,0..

2021-01-23 10:33:42 1794

原创 Toggle组件妙用--代替button点击切换图片,不用代码

如果我们要实现一下功能呢:正常情况下我们把它做成按钮,然后点击就切换背景图片就行今天发现一个使用toggle直接可以达到目的将toggle选中图片那个 √ 图片替换成你要的背景,就可以完全模拟,开关切换,并且可以达到醒目的效果,也避免了使用代码控制的冗余以及bug...

2021-01-22 16:34:37 959

原创 unity.UGUI事件系统之Drag滑动事件

Drag滑动事件主要有四个event他们分别是:IInitializePotentialDragHandler, 初始化,鼠标最对应地方摁下出发(鼠标Down)每次点击触发一次IBeginDragHandler, 鼠标移动出发,第一下移动触发一次IDragHandler, 一直 触发IEndDragHandler 结束(鼠标Up)鼠标点击松开触发一次总的来说就是看图:主要是实现方式也是认为为继承接口using System.Collections;using Syst

2020-12-09 11:41:59 3058

原创 Unity UI添加监听三种方式(IpointxxxHandler实现接口,添加组件,EventTrigger脚本动态添加)

我们以点击事件为例,就是做出最常用也是通用的类似按钮的点击事件(因为基本差不多)首先我们看实现接口:(最常用)先看代码using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class S2Test : MonoBehaviour,IPointerCl

2020-12-09 10:16:56 1867

原创 lua学习笔记----迭代器以及table

迭代器永远逃脱不了的命首先是最简单的for迭代器基本格式在这里插入代码片> t = {key1 = "而普洱市",key2 = "体悟酒宴", key3 = "一二车来",key4 = "以我会签"}> for k,v in pairs(t) do>> print(k,v)>> endkey1 而普洱市key3 一二车来key4 以我会签key2 体悟酒宴如果是没有指定key的我们可以使用默认的来进行迭代> arr

2020-12-04 14:38:12 258

原创 lua学习笔记----array数组

一维数组很简单低array ad

2020-12-04 11:48:48 916

原创 lua学习笔记------string

首先自然是字符串的表达在lua里面表示字符串一般是这三个表达方式string1= "hello lua" //使用双引号表示string2 = ‘ hello your monther’ //使用单引号表示string3 = [[hello you **]] //使用双括号表示那么双引号怎么表示呢,和c一样运算符重载(这个说法可能有歧义),eg:>print( " \" 水光潋滟晴方好\" " )>"水光潋滟晴方好">

2020-12-04 11:19:53 149

原创 git windows学习记录碰见问题以及解决方式

首先打开git cmdmkdir learngit //创建文件夹cd learngit //进入文件夹ps:你可以先进入一个文件夹,然后在创建,我这里直接使用安装路径了,图方便接下来便是通过git init 来创建仓库git init这里提一嘴,因为外面都说windows自带文本编辑不行,所以我也跟着使用notepad++,下载可直接搜索,然后随便选择一个txt,右键属性,吧打开方式修改成notepad++,以后所以txt只要双击打开都会说默认notepad++打开现

2020-12-03 18:19:30 85 1

原创 计算机图形学(闫令琪博士课程答疑)-Geometry(三)

三角形面我们可以增加或者减少,让图像更光滑细腻或者简化或者说为了更快更好渲染,我们有时候会将三角形变化的更像正三角形。细分:loop细分(创造者性loop,不是翻译成循环细分)我们找中间,我们还要调整他的位置新的顶点加权平均旧的顶点n表示顶点的度(连接数量)图中为6新算法:名字太长了我们取中间点然后连接起来奇异点变为了4,度为3,非四边形面全部消失了。因为没有非四变形面了,也就是说不会再增加奇异点了点更新方式...

2020-11-17 09:41:33 253

原创 计算机图形学(闫令琪博士课程答疑)-Geometry(二)

显示集合,影视集合都有很多便是方式:首先是点集合,只要我们的点足够细致,我们是看不出有什么缺陷的但是我们还是要把点绘制成三角形多边形绘制(三角形四角形)主流表示方式.obj(不是3d图像那个)v,法线坐标(6)有冗余vt纹理坐标(24)冗余f连接关系这个老师没讲很明白,等会儿查一下资料curves:Bezier curve :贝塞尔曲线p0,p1曲线一定经过,且切线等于t0,t1下面我们学习怎么画,我们画一个一个的点,假设我们0的时候.

2020-11-16 11:04:44 222

原创 计算机图形学(闫令琪博士课程答疑)-Geometry(一)

纹理应用,环境光照

2020-11-14 20:38:07 386

原创 games101- 计算机图形学-闫令琪教授-作业1,逐步详细解析(暂时不包括拔高)

首先我们看作业1的要求:本次作业的任务是填写一个旋转矩阵和一个透视投影矩阵。给定三维下三个 点 v0(2.0, 0.0, 2.0), v1(0.0, 2.0, 2.0), v2( 2.0, 0.0, 2.0), 你需要将这三个点的坐 标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形 (在代码框架中,我们已 经提供了 draw_triangle 函数,所以你只需要去构建变换矩阵即可)。简而言之, 我们需要进行模型、视图、投影、视口等变换来将三角形显示在屏幕上。在提供 的代码框架中,我们

2020-11-12 21:14:17 5257 4

原创 计算机图形学(闫令琪博士课程答疑)-Shading(三)

课程连接重心坐标纹理怎么贴到物体表面重心坐标:为了做三角形内部差值,原因是计算是三角形顶点处理,我们需要在三角形内部进行均匀的变化。如何更平滑三角形每一个点,都可以用三个顶点的系数组合,且系数加起来为1.且都是非负数重心坐标可以通过面积比求出来。我们看三角形重心:(a,b,r)=(1/3,1/3,1/3)任意点坐标重心好长,这样我们可以对物体进行着色了。乘以权值然后加起来。有问题:进行投影的时候三角形会发生变化,所以重心坐标也会变化。如果我们计

2020-11-11 13:14:49 255

原创 计算机图形学(闫令琪博士课程答疑)-Shading(二)

课程连接回顾上节课;每次着色是在一个shading point,如果我们要得到一张图,我们需要进行多次着色。也就是这节课要讲到的着色频率。我们继续看这个公式:(Blinn--Phong模型,因为半程太好算了,两个相加,在转单位向量就完事了)我们接收的光照能量和夹角余弦有关系,。现在我们看高光:高光往往是镜面反射导致的,看到高光就是我们看的方式和镜面反射方向接近的时候就会出现。当我们我们也可以看出,如接近高光区,那也就意味着半程向量和平面法向量十分的接近,如图所示(高光就相当于

2020-11-09 21:23:32 748

原创 计算机图形学(闫令琪博士课程答疑)-Shading(一)

课程链接回顾一下上节课的DLSS,(这个再作业2里面进行体验。。。)我们现在考虑多个三角形,我们该怎么办呢,按照一个常用的逻辑就是近的物体会遮挡后面的物体,也是符合逻辑的(用计算机思想来说)就是先绘制远处物体,然后再绘制近处(覆盖):画家算法这个算法涉及到一个深度问题,是很难把握的eg:三角形之间存在圣都重叠,画家算法直接铺盖。深度缓存他来了。我对每一个像素进行深度排序,我们记录像素深度,在生成图片的时候,同步生成任何一个像素的深度因为我们看的是-z,z小的反而远。现

2020-11-09 12:57:47 402

原创 计算机图形学(闫令琪博士课程答疑)-Rasterization(triangle)(二)

反走样,以及去锯齿状课程链接 因为我们计算机一般是没用真正意义上的连续了,所以我们还是得采用一个采样的逻辑来实现。因此是无法避免采样出现的问题。eg;锯齿(前面有了实例),二摩尔纹,车轮效应(顺时针旋转图像,可能你会看到是逆时针旋转)自己在加一个:失真,(采样会出现跳过峰值的情况),比如y=sinx,而我们采样是(-oo,+oo)的所有整数点,已知道当在pi/2会出现一个峰值(x大概=1.55),但是我们只取了两点x=1,x=2,这显然导致失真,错过了峰值,当然举的例子可能采样太稀,但是也可以.

2020-11-08 12:41:04 267

原创 计算机图形学(闫令琪博士课程答疑)-Rasterization(triangle)(一)

课程链接光栅化阶段:首先我们确定一个我们要输出的是什么样的,就是设置一个宽高比例如什么4:3 16:10等,就好像你买个电视他的宽高比一样,输出规格先固定定义两个概念:垂直可视角度,长宽比(通过他们可以推出水平可视角度)前面我们已经研究了正交透视投影,这里回顾一下,正交投影是将,所有的z都投射到(-1,1)首先我们提出一个不起当给说法,屏幕是由一个一个的像素点构成,而像素点可以理解为原子操作,一个像素是只能有一个颜色,他是不会左边是这个颜色右边是那个颜色的(当然还有一个灰..

2020-11-07 18:12:58 319

原创 NGUI.v3.1组件分享(百度网盘分享)

链接:https://pan.baidu.com/s/1jl8lH3FgMvUEkQTctawmYQ提取码:85sw不要再被那些憨批下载坑钱了。

2020-11-06 09:31:14 542 2

原创 ugui源码下载(2020年11月更新)github,附带百度网盘

github源码点击就可以https://github.com/Unity-Technologies/uGUI百度网盘链接链接:https://pan.baidu.com/s/1EbFYLMz2mp2YfVhLNgy8LQ提取码:fm72

2020-11-06 09:26:21 2685

原创 计算机图形学(闫令琪博士课程答疑)-transform,旋转,平移,错切,其次坐标,3D

3D下面就要引入三维矩阵了,因为二维矩阵我们已经得出了通用公式,三维和二维没有区别,只有一个维度上的差别,所以应当也是通用的。因为和2d没有太大区别直接贴图了缩放:平移:旋转:这里特别说明一下,比如说绕着x轴旋转,你可以理解为x是不会发生变化的,那也就是说他就是xy的二维旋转,所以可以直接得出关系,再这里,y轴变化是和其他两个有一点点区别,主要是选取的是右手旋转定则,y的正方向是Z x X.其他都是没有问题的20201104 18:43分结束...

2020-11-04 18:44:18 540

原创 计算机图形学(闫令琪博士课程答疑)-transform,旋转,平移,错切,其次坐标,2D

首先是图像缩放2D,图像缩放很简单(这里默认了是便准正方形(边长为1)//这里默认了是往原点缩放x' = s*x;//s为缩放的倍数y' = s*y;//如果是往图像重心缩放(主流)还需要进行一系列的变化,比如先如上缩放,//然后再进行平移操作,就是从当前重心,平移到原来重心的位置//eg:原本原点在(x1,y1),缩放之后原点在(x2 , y2 )//平移值为(x1-x2,y1-y2)写成矩阵新式就是如果缩放不是相等的,例如x轴缩放s1,y轴缩放s2,那就是说(-oo<

2020-11-04 12:52:09 442

原创 对象池(c#,unity),物体频繁使用适用

对象池,如同线程池,都是为了避免对象的频繁创建销毁在这里我们使用了上次写的单例来进行开发,因为原则上对象池只需要一个就行了using System;using System.Collections;using System.Collections.Generic;using UnityEngine;namespace Common{ /* * 使用方式: * 所有频繁创建销毁,都可以通过对象池创建回收 * 创建 * GameObje

2020-11-03 11:01:46 316

原创 单例(c#,游戏开发,针对于一个对象,脚本最都只有一个的情况)

单例思维逻辑啥的其实都很明白,使用的频繁也造就了他的重要性:设计思路:每次在使用他的时候,如果有了就直接使用,如果没有就内部创建一个出来故:实例使用:对象池using lala;//特殊命名空间可以删除using System.Collections;using System.Collections.Generic;using UnityEngine;namespace Common{ ///<summary> /// ///<summary&gt

2020-11-03 10:46:35 184

原创 24点游戏c++,穷举法

采用的是穷举法,所以有点麻烦 关键是在于这个点 他有五种情况下的运算方式 加减乘除就没有加进去了 //(AB)(CD) //(A(BC))D //((AB)C)D //A(B(CD)) //A((BC)D) 计算了一下一共大概有 : 3^3(三个运算符)*5(五种括号运算情况)*4!(4的阶层中数字摆放顺序)ps:在进行运算的时候己得顺序不能反 因为运算的函数是确定的,...

2020-10-28 23:19:34 137

原创 C#多线程控制之我见(leecode题目1114-1117)

多线程嘴巴上说的控制方式有很多,比如操作系统学的解决消费者生产者的信号量等等等,但是实际使用的时候却不知道采用什么,比如我自己,就会使用全局变量来模拟线程控制先分享博客的写作背景的题目:leecode1114按序打印lecode1115交替打印按序打印采用了三种种解决方式,都是目前我学习到的一些方式1:使用ManualResetEvent先交代源码以及题目背景using System.Threading;public class Foo {ManualResetEvent second

2020-10-27 12:28:18 179 2

原创 unity锚点之我见

锚点在unity里面是这样子的这里大致可以对他分类:第一种:四角类型的也就是四个锚点分布于父物体的四个角使用他就是说子物体相对于父物体永远处于相对位置,大小也会随着父物体的变化而等比变化第二种就是:他们都在一起也就是说他们距离某一个角(这里是右下角)的位置是固定的。大小不会根据父物体的变化而变化第三种就是这样的:这个也就意味着他的上下距离是会按照比例一直处于某一个位置,而左右则不会变化,大小也是只有高会跟着变化,宽则不变化最后适配也是有方法选择的,我们只需要将canvas Sca

2020-10-15 16:51:37 285

原创 数据库常考点

MYSQL第一常用数据类型:整形int,Bigint,小数float,double字符串:varchar,char,test枚举:enum日期时间:timesstamp索引优缺点:可以加快访问速度创建维护索引需要欸外开销,以及空间数据库事务性:事物是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位四大特性:原子性,一致性,隔离性,持久性原子性:事物最小执行单位,要么全做要么都不做如何保证:binlog记录数据库和表的变更relog:写完在内存,在写到relog,然后写到

2020-10-15 16:49:58 72

原创 删除链表倒数第n个字符o(n)时间,两种算法

链接点击就送首先是没有算法无脑版时间:o(2*size-n)ListNode* removeNthFromEnd(ListNode* head, int n) { // write code here int i = 0; ListNode* lala = new ListNode(1); lala->next = head; head = lala; while(lala) {

2020-10-15 14:54:43 49

原创 链表判环(快慢指针)

快慢指针思路很简单就是两个指针,一个走的快,一个走得慢,如果有环那就意味着快指针会和慢指针相遇(类比体测的时候,你慢吞吞的,然后别人超了你一圈,然后你跟着第一名白嫖第二名(doge))这里是题目链接喔/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * };

2020-10-15 12:46:39 113

空空如也

空空如也

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

TA关注的人

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