自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ml-agent学习记录

装gpu加cuda,略,b站有安装视频。

2023-12-11 02:57:21 460

原创 如何设计成就系统

成就系统

2023-11-22 14:32:47 223

原创 使用unity实现雪花飘落的效果

unity雪花

2023-11-22 14:24:55 526

原创 使用C#驱动MongoDB实现增删改查

它是 MongoDB 的官方驱动程序,提供了在 .NET 中操作 MongoDB 的功能。在Nuget包管理器中下载即可,其他编译器找到相关链接库部分就行。

2022-12-29 23:40:13 341

原创 C#通过Dll实现函数热更

在dll里面加入新的类。Dll替换前的程序集。Dll替换后的程序集。

2022-10-12 03:08:42 1468

转载 Games104网络基础部分

Games104网络基础课随堂笔记

2022-09-20 20:24:05 203

原创 Games104总结粒子系统和声效

坐标,初速度,大小,颜色,生命周期,…如果控制失败就会出现粒子越来越多,使系统资源殆尽指定生成规则,指定仿真逻辑,描述如何渲染粒子力学模拟模拟控制粒子如何随时间变化粒子碰撞面片粒子,网格粒子,光带粒子(拖尾)光带粒子系统路径使用CatMull-Rom插值,效果会更柔和透明度排序全局排序:准确,但性能消耗大层次结构:每个系统->每个发射器->发射器内部排序规则粒子之间:基于粒子与相机的距离系统或发射器之间:包围盒基于屏幕的解决办法,最坏情况充满整个屏幕如图,通过Half-Resoluti

2022-07-12 14:19:19 153

原创 风格化水体渲染

从深度图获取水下顶点的世界坐标,与水面顶点坐标相减得到当前顶点的水深度。当深水区时使用较深的颜色且透明的调为不透明,浅水区可以浅一点,透明度透明一点如图,使用lerp深度作为权重。参考之前的水面渲染参考之前的水面渲染通过PlanarReflection.cs获得反射图,如果觉得性能消耗大,可以采用sspr或者反射探针得到。使这是也会受到水面扰动的影响。参考这篇文章...

2022-07-07 16:50:13 227

原创 地形系统shader学习

同样取出其他的材质, layer2,layer3.HeightLerp输入Height 从高度图采样的高度Transition 用来控制材质使用量的参数,一般使用顶点色的4个通道BlendContrast 混合对比度,数值越大对比越明显输出得到一个基于高度的混合因子混合因子的制作以基础颜色为例粗糙度,AO,法线同上一样。通过修改顶点色RGB就能混合材质了取最大值,最大值减去混合对比度,用原值减去混合对比度的差,同时保证数据不为负数,然后除以三值的和就行。因为是权重,且和等于一所

2022-07-07 00:43:05 209

原创 场景学习雾效

计算出顶点与摄像机的距离将范围映射到雾效范围中。将距离雾中的距离改变为顶点坐标的y坐标。通过深度图进行后处理雾效,获取相机的深度图,通过深度图进行世界坐标还原,将之前的的世界坐标替换掉,因为天空球和地形的高度雾效不同,所以用一个阈值区分,lerp 天空球 地形 阈值。...

2022-07-04 16:54:29 89

原创 天空盒及水面渲染

天空盒和水面渲染防止被相机裁剪水面扰动下面的Vertex pos 是为了降低远处波动。效果代码实现粗糙用代码还原了一下

2022-07-04 04:39:15 169

转载 UI学习总结

项目练习链接Grid Layerout Group他的子节点将会被填充到格子中如果游戏默认开始物品栏是关闭的一定要记住先要初始化。经常配合CreateAssetMenu使用显示物品栏物体拖拽物品CanvasGroup射线阻挡关闭,开启对ui面板的碰撞在OnEndDrag方法最后一定要射线阻挡开启,不然无法再次选中移动的物品ItemOnDrag的代码详情见项目...

2022-06-04 21:58:16 90

原创 人物3渲2学习总结

