自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LearnOpenGL(八):自定义贴图类

在图形学中,为了创建更加美丽逼真的画面,贴图给予了创作者无限的可能。贴图是一张图片,它存储了一些颜色信息,通过纹理映射将这张图贴在模型上,从而给模型上色。而要加载图片,就需要我们自己去创建,使用stb_image.h头文件,它支持了许多图片格式的加载。

2025-03-28 17:15:12 217

原创 LearnOpenGL(七):编写自定义的Shader类

在前面的文章中我们已经了解了Shader在OpenGL中的使用流程,但是这样每一次都要链接与创建实在是很不方便。

2025-03-28 11:42:22 70

原创 LearnOpenGL(六):采用不同的片元shader渲染两个三角形

和前面使用不同的VBO和VAO缓存顶点数据一样,不同的片元Shader我们需要创建多个片元ShaderID,shader进程,并且对进程进行连接。

2025-03-27 17:58:59 48

原创 LearnOpenGL(五):采用不同的VBO和VAO绘制两个三角形

不同于使用一个VBO对象和VAO对象,我们需要定义两个,可是使用数组来定义id。

2025-03-27 17:35:12 106

原创 LearnOpenGL(四):使用元素缓冲对象绘制矩形

在前面几节我们已经能够绘制出一个简单的三角形,但在图像中,或者说是3D世界,一个模型它一定不单单只有3个顶点,如是我们绘制一个矩形,我们知道矩形需要四个顶点,但对于计算机来说,特别是OpernGL,它只能绘制三角,我们也知道,一个矩形可以由两个三角形组成,那么我们就需要6个顶点来确定两个三角形,而这六个顶点中,必定是由重复的数据。

2025-03-27 17:18:07 183

原创 LearnOpenGL(三):绘制三角形

LearnOpenGL(三):绘制三角形。

2025-03-27 16:14:46 150

原创 LearnOpenGL(二):按键输入

这一块比较简单,就如同游戏引擎对用户按键输入判定一样,使用GLFW我们也需要对按键事件获取并且进行判定,比如以下的代码功能为:当用户按下Esc键,关闭窗口。有了函数,就需要在渲染循环中去调用它。

2025-03-27 15:12:15 81

原创 LearnOpenGL(一):创建第一个窗口

VSCODE OpenGL 环境搭建.md在调试程序的时候,新建终端输入以下命令进行调试,不然使用F5操作会使main.exe被删除(具体原因不知)

2025-03-27 12:56:07 184

原创 Unity URP自定义Shader支持RenderLayer

当我们想用一个灯光只对特定的物体造成影响,而不对其余物体造成影响时,我们就需要设置相对应的LightLayer,但是这在URP12.0是存在的,在之后就不存在LightLayer这一功能,URP将其隐藏而改成了RenderLayer。官方Lit很好的处理了RenderLayer的适配,但是对于我们自定义的Shader效果,要使用RenderLayer就需要增加特定的功能。

2025-03-26 14:34:58 636

原创 Unity URP RenderTexture优化

RenderTexture,渲染纹理贴图,这是Unity一张显示相机渲染画面的贴图,使用它可以做到许多效果,比如车辆的后视镜,穿越门内的其余场景,UI界面单独渲染的模型界面等等。但是,当你在MemoryProfiler去查看内存的时候,有时候就会发现,这些RenderTexture占据了许多资源,大大占用了带宽,下面我将会在我遇到的问题中,来给予一些优化方向的建议。

2025-03-18 17:26:34 1032

原创 Unity URPShader:实现和PS一样的色相/饱和度调整参数效果

PS中的色相/饱和度调节界面可通过快捷键Ctrl+U快速打开,如下而饱和度和明度调整,PS中的处理并不像平常的单一图像处理,而是做了一些算法改变,接下来就是详细拆分这其中的原理。

2025-03-18 16:58:19 813

原创 Unity URP优化指南

优化在游戏制作上是重中之重,良好的优化能给游戏带来更好的体验,同样也能压榨更多性能来实现更多的效果。对于个人开发者来说,早期规划优化内容方案与期望优化问题,对后期工作都有很大帮助。但是,许许多多的游戏并不是一个人就能完成的,线上线下团队合作,由于团队成员的习惯,或者是团队成员对某一方面的不自知,某一些不良设计就会导致项目卡顿。而优化这些内容,将会是必要的。我将会以我所遇到的所有可以优化内容作为整理,并且附上一些优化建议(如有遗漏或者不正确之处,欢迎指正)。

