自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 资源 (8)
  • 收藏
  • 关注

原创 Unity Shader exp 函数的算法与渲染应用

本文深入探讨了指数函数在URP渲染管线中的数学本质与六大实战应用。首先解析了指数函数的数学特性(恒正性、导函数不变性等)及其物理意义,接着分析了GPU上exp指令的实现差异与性能优化建议。重点介绍了指数函数在六个渲染场景中的应用:1)基于物理的指数雾效;2)HDR色调映射的自然衰减;3)Bloom效果的指数模糊优化;4)菲涅尔效果的exp替代方案;5)SDF平滑融合的LogSumExp技巧;6)物理准确的光照衰减模型。文章提供了详细的shader代码实现,并总结出性能优化四原则:优先exp2、钳位输入、查表

2026-07-03 11:34:23 312

原创 在 URP 中驾驭 GPU 并行计算之力 Compute Shader

更优雅的做法是将 Compute Shader 封装成一个,作为 URP 的渲染 Pass 插入。= null)Compute Shader 是现代 Unity 图形开发中不可或缺的工具。它不是某种"优化技巧",而是一种架构选择——当你需要处理大规模数据并行计算时,把工作搬到 GPU 上往往是最优解。Compute Shader 的学习曲线确实比普通 Shader 稍陡——你需要理解线程模型、内存层级、同步机制。但一旦掌握,

2026-07-03 10:18:50 329

原创 Unity URP Exposure曝光原理与实战应用

文章摘要: 本文深入解析URP(通用渲染管线)中的曝光控制机制,从人眼仿生原理到逐帧自动适配技术。URP提供三种曝光模式(Fixed/Automatic/AutomaticHistogram),分别适用于固定光照、常规场景和高动态范围场景。重点剖析直方图模式的百分位阈值控制,以及人眼适应(EyeAdaptation)的生理模拟逻辑。结合Volume系统,给出室内外过渡、UI场景等实战配置方案,并分析ACES与Neutral色调映射的差异。最后通过性能数据对比,提出移动端优化建议,强调曝光是画面亮度的&quo

2026-07-03 10:05:43 329

原创 Unity URP 平面反射原理详解 Planar Reflection

平面反射(Planar Reflection)是计算机图形学中模拟光滑平面(如水面、镜面、抛光地面)反射效果的核心技术。它能够实时生成倒影,让场景更加真实和生动。反射矩阵计算:将世界空间中的物体沿反射平面进行镜像翻转反射相机:从镜像视角渲染场景到RenderTexture斜截视锥体:优化反射相机的裁剪平面,避免渲染不必要的区域Shader投影:将反射纹理正确投影到反射平面上平面反射广泛应用于水面效果、镜面反射、抛光地面、冰面反射等需要真实倒影的场景中。

2026-06-20 12:26:33 454

原创 Unity Shader 使用裁减空间结合Reversed Z 实现天空盒在NDC远裁面

因为非 Reversed:想要z/w ≈ 1→Reversed Z:想要z/w ≈ 0→为什么不直接写z = 0或z = w?因为w是动态变化的(每个顶点的w不一样),写固定值z=0会导致z/w = 0,在非 Reversed 模式下反而是最近处,完全反了。必须用w × factor才能正确映射到 NDC 深度。还有哪个环节想深入追问?比如「为什么 Reversed Z 能提高深度精度」或者「透视投影矩阵的 w 分量到底是怎么算出来的」?NDC 是顶点在经过透视除法之后、真正变成屏幕上像素之前的坐标空间。

2026-06-20 11:24:56 326

原创 Unity Shader / TA 能力分级清单(初/中/高),对标游戏行业岗位要求

额外补充,方便你长期规划:光线追踪、PBR体积渲染、流体仿真Shader、全局光照烘焙系统自研、引擎层级渲染改造、移动端极致功耗优化、影视级风格化渲染。配套能力:懂图形管线底层逻辑,能分析GPU瓶颈,编写Shader变体、SRP Batcher适配,能对接美术制定贴图规范、烘焙工作流。掌握贴图烘焙基础(法线、AO、曲率贴图)Alpha Test(镂空树叶)、Alpha Blend(玻璃、粒子)、Alpha Clip。2. 基础贴图应用:固有色、法线贴图、高光贴图、UV平移/缩放旋转动画。

