自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Unity Shader URP】高斯模糊后处理 URP 版实战教程

高斯模糊后处理常用在暂停菜单背景、受击眩晕、镜头转场、景深替代效果里。本文不再用 Built-in 管线的 GrabPass,而是用 URP 的 ScriptableRendererFeature + ScriptableRenderPass 把当前相机颜色复制到临时 RT,再执行横向 / 纵向双 Pass 模糊。

2026-09-06 21:46:35 351 1

原创 【Unity UGUI】背包 / 道具列表(Inventory Grid)

背包列表的核心不是"把图标摆成九宫格",而是把 数据、格子 UI、滚动区域、拖拽排序 四件事拆开。这样后面要做装备栏、商城列表、仓库、技能列表,本质上都能复用同一套结构。

2026-06-28 16:42:29 329

原创 【Unity UGUI】血条 / 进度条(HP Bar)

血条几乎是每个游戏都绕不开的 UI:显示当前生命值,受击时平滑掉血,低血量时变色预警,还要能跟着角色头顶跑。这篇把"两层延迟掉血血条 + 跟随世界物体 + 血量变色"一次做完,给一份可直接挂上去用的脚本。

2026-06-10 13:20:10 314

原创 【Unity Shader URP】瀑布效果 实战教程

瀑布和水面(文章 32)是一对:水面管"平躺的水",瀑布管"竖着流下来的水"。本文不碰 Gerstner 波那套顶点起伏,瀑布的重点全在片元——一张噪声图同时驱动水流条纹、UV 扭曲、泡沫水线,再用 UV 的上下边缘做淡入淡出,最后配一组粒子做顶部水雾和底部水花,一条能直接挂崖壁上的瀑布就成了。

2026-06-03 16:51:44 594

原创 【Unity Shader URP】水面效果 实战教程

水面是游戏里少数"做一次,处处能用"的效果:顶点 Gerstner 波撑起起伏感,切线空间噪声法线撑起细碎波纹,_CameraOpaqueTexture 折射撑起"水下看得见底",再用深度差在岸边刷一圈泡沫,就是一整套可直接落地的水面方案。

2026-05-27 12:16:30 563

原创 【Unity Shader URP】视差贴图 实战教程

视差贴图(Parallax Mapping)是法线贴图的"加强版":法线只骗光照,视差还会骗"形状"。视角一斜,墙面砖缝、地砖纹路立刻有了真实的凹凸深度感,常用于砖墙、地砖、岩石、皮革等需要"伪 3D"细节的表面。

2026-05-10 19:17:57 614

原创 【Unity Shader URP】模板遮罩 / 传送门 实战教程

传送门、X 光透视窗、镜中世界、密室入口——这些"开个洞看见另一个空间"的效果,背后都是同一套技术:模板缓冲(Stencil Buffer)。它能让 GPU 在像素级别精确决定"哪里能画、哪里不能画",比 clip 更可控、比 Mask 更高效。

2026-04-27 23:53:53 574

原创 【Unity Shader URP】屏幕空间扭曲后处理(Screen Space Distortion)实战教程

屏幕空间扭曲(Screen Space Distortion)是一种全屏后处理效果:用噪声图偏移屏幕 UV,让整个画面产生热浪、冲击波、迷幻折射等视觉扭曲。与 UV 扭曲 Shader 不同,它作用于整个屏幕,不依赖具体物体的 UV,适合做爆炸冲击波、传送门边缘、中毒/眩晕状态等全屏特效。

2026-04-24 17:53:13 704

原创 【UGUI】自定义 ListView 架构:设计、原理与可扩展性

本项目在 Unity `ScrollRect` 之上实现了一套泛型双层抽象:`ListView<TKey, TItem>` + `ListViewItem<TKey>`。它为任何需要以下能力的滚动列表提供可复用的基础设施:

2026-04-23 15:59:51 471

原创 【Unity Shader URP】平面反射(Planar Reflection)实战教程

平面反射(Planar Reflection)是让地面、水面、镜面产生实时倒影的经典技术:用一个镜像摄像机从反射角度渲染场景,把结果投影到反射平面上。效果真实、原理直观,是中级 Shader 的标志性练习。