2025-03-06 18:22:01 790

原创 Unity HDR颜色、基础颜色、强度、HDR面板Intensity之间的相互转换

HDR(高动态范围成像),相比LDR(低动态范围成像)能够带来更好的画面效果,随着移动设备性能的提升,越来越多的设备都支持HDR模式。而在Unity中,如何在基础颜色以及HDR颜色之间相互转换,是这篇文章的主题。

2025-03-06 17:09:34 539

原创 ShaderToy:SDFSphere

首先先看效果这一次的sdf球进行了抗锯齿,也加入了环境光,是不是颜色更加丰富立体了?关于RayMarching就不用多说了,在我的上篇文章有最纯的RayMarching代码这一次的效果主要是加入了抗锯齿和环境光,也进行了颜色空间的转换。

2025-01-17 20:15:25 354

原创 Unity新版InputSystem短按与长按,改键的实现

新版inputsystem是Unity推出的一种新的输入方式,它将设备与行为进行分离,通过配置文件,更利于用户直接进行按键修改与配置。这一部分主要是对InputSystem的简单介绍,我会通过代码形式来进行按键逻辑的编写,因为代码更加灵活。当然,如果是不复杂的项目,使用InputSystem内置的组件进行配置也是ok的,但这里就不会去介绍这一部分的操作了。就简单放张图吧稍微解释一下,这里呢我创建了一个名为Game的ActionMap,其中有一个叫做Tap的Action,它的行为类型是按钮。Value。

2025-01-17 19:42:11 2586

原创 Unity自定义Inspector属性名特性以及特性自定义布局问题

在Unity中编辑属性的适合,一般都是显示属性的英文,如果想要改成中文的话又不能改变属性名,那么自定义特性是很好的选择。

2024-12-26 17:35:38 429

原创 Unity URP多光源支持,多光源阴影投射,多光源阴影接收(优化版)

这一块是我们的核心功能,我会给出多光源光照、多光源阴影接收的模板代码并解释,你可以根据需求任意修改它们。SubShaderLOD 300PassZWrite On//额外光照的颜色,需要进行记录顶点光照的#ifdef _RECEIVESHADOWS_ON //开启接收光照开关需要的变量//主光的阴影//如果是逐像素光源,需要一个shadowMask#endif#endif。

2024-12-26 17:25:19 1112

原创 ShaderToy:RayMarching球

【代码】ShaderToy:RayMarching球。

2024-11-14 13:08:54 171

原创 Unity URP自定义后处理系统

在游戏制作过程中,后处理效果的增加能够给我们的画面带来许多眼前一亮的效果,画面的美化。而在URP中不同于BuildIn管线,URP需要自定义RenderFeature来实现一个个后处理,但是能不能像URP内置的后处理一样只有一个RenderPass呢?如下图:答案当然是肯定的!

2024-11-14 11:21:17 1873

原创 Shadertoy到Unity的一些转换

mod()->

2024-10-21 13:08:27 178

原创 UnityURP云层效果

先看效果:原理很简单,就是一个面片做顶点偏移。

2024-10-16 13:51:40 597

原创 Unity 从BuildIn升级到URP以及常用的效果

比如 fixed4 (finalColor,1)改成float4 (finalColor,1)

2024-10-16 13:29:15 1394

原创 Unity URP APK打包物体不渲染问题

网上对于shader_feature打包问题有比较多的内容了,就不详细说了,解决方法就是ShaderVariantCollection来收集变体,然后收集场景中所以shader变体,然后在GraphicSetting种PreLoad这个ShaderVariantCollection就可了。但在一次打包APK时安装,打开程序竟然发现本应该生成的物体都不渲染了,但是在Debug的输出UI上确确实实生成了固定数量的物体,而它们的MeshRender却没有任何渲染,但在编辑器确实可以正常渲染的。

2024-09-18 16:24:44 679

原创 UnityShader自定义属性特性