2026-06-18 11:24:31 235

原创 Unity Shader 动态森林效果的幕后—— 地面球面化弧度

球面化弧度效果看似只改了一个 Y 偏移,但它给玩家带来的空间感提升是立竿见影的。配合风场摆动与 LOD 体系,一个看似简单的公式Δy ≈ d²/2R就能撑起整个动态森林的氛围基础。球面化在施加,先转世界坐标再偏移用smoothstep做近处零弯曲的衰减,避免脚下地面"融化"风场在施加,先风场再转世界坐标顶点色蒙版让美术精确控制哪些部位摆动、摆多少性能瓶颈在植被数量,不在球面化——优先优化 LOD 和 Instancing。

2026-06-17 13:04:00 453

原创 Unity Shader URP 什么是early-z 什么是hi-z 什么是层级深度缓冲

本文介绍了三种深度测试优化技术:Early-Z(硬件自动提前深度测试,避免无效像素着色,但discard会破坏优化)、Hi-Z(基于深度金字塔数据在光栅化前整体剔除三角形)和层级深度缓冲(Hi-Z的数据结构)。URP Shader实现时需保持ZWrite On、禁用discard并使用不透明队列以兼容所有优化。重点解析了Hi-Z的四步剔除逻辑:通过三角形包围盒匹配Mip层,对比最大深度值实现高效剔除。文末对比表显示,Hi-Z能节省光栅化+着色计算,内存增加约33%,在URP中默认开启(取决于GPU)。

2026-06-17 10:35:41 207

原创 Unity Shader 深入理解 深度冲突

《深度冲突(Z-Fighting)原理与URP解决方案》摘要:深度冲突(Z-Fighting)是3D渲染中因深度缓冲精度不足导致两个重叠面随机闪烁的现象。本文系统解析了其成因:1)透视投影下深度值的非线性分布,使远处精度骤降;2)24位深度缓冲在远距离时相邻深度值可能相差数米。针对URP项目提出五大解决方案:1)使用Offset命令施加微小深度偏移;2)调整近/远裁面比例优化精度分布;3)启用Reverse-Z技术提升远处精度;4)通过RenderQueue控制渲染顺序;5)在Shader中使用顶点/片元级

2026-06-17 10:23:58 368

原创 Unity CommandBuffer 如何告诉 GPU“这块内存不用读/不用写”

下面是一个完整的示例——一个模糊后处理 Pass,它使用DontCare// 后处理不需要 Depth// 非 MSAA// ═══ 水平模糊 ═══// 告诉 GPU:不要加载 tempRT 的旧内容(全屏 Quad 会覆盖它)tempRT,loadAction: RenderBufferLoadAction.DontCare, // ← 关键!storeAction: RenderBufferStoreAction.Store // 需要保留给下一步。

2026-06-17 10:08:08 354

原创 Unity Shader 深入理解 LinearEyeDepth 与 DepthTexture

从透视投影的数学本质出发,拆解深度缓冲区的非线性编码原理,掌握 LinearEyeDepth 的完整变换链路与实战技巧。

2026-06-15 10:16:59 431

原创 次世代角色 PBR 贴图制作 + Unity URP 接入 极简流程图

本文提供了次世代角色PBR贴图制作及Unity URP接入的完整流程指南。主要步骤包括:1)模型准备(低模拓扑、UV拆分、高模雕刻);2)烘焙贴图(法线/AO);3)SP材质绘制(BaseColor/Metallic/Roughness等);4)Unity导入设置(贴图类型、sRGB开关);5)URP材质配置。关键注意事项包括:法线贴图需翻转绿通道,非颜色贴图关闭sRGB,烘焙时设置足够Padding防接缝问题。附有高频问题速查表和极简口诀,方便开发者快速对照操作,实现高质量PBR角色效果。

2026-06-12 13:58:39 382

原创 Unity URP 法线贴图如何生成 用什么工具创建