2026-04-20 12:06:10 693

原创 【Unity UGUI】ScrollRect 与 Scrollbar 深度用法

ScrollRect 是 UGUI 中最核心的滚动容器:背包列表、聊天记录、设置面板、排行榜——几乎所有需要滚动的 UI 都靠它。配合 Scrollbar 做滚动条指示,再加上 Layout 组件自动排列子元素,就是一套完整的滚动列表方案。但嵌套滚动冲突、Layout 联动陷阱、弹性回弹自定义这些坑,不提前了解会浪费大量调试时间。

2026-04-19 14:24:33 1066

原创 【Unity UGUI】Toggle / ToggleGroup 与 Dropdown

Toggle 和 Dropdown 是 UGUI 中最常用的选择类组件:Toggle 做开关/单选/多选,Dropdown 做下拉列表。看似简单,但 ToggleGroup 的互斥逻辑、Dropdown 的动态填充、自定义样式这些细节,不搞清楚就容易踩坑。

2026-04-19 00:51:18 509

原创 【Unity Shader URP】简易卡通着色(Simple Toon)实战教程

简易卡通着色(Toon / Cel Shading)是非真实感渲染(NPR)的入门效果:用 `step` 把连续光照硬切成 2-3 个色阶,再加一个背面扩张的描边 Pass,就能得到经典的手绘动画/赛璐珞风格。《塞尔达:旷野之息》《罪恶装备》《原神》的渲染都以此为基础。

2026-04-17 21:45:45 942

原创 【Unity Shader URP】Matcap 材质捕捉实战教程

Matcap(Material Capture,材质捕捉)是一种用一张球形光照贴图伪造任意材质效果的技巧:金属高光、玉石通透、卡通光泽、X 光效果——换张贴图就换一种材质,不需要真正的光照计算。原理极简、性能极低、效果极好,是角色展示、雕刻预览、风格化渲染的利器。

2026-04-17 00:34:32 735

原创 【Unity Shader URP】顶点波浪动画(Vertex Wave)实战教程

顶点波浪动画是最直观的 Shader 动态效果之一:在顶点着色器里用数学波函数偏移顶点位置,让平面网格变成起伏的水面、飘动的旗帜、摇摆的植物。不需要骨骼动画、不需要物理模拟,一个数学函数就能让静态模型动起来。

2026-04-15 21:33:45 661

原创 【Unity Shader URP】色带渐变着色(Ramp Shading)实战教程

色带渐变着色(Ramp Shading)是最灵活的非真实感光照技巧之一:把 NdotL 当"索引",用一张 1D 渐变贴图查表,让光影过渡完全由美术控制。卡通赛璐珞硬切、冷暖色调渐变、金属质感色带——换张贴图就换一种风格,代码不用动。

2026-04-14 21:59:21 590

原创 【Unity UGUI】InputField 输入框全解

InputField 是 UGUI 的文本输入组件,覆盖登录注册、聊天输入、搜索栏、数值编辑等场景。看似简单,但移动端键盘适配、输入校验、TMP 版差异这些坑,踩一次就够喝一壶。

2026-04-13 23:59:22 696

原创 【Unity Shader URP】全息扫描线(Hologram Scanline)源码+脚本控制

全息扫描线是科幻游戏/UI 中的经典视觉效果:半透明的模型表面叠加水平滚动的扫描亮线,配合菲涅尔边缘光,营造出全息投影的未来感。常用于全息通讯、敌人扫描、科幻 UI 面板等场景。

2026-04-10 17:27:01 534

原创 【Unity Shader URP】序列帧动画(Sprite Sheet)实战教程

序列帧动画是特效制作的基本功:把一组连续帧画面排列在一张贴图上,Shader 按时间依次采样每一帧,实现火焰、爆炸、烟雾、魔法阵等循环动画。不需要骨骼、不需要粒子系统,一张图 + 一个 Shader 就能跑。

2026-04-09 16:40:53 672

原创 【Unity UGUI】细节篇:你一定踩过的那些坑

上一篇讲了 UGUI 的设计动机和三大核心(Canvas、RectTransform、EventSystem)。知道"是什么"之后,接下来最重要的事是知道"哪里会出事"。这篇覆盖 UGUI 开发中最高频的六个踩坑点。