构想:一个特性Group,在Shader属性前添加时,作为折叠栏功能,如[Group]_group1表示一个折叠栏,如[Group(_MainTex,_IntTest)]_group2表示group2折叠栏下包含属性_MainTex与_IntTest属性的绘制或者不绘制。如图:效果:实现:在我们的构想中,Group可以包含子属性,也可以不包含,包含的子属性的数量不定,所以构建构造函数:启用keys数组用来存放传递的命名,这些命名作为我们用来分组和查询属性的必要条件。

2024-09-05 18:44:42 1498

原创 UnityShaderGraph 卡通水面效果

Unity风格化卡通水体效果

2024-09-05 18:03:22 577

原创 Unity URP支持多光源阴影

上文只是简单的实现了光照照亮效果,但是并没有实现多光源的阴影投射功能,接下来就是对此功能的整合。

2024-09-02 16:29:04 960 1

原创 Unity URPShader支持多光源处理

ADDITIONAL_LIGHTS_VERTEX 是在顶点Shader中处理平行光额外增加的光源,_ADDITIONAL_LIGHTS是在片元Shader中处理平行光额外增加的光源。也就是启用了_ADDITIONAL_LIGHTS_VERTEX宏。也就是启用了_ADDITIONAL_LIGHTS宏。

2024-08-29 16:40:20 696

原创 UnityShaderUI编辑器扩展

当我们在制作通用Shader的时候,避免不了许多参数混杂在一起,尽管在材质面板已经使用过Header标签来区分,但是较长的Shader参数就会导致冗余,功能块不够简约明了,如图:对于Shader制作者来说,Shader的所有功能都了解,但是对于项目的同组伙伴来说,我们还需要教他们这些参数的作用,那些模块是干什么的,很不友好!

2024-07-29 14:47:54 638

原创 UnityShader(十九) AlphaBlend

Blend SrcFactor DstFactor(开启混合,并设置混合因子。源颜色【该片元产生的颜色】会乘以SrcFactor,而目标颜色【已经存在于颜色缓存中的颜色】会乘以DstFactor,最后两者相加)而对于第一个Pass是开启了深度写入和颜色遮罩进行不输出颜色操作,这样可以解决复杂模型间存在深度的问题效果。当设置为0时意味着该Pass不写入任何颜色通道,即不会输出任何颜色。ColorMask RGB|A|0|任何其它的R、G、B。

2024-03-19 10:30:00 442

原创 UnityShader(十八) 透明度测试

其中核心的一块是clip(float x)函数,当x的值小于0时这块偏远会被舍弃,根据一个阈值参数我们进行调控AlphaTest的阈值。(贴图需要有透明度通道)从效果我们也可以看到,AlphaTest的透明效果很极端,要么完全不透明,要么完全透明。

2024-03-19 08:00:00 231

原创 UnityShader(十七)透明效果

在实时渲染中实现透明效果,通常会在渲染模型时控制它的透明通道(Alpha Channel)。当开启透明混合后,一个物体被渲染到屏幕上时每个片元除了颜色值和深度值外,还有一个透明值,1表示像素完全不透明,0表示完全透明。

2024-03-18 14:22:33 1044

原创 Unity判断某个材质是否拥有某张贴图

然后使用下面的方法 ,先获得材质下的所有保存的贴图属性,路径我们可以在Debug面板下Copy,然后再遍历这些属性查找它们是否和我们的贴图一致即可。当然,要判断某个材质是否有某张贴图,我们首先需要获得贴图,可以使用以下函数来获得贴图在资源路径下的路径。在Unity中,一个材质是唯一的,也就是实例,当我们打开Debug面板时,就可以看清楚材质的具体信息。其中SvaedProperties就是材质保存的属性,当然贴图也是属性,也就是TexEnvs下的属性。

2024-03-18 09:00:00 525

原创 UnityShader(十六)凹凸映射

纹理的一种常见应用就是凹凸映射(bump mapping)。凹凸映射目的就是用一张纹理图来修改模型表面的法线,让模型看起来更加细节,这种方法不会改变模型原本的顶点位置(也就是不会修改模型的形状),只是让模型看起来凹凸不平而已。

2024-03-17 20:08:45 1401

原创 UnityShader:IBL