文章摘要:法线贴图是一种通过编码表面法线方向来模拟凹凸细节的纹理技术,能在不增加模型面数的情况下提升视觉真实感。文章详解了切线空间原理,对比了Photoshop、Blender、Substance等主流生成工具的操作流程,并重点演示了URP管线中的实现方法,包括Shader编写、纹理导入设置和常见问题解决方案。最佳实践包括使用UnpackNormal解码、关闭sRGB、匹配Y轴方向等关键要点,为游戏开发提供了一套完整的法线贴图应用指南。

2026-06-12 12:55:08 351

原创 Unity URP 切线空间详解

本文深入解析了切线空间(Tangent Space)在3D图形渲染中的原理与应用。切线空间作为跟随模型表面的局部坐标系,其TBN矩阵由切线(Tangent)、副切线(Bitangent)和法线(Normal)构成,用于实现法线贴图的空间转换。文章详细介绍了Unity URP中TBN矩阵的构建方法、法线贴图的解码过程,并提供了完整的Shader实现代码示例。特别强调了关键注意事项:必须重新归一化插值后的法线、正确处理切线空间的手性问题(tangent.w符号)、正确设置纹理类型等最佳实践。通过理解切线空间原理

2026-06-11 19:07:37 320

原创 Unity URP 法线贴图色彩空间、编码与解码

文章摘要:本文系统解析了法线贴图(NormalMap)的工作原理与实现流程,从切线空间定义到纹理编码/解码的全过程。法线贴图通过RGB通道存储三维法线向量([-1,1]→[0,1]映射),使低模呈现高模细节。重点剖析了两种编码格式(RGB/DXT5nm)的差异,强调DXT5nm利用Alpha通道精度优势存储X分量,并通过单位向量约束推导Z值。文章详解Unity的UnpackNormal解码逻辑,指出sRGB伽马校正对法线数据的破坏性,给出纹理标记为NormalMap的关键设置。最后归纳了绿通道反转、Z值重建

2026-06-11 18:51:00 412

原创 Unity Shader 法线贴图的七种错误用法

本文总结了Unity URP管线中法线贴图的7个常见错误及修复方法:1)未设置NormalMap类型导致法线信息错误;2)在sRGB色彩空间中错误采样法线;3)忘记切线空间到世界空间的转换;4)未归一化法线向量;5)压缩格式Z分量重建错误;6)缩放法线强度后未重新归一化;7)混用Built-in和URP的UnpackNormal宏。文章详细分析了每个错误的症状和具体修复方案,并提供了错误速查表,帮助开发者快速排查问题。

2026-06-11 18:36:42 416

原创 Unity Shader URP:法线在空间变换上的特殊性

文章摘要:法线向量在渲染中具有特殊性,其变换规则与普通位置和方向向量不同。由于法线必须始终保持与表面垂直的几何约束,在非均匀缩放时需使用转置逆矩阵(Mᵀ)⁻¹进行变换。URP管线中,法线在多个坐标空间流转,处理NormalMap时需要构建切线空间TBN矩阵进行正确转换。文章详细解释了法线变换原理、URP内置函数使用方法,并提供了完整的Shader实现示例,强调要使用TransformObjectToWorldNormal()等封装函数而非手动矩阵运算。同时指出了常见错误及排查方法,帮助开发者正确处理法线以实

2026-06-11 16:25:48 303

原创 Unity Shader URP:法线如何进行光照计算