2026-04-08 21:26:56 493

原创 【Unity UGUI】总领篇:3D 引擎为什么需要一套 UI 系统

Unity 是一个 3D 引擎——场景里有 Camera、有 MeshRenderer、有 Collider,什么东西都能渲染、都能点击。那为什么 UI 不直接拿一个 Quad 贴张图、挂个 BoxCollider 就完事?为什么要单独搞出 Canvas、RectTransform、EventSystem 这一整套东西?这篇文章就从 3D 渲染管线出发,先讲清楚"为什么不能直接用 3D 那套做 UI",再看 UGUI 是怎么解决这些问题的,最后把核心组件过一遍,给后续的实战文章打底。

2026-04-08 06:00:00 401

原创 【Unity Shader URP】菲涅尔边缘光源码(Fresnel Rim)含两种变体

本文基于 URP 管线,从零实现菲涅尔边缘光(Fresnel Rim)效果。核心原理是利用表面法线与视线方向的点积计算菲涅尔因子 ,边缘处视线掠射角越大,发光越强。文章提供完整可编译的 Shader 代码,支持 HDR发光色、幂次可调的边缘宽度、独立强度控制和 GPU Instancing。同时包含 Bloom 后处理配置步骤、脉冲发光脚本、三种常用变体(双色渐变、内置动画、法线贴图增强),以及常见问题排查和性能优化建议。适合 Shader初学者快速上手角色高亮、护盾轮廓等游戏特效。

2026-04-07 00:18:07 1184

原创 【Unity Shader】 溶解效果实战教程

本文实现的溶解效果通过噪声纹理灰度值与阈值比较,clip 丢弃低于阈值的像素,边缘处用 lerp 混合发光色带。支持方向溶解、双色边缘等变体,配合 HDR + Bloom 实现燃烧感。

2026-04-03 20:25:42 668

原创 【unity Shader】图像采样、频域与抗锯齿:从卷积定理到现代 AA/超分的统一框架

本文从卷积定理出发,阐述了采样、混叠与抗锯齿的内在联系。核心观点是:空间域卷积对应频域乘法,采样不足会导致频谱重叠(混叠),而抗锯齿的本质是通过限带和重建来解决这一问题。文章系统性地分析了均值滤波的低通特性、采样在频域的表现形式、混叠的产生机制,并梳理了MSAA、FXAA、TAA等抗锯齿技术的原理与权衡。最终提出统一认知模型:锯齿等问题本质是采样与重建问题,而非简单的像素平滑问题。这一理解链路为图形学中的抗锯齿、缩放、超分辨率等技术提供了理论基础。

2026-03-31 09:56:12 695

原创 【Unity Shader】高级光照与阴影总结:渲染路径、多光源、透明阴影

本文从工程角度总结了URP光照与阴影的核心机制,重点解析了光照组成、渲染路径差异、多光源处理、阴影计算链路及透明阴影难题。文章指出URP光照包含直射光、间接光和自发光三部分,其中直射光涉及漫反射、镜面反射和阴影计算。在多光源处理上,URP会对光源进行筛选,仅将符合条件的光源纳入Shader计算。阴影系统基于Shadow Map技术,通过深度比较确定遮挡关系。特别强调了透明物体阴影实现的困难性,因其需要处理多层透光累积而传统Shadow Map仅记录单层深度。最后给出了自定义Shader的实现建议,包括基础光

2026-03-23 11:32:47 979

原创 【Unity Shader】究竟什么是光栅化(Rasterization)

本文从工程角度梳理了光栅化的核心概念与实现要点。光栅化本质是将连续几何图形转换为离散像素表示,可统一理解为对二维指示函数的采样过程。文章详细阐述了像素中心采样规则、边函数判定方法、Top-Left边界处理规则,以及Bounding Box和增量计算等性能优化手段。通过定义二维指示函数并采样,结合几何测试与边界规则,实现了从连续几何到离散像素的高效转换。最后指出光栅化是图形渲染管线的基础环节,为后续属性插值、深度测试等操作奠定了基础。

2026-03-19 01:26:37 990