【代码】UnityShader:IBL。

2024-03-17 17:20:47 379

原创 UnityShader玉石效果

【代码】UnityShader玉石效果。

2024-02-14 17:43:17 523

原创 UnityShader:直接光照效果/点光/平行光阴影

【代码】UnityShader:直接光照效果/点光/平行光阴影。

2024-02-08 17:28:17 493

原创 UnityShader 边缘流光效果

【代码】UnityShader 边缘流光效果。

2024-02-05 18:22:14 745

原创 UnityShader(十五)纹理的属性

它们得到的图片滤波效果依次提升,但需要消耗的性能也依次增大。纹理滤波会影响放大或者缩小纹理时得到的图像的质量。其中有一个WrapMode属性,这个是对于超过纹理边界时使用的模式,默认时Repeat。Filter Mode支持三种模式:Point,Bilinear,Trilinear。对于Filter Mode属性,决定了当纹理变换产生拉伸时将采用何种滤波模式。在Unity中导入一些纹理资源后可以在它的材质面板上调整其属性。在这个面板上有许多可以调整的属性,如纹理类型,纹理形状等。

2024-02-04 17:01:17 460

原创 UnityShader 流光效果

【代码】UnityShader 流光效果。

2024-02-04 16:40:08 469

原创 UnityShader 边缘光效果

【代码】UnityShader 边缘光效果。

2024-02-04 14:49:22 393

MMDCameraload

MMDCameraload,UnityMMD镜头动画转动画片段插件

2024-10-18

MMD4UnityTools

MMD4UnityTools(将vmd格式的数据文件在Unity中转换成Unity动画系统适用的动画文件)工具插件

2024-10-18

UnityURP快速创建Shader模板

本包为UnityURPShader模板工具,此工具制作的目的是方便操作UnityURP管线的Shader资源,并且便利Shader制作者快速生成UnityURPShader模板。同时本工具支持创建URPShader,URPHLSL文件,快速删除Asset文件下Shader资源,同时本工具也适合学习Unity编辑器的小伙伴学习。本工具为版本v1.0,后续将继续更新工具功能,完善各种文件创建并支持自定义模板,想了解后续制作进度请关注我,感谢支持

2024-10-16

Unity顶点色编辑器

本资源由本人独立制作,功能全面,是Unity编辑器快速编辑顶点色的强大工具,具备说明书功能,快捷键功能,常用偏好设置,顶点色预览与绘制,适合顶点色快速编辑使用,不用切换工具,同样代码全暴露,代码简洁,功能清晰,适合学习Unity编辑器进阶的小伙伴,当前最新版本v.1.4,优化用户使用

2024-09-05

Unity翻书效果小插件,BaseBookQuickMaker

适用人群:Unity编辑器初学者,Unity初学者,翻书效果需求,懒人插件。 本插件为自制插件,持续更新,可用于学习,其中代码结构清晰,逻辑分明,是Unity编辑器扩展初学者的学习利器,代码之间耦合性极低,初学者可以参考设计代码,设计功能实现。 此资源为本插件第三版本,日后更具需求继续扩展和完善。

2023-09-10

Unity编辑器拓展:快速创建书本插件

本插件为BaseBookQuickMaker_v1.0更新版BaseBookQuick_v1.2。 此插件可以快速创建依赖于Unity UI系统的书本,根据插件使用可以创建基本翻书效果与内容配置。 此插件适合Unity编辑器拓展学习新手和不会代码的Unity使用者,其中代码结构清晰,容易理解学习,能够快速引领新手入门编辑器拓展,快速开发其它自己项目的需求编辑器。 此插件持续更新中,后续会继续完善内容,详情内容可以到连接https://blog.csdn.net/m0_68267247/article/details/132600456 查看。

2023-08-31

UnityBook快速生成器

内容概要:BaseBookQuickMaker-v1.0,自创快速生成Unity翻书效果的小插件,持续更新中扩展功能,具有思路清晰的代码结构。 适合人群:不愿重新创建和反复构建Unity翻书效果制作,Unity拓展编辑器学习新手 能学到什么:主要是Unity编辑器拓展的学习,学习一些常用方法和思路,如何美化编辑器和设计编辑器。

2023-08-27

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

TA关注的人

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