本文摘要: 文章详细解析了URP(Universal Render Pipeline)中法线在光照计算中的核心作用。法线是表面朝向的单位向量,通过与光线方向(L)和视线方向(V)的点乘运算决定光照强度。关键点包括:法线需从模型空间转换到世界空间(如使用TransformObjectToWorldNormal),漫反射通过dot(N,L)计算,高光则依赖半角向量H=normalize(L+V)。法线贴图通过切线空间(TBN矩阵)增强细节表现,但需注意缩放和UV问题。调试时可用法线可视化(normalWS*0.

2026-06-10 13:48:40 344

原创 Unity Shader URP:将法线可视化,便于调试

法线可视化:URP Shader调试指南 法线可视化通过将方向向量映射为RGB颜色(normal*0.5+0.5),帮助快速定位模型法线、法线贴图或TBN矩阵问题。核心方法包括: 空间选择:对象空间检查模型导入问题,世界空间验证光照效果,切线空间调试法线贴图。 关键代码: 顶点法线:使用TransformObjectToWorldNormal转换后输出颜色。 法线贴图:通过UnpackNormal解包并可视化切线空间向量。 世界空间法线:构造TBN矩阵转换后归一化输出。 常见问题:颜色突变(硬边/UV镜像)

2026-06-10 11:09:23 380

原创 Unity Shader URP 里法线到底要不要单位化/归一化?

摘要: 在Unity URP Shader中,法线参与光照计算前必须为单位向量,但无需频繁调用normalize()。关键是在法线长度可能被破坏的环节(如贴图解码、顶点插值、非均匀缩放变换、混合或手动修改后)进行归一化,确保最终用于光照计算的normalWS长度正确。点积等运算依赖单位向量,否则会导致光照异常。优化原则是:在数据流边界(如插值/变换后)归一化,避免同一路径重复操作。URP推荐集中处理法线逻辑(如封装BuildNormalWS函数),兼顾效果与性能。

2026-06-10 10:55:35 322

原创 Unity URP 中的法线生成完全指南

本文系统讲解了Unity URP中法线的底层原理与实践应用,涵盖五个关键方面:1. 法线基础概念与坐标空间(模型/世界/切线空间);2. Unity内置法线数据获取方式(NORMAL/TANGENT语义);3. 法线贴图解码与TBN矩阵变换(UnpackNormalScale);4. 三种程序化法线生成方法(屏幕偏导数/高度图差分/顶点位移重建);5. ShaderGraph可视化操作方法及常见问题排查。特别强调了URP特有的TransformObjectToWorldNormal变换、移动端优化策略,以及

2026-06-09 13:26:48 396

原创 Unity Shader URP 什么是法线

法线(Normal)是图形学中用于描述表面朝向的单位向量,直接影响光照计算效果。文章从法线的作用、坐标空间转换、法线贴图原理三方面展开分析:1)法线通过朗伯余弦定律决定漫反射亮度;2)非均匀缩放需使用转置逆矩阵进行法线变换;3)法线贴图通过切线空间存储细节法线,配合TBN矩阵转换至世界空间。文中提供了URP Shader的完整实现代码,包含顶点法线变换和法线贴图解压流程,并总结了Y轴翻转、非均匀缩放等5个常见问题及解决方法。法线与法线贴图的协同使用,构成了现代图形渲染中表面细节表现的基础。

2026-06-09 13:15:10 371

原创 Unity Shader Gamma和Linear颜色空间的原理和区别是什么

摘要:Gamma与Linear颜色空间之争源于存储优化与物理计算需求的平衡。Gamma空间(如sRGB)通过编码曲线(≈1/2.2)压缩数据,适配人眼对暗部敏感的特性并兼容传统显示器;而Linear空间则确保光照计算符合物理规律。Unity中,Linear工作流需将纹理解码为线性值运算,再编码输出,避免混合亮度的物理错误。关键实践包括:法线贴图禁用sRGB、UI独立渲染、光照贴图重烘焙,美术创作应在线性空间进行,最终存储为sRGB格式。(149字)

2026-06-04 12:54:09 281

原创 Unity Shader 贴图和采样的关系 如何保证贴图清晰

本文深入解析了游戏开发中纹理采样的核心原理与优化策略。首先介绍了四种采样方式:点采样(速度最快但马赛克明显)、双线性过滤(消除马赛克但会模糊)、三线性过滤(平滑Mipmap过渡)和各向异性过滤(最佳倾斜视角效果但性能消耗大)。接着提出三个关键优化点:使用2的幂次方纹理尺寸、选择合适的压缩格式(如DXT5/ASTC/ETC2)及合理配置Mipmap。最后给出决策矩阵,建议根据场景类型(如像素风用点采样、3D主场景用双线性、地面用各向异性)搭配不同设置,在画质与性能间取得平衡。

2026-06-04 12:49:05 252

原创 Unity Shader 什么是球谐光照 原理是什么