文章目录描边法线外扩法解决方式缺点菲涅尔方程打光描边法线外扩法中文一般称为“法线外扩法”、“背面膨胀法”,日文资料中会称作「背面法」,它们指的是同一个技术解决方式第一个Pass:正常打光和绘制第二个Pass:Vertex Shader阶段将顶点向顶点法线方向移动一定距离Rasterization阶段将Cull Mode设置为Cull Front Pass { Cull Front ZWrite On ColorMask RGB Blend Src

2022-05-11 14:29:26 1254 2

原创 houdini导入渲染顶点动画流动图片

VAT动画行代表,列代表顶点

2022-04-30 16:58:38 457

转载 Games104第7节总结

环境光遮蔽(Ambient Occasion)预计算AO采用光线追踪离线计算AO,并将结果存储到纹理中,这种方法广泛应用于物体建模过程中:额外的仓储成本仅适用于静态对象屏幕空间环境遮挡在视空间中每个像素p周围的球体中生成N个随机样本通过比较深度与深度缓冲来测试样本闭塞样本点的平均可见性来近似AOSSAO+回想一下AO方程实际上是在法向半球上做的HBAO Horizon-based Ambient Occlusion使用深度缓冲作为高度场在水平角以下的2D表面射线被遮

2022-04-26 16:14:44 269

原创 unity溶解算法

简单的溶解渐变溶解边缘合成效果改进1溶解边缘柔和改进2加一定方向的溶解加入炭化的效果

2022-04-25 17:20:26 2141

原创 大话设计模式观后感(二)

创建型模式简单工厂模式简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。解决如何实例化对象的问题不属于23种GOF设计模式之一,不符合开放封闭原则每一次都要修改类。工厂方法模式工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。将实例化方法写在concreteCreator类里面工厂方法模式和简单工厂的区别:简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具

2022-04-22 22:29:14 255

原创 unity藤曼特效

藤曼特效,简单的shader

2022-02-11 00:15:31 1797

原创 Shader代码入门学习笔记

1.2学习记录

2022-01-10 00:10:30 2465

原创 OpenGL学习之路之光照贴图

title: OpenGL学习之路之光照贴图date: 2021-12-7 19:30:45categories:- 计算机图形学tags:- OpenGLmp3: /music/jucilang.mp3cover: /img/convert-excel-to-markdown-table.jpeg

2021-12-07 20:50:09 139

原创 OpenGL学习之路之三角形绘制

先从几何阶段取出顶点转换成vbo转到vao如果有重复顶点可以转到EBoopenGL是一个状态机只能运行context的状态只能放一个vao状态机中必须要一个vaoVAO unsigned int VAO; glGenVertexArrays(1, &VAO); glBindVertexArray(VAO);//注意VBO unsigned int VBO; glGenBuffers(1, &VBO);//一个缓冲ID生成一个VBO对象建立顶点缓冲对象 glBind

2021-02-20 07:23:36 150

原创 OpenGL学习之路之窗口的建立

环境配置先建立一个空项目,建立一个c++文件,然后设置解决方案的属性设置三个位置第一是c/c++\常规\附加包含目录加入include的文件夹,glfw和glew都需要,第二,链接器\常规\附加库目录,lib文件夹,第三,链接器\输入\附加依赖库,opengl32.lib glfw3.lib glew32s.lib创建自己的引擎将文件修改为main作为主函数#define GLEW_STATIC这个注意小心拼写错误,本人搞了几小时初始化声明版本号glfwInit(); glfwWind

2021-02-13 02:31:35 136 6

原创 unity中Json序列化处理

Resources在Asset下创建Resources文件夹,注文件夹名称不能打错,如果不用此方法也可以用io流完成Json的读取LoadLoad(“path”)path表示Resources文件夹下路径,用于加载在Resources文件夹下物件和文字文件UnloadUnusedAssets用于卸载没有用的资源,减少内存压力,注像物件生成后如果马上进行UnloadUnusedAssets就会造成找不到物件贴图LoadAll用于加载文件夹内所有的物件LoadAsyncLoadAsync(“p

2021-02-12 01:05:40 755

原创 unity关于后处理环境的配置

在开始前需要加postprocesslayer反射真实性ScreenSpancePeflection需要将相机调为延时渲染墙脚没有阴影——AmbientOccasion个人尝试Mode MultiScale 参考intensity 0.3Thickness Modifiler 5Mode Scalable参考intensity 0.3radius 5quality 中等教学Mode MultiScale 参考intensity 0.6Thickness Modifiler 1

2020-10-30 16:14:25 221

原创 c++容器相关

顺序容器所有的vector都适用于dequelist特有的成员函数push_front 在前面插入pop_front删除前面的元素sort 排序(list不支持stl的算法sort)remove 删除和指定值相同的所有元素unique 删除所有和前一个元素相同的元素(做到不重复需要unique之前需要sort)merge合并两个链表,并清空被合并的那个reverse 颠倒链表...

2020-03-03 23:08:40 105

原创 小白c++stl的学习过程

容器:可容纳各种数据类型的通用数据结构,是类模板迭代器:可用于依次存取容器中的元素,类似于指针算法:用来操作容器中的元素的函数模板容器1.顺序容器 vector动态数组 ,deque双向队列,list双向链表2.关联容器set multset map multmap3.容器适配器stack queue priority_queuevector动态数组头文件:常数时间尾部性能最佳...

2020-02-28 00:16:45 106

原创 string类学习笔记

string的复制string s1("Hello"); cout <<s1.length()<<endl;//string类型长度输出 cout<<s1<<endl; string s2(8,'x');//s2是8个x cout<<s2<<endl; string month="ma...

2020-02-27 17:32:15 160

原创 easyx的背景音乐处理

第一步,引用API中的一些功能需要头文件#pragma comment(lib,"Winmm.lib")需要调用一些库第二步,就可以调用函数mciSendString();mciSendStringW( LPCWSTR lpstrCommand,//这里输入处理文件的命令 LPWSTR lpstrReturnString,//没有的话就填NULL UINT ...

2020-02-05 07:06:12 6261 6

原创 easyx一些函数,绘图方面

先安装easyx插件,因为需要一些简单的图形库kbhit() 检测是否键盘输入//vs _kbhit()getch() //vs _getch()MOUSEMSG m;//声明鼠标消息if(MouseHit())m=GetMouseMsg();//获取鼠标消息m.uMsg//鼠标动作如下WM_MOUSEMOVE//鼠标移动时WM_LBUTTONDOWN//鼠标左键...

2020-01-28 21:36:59 939

原创 git的使用干货,还有个人的疑问

一些常用的git命令在这里插入代码片git config --globel user.name ''git config --globel user.email ''//初始化git init 建立.git建立仓库mkdir xxx 创建xxx文件夹cd xxx 进入xxx文件夹pwd 显示当前位置git status 显示当前状态touch xxx创建xx文件rm ...

2020-01-21 17:52:25 105

空空如也

空空如也

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

TA关注的人

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