原创 Unity Shader 最详细的正交矩阵和透视矩阵推导!

透视投影矩阵的推导关键在于理解其两步分解的逻辑:首先通过齐次坐标构造w'=z的关系,使齐次除法产生1/z的透视效果;然后将变换后的视锥体通过正交归一化映射到标准裁剪空间。这种分解将复杂的透视投影拆解为可解释的几何操作:M_persp→ortho负责生成透视关系和深度约束,M_ortho则完成范围标准化。核心思想是"先透视变换,后归一化处理",避免了将最终矩阵视为黑盒记忆,建立了可复用的理解框架。

2026-03-13 16:14:46 919 1

原创 Unity Shader 新手必看:数学与变换(向量、矩阵、MVP)——渲染管线的地基

摘要: 本文系统讲解了图形学中的向量、矩阵与变换体系。核心内容包括向量的点积、叉积和归一化操作,矩阵在几何变换中的作用,以及齐次坐标对平移变换的兼容性。重点剖析了模型-视图-投影(MVP)变换链路:模型变换(局部→世界)、视图变换(世界→相机)、投影变换(相机→裁剪),并对比了正交投影与透视投影的特性差异。最后指出在Unity中的实践要点,包括空间转换API的使用和向量变换的注意事项。掌握这些基础概念是正确实现几何变换和编写着色器的前提条件。(148字)

2026-03-12 23:40:48 702

原创 Unity 渲染中的透明度总结(URP / Built-in 通用)

本文系统梳理了Unity渲染中透明相关的核心问题与解决方案。透明渲染的核心难点在于绘制顺序依赖性,透明混合需要后到前排序才能获得稳定效果。文章对比了不透明与透明渲染的关键差异,分析了深度缓冲与颜色缓冲的作用机制,区分了Alpha Test硬裁剪与Alpha Blend软混合的适用场景。针对工程痛点,提供了透明写深度的取舍策略、常用混合模式配方、渲染队列配置要点以及双面透明的优化方案。最后给出可直接复用的Shader模板和常见问题排查清单,为开发者提供了一套完整的透明渲染问题解决框架。

2026-03-04 22:13:03 1637

原创 Unity Shader 里的纹理总结(URP / Built-in 通用)

本文从工程角度总结了Unity Shader中纹理的核心概念与实用技巧。主要内容包括:纹理本质是GPU可采样的数据表;采样方式在URP和Built-in中的差异;Properties声明与_ST参数的应用;区分颜色纹理(sRGB On)与数据纹理(sRGB Off)的关键选择;常见纹理用途分类(颜色贴图、法线贴图、遮罩等);导入设置参数建议;以及高频错误清单(如sRGB误开导致的数据异常)。文章强调纹理不仅是图片,更是控制着色效果的数据源,正确理解其语义和设置参数对Shader开发至关重要。

2026-03-03 20:52:34 694

原创 Unity Shader 灯光讲透:Lambert、Half-Lambert、Phong、Blinn-Phong 一次搞清楚