摘要: 球谐光照(SH光照)是Unity中用于高效编码低频环境光照的技术,通过9个浮点数近似描述物体周围360°的光照分布,适用于LightProbe和漫反射计算。其原理是将光照投影到球谐基函数上,运行时通过法线方向快速还原光照强度,实现低存储、高性能的平滑间接光照效果。Unity中,LightProbe存储球谐系数,Shader通过插值计算动态物体的漫反射光。但SH光照仅适用于低频场景,无法表现高频细节(如高光反射),需结合反射探针等方案。核心价值在于以低成本实现动态物体的全局光照模拟。

2026-06-04 12:43:20 311

原创 Unity Shader 切线空间数据是如何计算出来的

本文系统梳理了切线空间数据从建模软件生成到Unity导入再到Shader应用的完整流程。关键点包括:1. 建模阶段UV展开是切线计算的基础,但镜像UV会导致切线方向错乱;2. Unity通过MikkTSpace算法自动计算并存储切线(Tangent)和手性标志(w),确保法线贴图正确显示;3. Shader中利用tangent.w构建正确的TBN矩阵,将切线空间法线转换到世界空间。文章特别强调理解tangent.w对手性判断的重要性,这是正确处理镜像UV区域光照效果的关键。整个流程在Unity中自动化完成,

2026-06-04 12:39:38 396

原创 Unity Shader 法线贴图跟切线空间有什么关系

法线贴图与切线空间的关系可概括为存储空间与参考系的关系。法线贴图存储的是切线空间下的扰动法线方向,其RGB通道对应单位向量的(x,y,z)分量。切线空间由顶点的法线(Z轴)、切线(X轴)和副切线(Y轴)构成。相比模型空间法线贴图,切线空间法线贴图具有可复用性高、支持压缩和骨骼动画等优势。在Shader中,需通过TBN矩阵将切线空间法线转换到世界空间进行光照计算,关键步骤包括构建基向量、采样法线和解压转换。Unity提供了UnpackNormal()等工具函数简化处理流程,同时需注意镜像UV等特殊情况下的方向

2026-06-04 12:35:20 339

原创 Unity shader Unity Shader BRDF光照模型的构成项 每一项的含义是什么

Unity中的PBR BRDF光照模型由漫反射和镜面反射两部分组成,基于物理精确的Cook-Torrance模型。漫反射项使用兰伯特模型计算光线在材质内部的散射效果,镜面反射项则基于微表面理论,由法线分布函数(D项)、菲涅尔函数(F项)和几何函数(G项)共同决定高光特性。D项控制高光分布形状,F项处理反射强度随视角变化,G项修正微表面遮挡。Unity通过金属度工作流参数(如metallic、smoothness)动态调整材质表现,相比传统经验模型(如Phong),BRDF能更真实地模拟各种材质在不同光照条件

2026-06-04 12:27:35 209

原创 Unity Shader 冰面 Shader 制作原理与流程

这篇文章介绍了一种实时渲染冰面效果的Shader技术方案。该方案通过多层纹理视差采样、PBR光照和深度透明等技术组合,模拟冰的体积感、内部吸收、表面高光和边缘融合等特征。核心包括:基础色处理、10层视差采样模拟内部深度吸收、标准PBR表面处理、深度透明边缘融合等模块。文章详细解析了Shader的视觉特征拆分、渲染流程、参数调节方法,并强调这是一种在性能和效果间取得平衡的实时渲染方案,适用于手游等对性能要求较高的场景。全文从理论分析到实践指导,系统性地阐述了高质量冰面实时渲染的实现思路。

2026-05-31 12:42:52 420

原创 Unity URP下新技术MSSPT 取代SSR和光线追踪

MSSPT是一项创新的实时反射技术,旨在解决SSR无法反射屏幕外物体的痛点。它通过快速捕捉环境快照并进行路径追踪,在不依赖RTX硬件的情况下实现比SSR更精准的反射效果。目前该技术仍处于早期实验阶段,由独立开发者开发,尚未集成到Unity官方功能中,存在资源少、功能不完善等局限。虽然性能优于光线追踪,但仍需进一步优化。MSSPT为URP下的高质量反射提供了新思路,但现阶段生产环境建议优先采用成熟的反射方案。

