技术栈
shader
mxwin
2 天前
unity
·
游戏引擎
·
shader
Unity Custom Interpolators与半透明阴影的原理与实战
深入剖析 URP 渲染管线中两个容易被忽略的关键问题: 插值寄存器(Interpolator)的数量瓶颈与打包技巧,以及半透明阴影的底层限制与三种可用的 workaround。 本文包含完整的 HLSL 代码示例与原理示意图。
小贺儿开发
5 天前
unity
·
人机交互
·
shader
·
摄像头
·
面具
·
互动
·
脸部捕捉
【MediaPipe】Unity3D 虚拟面具互动演示
基于 Unity3D 与 MediaPipe Unity Plugin,利用普通摄像头实现人脸关键点的实时识别与追踪,并驱动面具的三维模型进行联动展示。按下空格键后,通过 Shader Graph 实现贴图 Mask 的动态切换效果,同时在界面左侧以打字机动画形式呈现对应文本。
mxwin
5 天前
jvm
·
unity
·
游戏引擎
·
shader
Unity Shader 屏幕空间反射 (SSR) 原理解析
深入理解 URP 中 SSR 的实现原理、工作流程与性能优化策略,附带完整案例分析与代码实现屏幕空间反射(Screen Space Reflection,简称 SSR)是一种实时反射技术,它利用当前渲染帧的深度缓冲区和颜色缓冲区来计算反射效果。与传统的基于屏幕外渲染(Render Target)的反射方法相比,SSR 可以更高效地生成接触反射、湿润表面反射等效果。
mxwin
5 天前
unity
·
游戏引擎
·
shader
Unity Shader 屏幕空间法线重建 从深度缓冲反推世界法线——原理、踩坑与 URP Shader 实战
在 Unity URP 管线下,_CameraNormalsTexture 并非默认开启。如果后处理效果(SSAO、SSR、屏幕空间贴花、轮廓描边等)需要法线信息,你有两条路:
mxwin
6 天前
unity
·
游戏引擎
·
shader
·
uv
Unity Shader 径向模糊与径向 UV 变形速度感 · 冲击波效果完全指南
Section 01径向模糊(Radial Blur)是一种以屏幕(或世界空间某点)为中心, 沿"中心→当前像素"方向做多步偏移采样并加权混合的后处理技术。 它能制造出镜头快速推进、子弹时间、冲击波爆炸等极具视觉冲击力的效果。
mxwin
8 天前
学习
·
unity
·
矩阵
·
shader
Unity URP 下 TBN 矩阵学习 切线空间、tangent.w 与镜像 UV 的那些坑
法线贴图存储的并非世界空间法线,而是切线空间(Tangent Space)中的法线扰动。 切线空间由三个基向量定义:
mxwin
9 天前
unity
·
游戏引擎
·
shader
Unity Shader 深度写入与关闭ZWrite Off · 半透明排序 · 粒子穿插
半透明物体为什么必须关闭深度写入?关闭后粒子系统为什么会互相穿插? CPU 端距离排序与 Order in Layer 如何配合?某些特效为什么要故意开启 ZWrite? 本文逐一拆解这些问题,并给出可落地的 URP Shader 代码。
mxwin
9 天前
unity
·
游戏引擎
·
shader
Unity Shader 深度重建世界坐标
只用一张深度图就能还原每个像素对应的世界空间位置:用 NDC 坐标 + 逆 VP 矩阵反算。这是 SSAO、SSR、体积雾等所有屏幕空间效果的底层基础。
mxwin
9 天前
unity
·
游戏引擎
·
shader
Unity URP 软粒子(Soft Particles)完全指南
通过深度纹理采样消除粒子与场景边界处的"纸片感",让粒子效果自然融入游戏世界软粒子(Soft Particles)是一种让粒子效果在接近不透明物体时自动淡出的技术。在 Unity 的通用渲染管线(URP)中,通过比较粒子自身深度与场景深度,实现边界处的平滑过渡。
mxwin
9 天前
unity
·
游戏引擎
·
shader
Unity Shader 深度偏移Depth Bias / Offset 完全指南
当两个多边形(或同一多边形的不同 Pass)映射到屏幕上几乎重叠时, GPU 在逐像素比较深度值时会出现交替胜负的情况—— 某帧 A 在前,下一帧 B 在前,画面产生闪烁条纹,这便是 Z-fighting(深度冲突)。
mxwin
11 天前
unity
·
游戏引擎
·
shader
Unity shader中TransformWorldToShadowCoord原理解析
TransformWorldToShadowCoord 的核心作用很简单:将你提供的世界坐标,转换到一个可以用于采样 Shadow Map 的坐标空间。它本质上是为你省去了手动编写矩阵乘法的繁琐步骤。
mxwin
11 天前
学习
·
unity
·
游戏引擎
·
shader
Unity Shader中如何学习阴影技术 产生阴影,接受阴影,联级阴影,软阴影
在Unity Shader里学习阴影,关键是理解其核心——Shadow Map(阴影贴图),并掌握一套清晰的学习路径。你可以从了解全局开始,然后逐步深入到各个技术点。
mxwin
11 天前
unity
·
游戏引擎
·
shader
Unity Shader中CastShadows 和 ReceiveShadows 在代码中的区分
这两个功能走的是完全不同的两条路径,在这份 Shader 里对应的代码也完全不同。被谁调用:URP 在渲染 Shadow Map 时(光源视角),会遍历场景里所有物体,找出 "有 ShadowCaster Pass 且 MeshRenderer.Cast Shadows = On" 的,单独跑一遍这个 Pass。
mxwin
12 天前
unity
·
游戏引擎
·
shader
Unity 单通道立体渲染(Single Pass Instanced)对 Shader 顶点布局的特殊要求
深入理解 Unity XR 渲染管线中,实例化立体渲染如何改变顶点数据的传递方式,以及你的 Shader 必须做出的适配。
mxwin
13 天前
ui
·
unity
·
游戏引擎
·
shader
Unity URP 下 UI 特效开发指南 深入探索顶点色、Mask 交互与扭曲特效的实战技巧
本文基于 Unity 2022.3 LTS + URP 14.0,假设你已掌握 Shader Graph 基础用法,熟悉 Canvas 渲染模式与 UI 组件层级关系。
mxwin
14 天前
unity
·
游戏引擎
·
shader
Unity Shader 毛发 & 草海渲染Alpha‑to‑Coverage 抗锯齿技术详解
在实时游戏渲染中,草地和毛发是最让渲染工程师头疼的对象。它们的共同特点是:大量超细几何体、随机排列、边缘必须透明。面对这类需求,美术管线通常选择:
mxwin
16 天前
unity
·
游戏引擎
·
shader
Unity URP 下抓取当前屏幕内容实现扭曲、镜子与全局模糊效果
深入解析 _CameraOpaqueTexture 与 ScriptableRendererFeature, 从渲染管线原理到三种经典屏幕空间特效的完整实现路径。
UQ_rookie
17 天前
unity
·
游戏引擎
·
shader
·
urp
·
着色器
·
vrchat
·
liltoon
【Unity3D】在URP渲染管线下使用liltoon插件出现粉色无法渲染情况的解决方案
unity: 2022.3.62f1c1 liltoon: 2.3.2 urp: 14.0.12在安装URP包后,如果有使用liltoon着色器渲染的对象,未设置前是可以正常显示的而URP渲染管线的着色器是无法正常渲染的,通过给编辑-项目设置-图形中的可编写脚本的渲染管道设置项赋值就会发现,原先可以正常渲染的liltoon着色器显示为粉色,使用URP管线的着色器可以正常显示。 设置前 设置后
mxwin
20 天前
unity
·
游戏引擎
·
shader
Unity URP 多线程渲染:理解 Shader 变体对加载时间的影响
在现代游戏开发中,Unity 的 Universal Render Pipeline (URP) 因其跨平台兼容性和性能优势而被广泛采用。然而,随着项目规模的增长,许多开发者会遇到一个棘手的问题:Shader 变体爆炸导致的加载时间过长。本文将深入探讨 URP 多线程渲染机制与 Shader 变体之间的关系,帮助你理解并优化项目的加载性能。
mxwin
1 个月前
unity
·
游戏引擎
·
shader
·
着色器
Unity Shader 逐像素光照 vs 逐顶点光照性能与画质的权衡策略
在实时渲染中,计算物体表面在光线照射下呈现的颜色,本质上是对 光照方程(Lighting Equation) 的求解。这个方程需要三类信息:光源方向与强度、表面法线方向、以及材质属性(漫反射、高光、粗糙度等)。关键的问题不是"算什么",而是"在哪个阶段算,算多少次"。