本文深入解析Unity Shader中四种基础光照模型:Lambert(基础漫反射)、Half-Lambert(柔化阴影)、Phong(经典镜面高光)和Blinn-Phong(优化高光)。通过关键向量N(法线)、L(光源)、V(视角)、R(反射)和H(半程向量)的点积运算,这些模型分别控制物体的基本明暗、柔和阴影以及材质高光效果。文章对比了各模型的特点:Lambert提供物理准确的明暗,Half-Lambert适合风格化渲染,Phong和Blinn-Phong则处理高光反射。掌握这些核心算法(N·L、R·V

2026-02-28 21:13:56 1301

原创 Unity 渲染入门:灯光、阴影、前向渲染与延迟渲染(新手版)

本文用新手能理解的方式,把 Unity(尤其是 URP)里最常遇到的三件事串起来:灯光怎么让物体变“立体”、阴影到底算了什么、以及 前向/延迟渲染在“算光”这件事上有什么差别。

2026-02-12 19:42:43 772

原创 Unity Shader 代码如何调试:从“变量不可见”到“逐像素定位”的完整方法(含示例)

给出一套可落地的 Shader 调试方法,并用一个“坐标空间混用导致边缘光异常”的例子,演示如何一步步定位并修复。

2026-02-09 20:09:12 996

原创 Unity 常见角色 Shader Built-in

Shader 开发基础与特效实现 本教程系统介绍了Unity Shader开发的核心技术与常见特效实现方法。主要内容包括: Shader基础:详细解析Properties属性系统与变量类型对照,强调命名一致性的重要性 光照模型:讲解漫反射(Diffuse)原理与实现,包含兰伯特定律、光照方向计算和环境光处理 纹理映射:阐述UV坐标变换公式(Tiling/Offset)和纹理采样与光照的融合技巧 特效实现: 顶点动画:通过法线方向偏移实现模型形变 流光特效:基于顶点位置判断的区域着色方案 描边效果:双Pass

2026-01-22 20:51:26 1434

原创 Unity 屏幕模糊 Shader Built-in

屏幕模糊效果通过GrabPass抓取屏幕内容,进行多点采样和加权混合实现。核心原理包括:1)使用GrabPass获取屏幕渲染结果;2)计算正确的屏幕UV坐标;3)采用高斯权重对周围像素进行采样混合。提供两种实现方式:单Pass多方向采样(简单但性能低)和双Pass分离式高斯(性能更优)。给出了完整Shader模板,可应用于UI毛玻璃、暂停菜单、景深效果等场景,并附带了C#动态控制脚本和性能优化建议,如降低采样次数、控制模糊范围和使用降分辨率等技巧。

2026-01-21 23:52:09 627

原创 Unity Shader 新手必学之【空间变换】:从模型空间到屏幕空间

在 Unity 中,三维物体从模型空间到世界空间、观察空间到裁剪空间,最后到达屏幕空间,每一步都涉及坐标变换。这些变换通过矩阵操作完成,其中包括了平移、旋转、缩放等操作。理解这些空间变换的顺序和原理,对于开发者进行物体变换、渲染以及后期效果的处理至关重要。

2026-01-18 14:57:30 1167

原创 Unity Shader必须了解的数据知识:Transform Matrix 矩阵变换

Unity 的位移/旋转/缩放最终都会落到 **4×4 变换矩阵**上。使用**齐次坐标**把“平移”纳入矩阵乘法体系,形成统一的 `p' = M * p` 计算模型。理解平移/缩放/旋转矩阵的形态与**复合矩阵的顺序**(先做谁、后做谁)后,就能正确读懂 `localToWorldMatrix`、`worldToLocalMatrix`、`Matrix4x4.TRS` 以及着色器中的 `UNITY_MATRIX_MVP` 等常用矩阵。

2026-01-15 16:53:46 1232

原创 Unity Shader 概述 新手必看

Shader 是 GPU 渲染程序;Unity 通过 ShaderLab 组织 Shader 的 Properties/SubShader/Pass 与渲染状态,通过 HLSL 实现实际计算;Material 作为 Shader 的参数实例,被 Renderer 绑定到对象参与渲染。新手优先掌握这条链路与 ShaderLab 结构,再进入具体效果、后处理与性能优化。

2026-01-13 17:07:54 669

原创 Unity 新手学习 Shader路线(附:时间规划)

按“渲染流水线 → ShaderLab/HLSL → 数学/空间 → 纹理/UV → 光照/透明 → 屏幕空间后处理 → 优化/现代管线”的顺序学。每一阶段都产出一个能用的小 Shader,不靠背概念硬熬。

2026-01-11 00:31:48 1294

原创 【Unity Shader URP】Unlit Billboard(广告牌)Shader(Spherical / Cylindrical)

本文给出一个可直接使用的 Unity URP Unlit Billboard Shader,通过在顶点阶段重建面片的世界空间位置,让 Quad 始终朝向相机。Shader 提供两种模式:Spherical(完全跟随相机朝向,包含俯仰)与 Cylindrical(仅绕世界 Y 轴旋转,忽略俯仰,适合树/路牌/血条)。同时用 "DisableBatching"="True" 避免合批导致多个对象无法独立面向相机,并支持透明混合与基础 Tint 染色控制。

2026-01-10 01:22:09 341

空空如也

空空如也

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

TA关注的人

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