2026-05-29 10:18:39 427

原创 Unity Shader Shiny SSRR

ShinySSRR是一种实时屏幕空间反射技术,通过光线步进(raymarching)在当前帧的Depth/Color缓冲中计算反射效果。该方案不依赖ReflectionProbe烘焙或镜面相机,而是直接利用屏幕上已渲染内容作为反射源。在URP管线中,通过RendererFeature实现,支持Forward和Deferred两种渲染模式:Deferred模式下自动读取G-Buffer数据,Forward模式则需要为反射物体添加Reflections组件。核心算法包括重建表面信息、计算反射方向、屏幕空间光线追

2026-05-26 22:05:03 487 1

原创 Unity Shader URP 使用模板测试 · 深度测试实现秘境空间效果

摘要 本文介绍了利用模板缓冲区(Stencil Buffer)实现"秘境空间"特效的技术方案。通过两个Shader配合完成:首先用遮罩Pass(Mask)在特定区域写入模板值,再用内容Pass(Content)只渲染模板值匹配的区域,从而实现在特定遮罩区域内显示隐藏空间的效果。文章详细讲解了原理、提供了URP下的完整Shader代码,并阐述了关键技术要点,包括渲染顺序控制、深度测试配置、多门隔离实现等常见问题的解决方案。该技术可广泛应用于传送门、X光透视等需要"开洞见空间&qu

2026-05-22 13:13:18 499

原创 Unity Shader Alpha测试 · 模板测试 · 深度测试

摘要:渲染管线中的Alpha测试、模板测试和深度测试是决定片元可见性的关键步骤,按顺序执行以优化性能。Alpha测试基于透明度值直接丢弃无效片元(如树叶镂空),模板测试利用整型缓冲区实现选择性渲染(如描边效果),深度测试通过Z-Buffer管理遮挡关系(如UI置顶)。三者协同工作可高效处理复杂渲染需求(如带描边的镂空树叶),其中Alpha测试优先执行以尽早剔除片元,模板测试提供灵活遮罩功能,深度测试确保正确的空间层次。实际应用中需根据硬件特性(如Early-Z优化)权衡测试顺序与配置。

2026-05-13 13:47:41 503

原创 Unity Shader 使用Matcap+Ramp 制作薄膜蝉翼甲壳虫

摘要:本文介绍了一种结合Matcap和Ramp贴图的Shader技术,用于模拟甲壳虫鞘翅或蝴蝶翅膀的虹彩效果。通过Matcap层实现基础光泽感,利用Ramp层根据视角变化产生色彩渐变。核心原理是将模型法线转换为视角空间UV采样Matcap贴图,同时通过NdotV值采样Ramp贴图模拟薄膜干涉效应。文章提供了完整的URP Shader代码,包含参数调节建议,并建议通过混合模式调整和NPR风格化进行效果扩展。该技术可实现随视角变化的流光溢彩效果,适用于各类虹彩材质表现。

2026-05-12 15:34:11 386

原创 Unity Shader 制作半透明物体 使用多Pass提前写入深度的方式 避免穿模

双Pass Shader是解决半透明物体自身穿模问题的“标准答案”。如果你的模型几何关系复杂,或因深度排序混乱导致视觉效果不佳,这个方法值得尝试。但如果对性能要求极高,或需要在移动设备上有良好表现,那么Alpha Test或调整模型使其结构更简单等方案可能更合适。

2026-05-10 18:43:06 322

原创 Unity SetPassCall和DrawCall的区别是什么

摘要:Unity中的SetPassCall和DrawCall是影响渲染性能的关键指标。SetPassCall指GPU渲染状态切换次数(如更换材质/Shader),DrawCall则是CPU向GPU发送的绘制指令次数。优化时需注意:SetPassCall过高应排序渲染队列,DrawCall过高需采用合批技术(静态/动态批处理、GPU实例化)。SRPBatcher能显著减少SetPassCall(每个ShaderPass仅一次),但对Shader有特殊要求(需使用CBUFFER声明属性)。通过FrameDebu

2026-05-09 19:08:13 452

原创 unity shader中 ddx ddy是什么

摘要:Unity Shader中的ddx/ddy函数用于计算屏幕空间偏导数,只能在片段着色器中使用。它们基于2×2像素块并行处理,分别计算X/Y轴方向的变化率。主要应用于纹理Mip等级计算、法线贴图转换、边缘检测和屏幕特效等。使用时需注意仅限片段着色器、分支敏感性和跨平台兼容性。这些函数通过离散像素差分实现类似连续函数偏导的效果,是高效处理屏幕空间变化的重要工具。

2026-05-09 11:32:53 423

原创 在unity shader中,通过pass产生阴影,通过主pass的光照 接收阴影!那么问题来了,是先产生阴影吗?还是先接收阴影,执行顺序是啥呢

摘要:Unity阴影渲染分为两个阶段:首先由ShadowCaster Pass从光源视角生成深度图(ShadowMap),记录场景中各点到光源的距离;然后在主Pass(如ForwardBase)渲染时,通过比较当前点深度与ShadowMap中的值来判断阴影区域。实现上需在Shader中添加ShadowCaster Pass投射阴影,并在主Pass使用Unity内置宏(SHADOW_COORDS等)接收阴影。整个过程遵循"先生成后使用"的原则,通过深度比较实现精确的阴影效果。

2026-05-06 13:18:05 218

原创 Unity GPU Shader 性能优化指南

本文深入探讨了GPU性能优化的关键策略,重点分析了Warp/Wavefront层面的优化技术。文章首先介绍了GPU性能瓶颈的四大类型(ALU、带宽、延迟和控制流瓶颈),并详细讲解了如何通过RenderDoc和SnapdragonProfiler进行性能分析。针对移动端优化,提出了使用half精度和指令合并(mad)的建议。特别强调了避免WarpDivergence的重要性,提供了分支合并和Predication等优化方法。此外,文章还探讨了Early-Z优化策略和Pre-ZPass技术,并警示了discar

2026-04-29 13:22:45 496

原创 Unity Shader 手写基于 PBR 的 URP Lit Shader 核心光照计算

本文深入解析了Cook-Torrance BRDF模型及其在Unity URP中的实现。重点内容包括:1)BRDF基础概念,包含漫反射和镜面反射两部分,需满足能量守恒原则;2)Cook-Torrance模型的三大核心函数:GGX法线分布函数(D)、Smith几何遮蔽函数(G)和Schlick菲涅尔方程(F);3)Unity URP中GetMainLight()获取主光源数据和UniversalFragmentPBR()进行完整PBR计算的调用方式;4)能量守恒原则在金属/非金属材质上的应用差异。文章最后提供

2026-04-29 13:16:51 500

Video_1785023842431_205.mp4

Video_1785023842431_205.mp4

2026-07-26

Unity3d游戏提取资源工具

Unity3d游戏提取资源工具

2016-04-22

Anima2D.unitypackage

Anima2D是最先进且完整的2D骨骼动画解决方案。使用Anima2D,你将可以在Unity中为你的游戏创建2D骨骼的人物和背景。 Anima2D扩展Unity通过,添加2D骨骼层级结构(2D Bone Hierarchies),一个强大的可完全控制网格生成的SpriteMesh编辑器 和2D反向力学(2D Inverse Kinematics)。Anima2D严格按工作流开发,且无缝集成到Unity。

2019-12-06

DOTween Pro 1.0.244.zip

Unity动画插件 DoTween最新版本 修正了在Unity2020中的一些Bug DOTweenPath drawing errors on Mac and when Unity's editor UI is upscaled DOTweenPath handles throwing an error on Unity 2020.2

2021-07-01

LitJson.zip

LitJson 轻量级的Json框架,能够在Unity中很好的解析出Json格式!!!!作者本人亲自测试没问题!!

2019-12-06

T4M Source Codes Edition v2.41

T4M Source Codes Edition v2.41 Unity3d刷地形必备

2014-01-03

RegexTester

RegexTester 正则表达式验证工具

2010-02-24

asp.net上传头像预览

asp.net上传头像预览,Flash技术很好用哦

2014-01-03

空空如也

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

TA关注的人

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