平面反射效果 VR (URP) 前言 前几日去HDRP下试验了各种效果在VR下的可用性,结果是一塌糊涂。像屏幕空间反射、或者Planar probe这种效果官方压根就没打算支持VR,只能自力更生了。 2022-07-01 渲染 #URP #VR #反射
屏幕空间反射 VR (URP) 前言 之前的那个VR中采用复用阴影贴图的方式,用独立的相机渲染反射贴图还是有很多不足,因为是复用的阴影贴图,如果镜子中的物体没有在正常相机内有阴影的话,镜子中也不会有阴影。 2022-11-08 渲染 #URP #VR #反射
URP下屏幕空间外轮廓的实现 支持VR URP管线下VR适用的外轮廓描边 github地址 因为很多模型不给平滑法线,没法用法线外扩,只能用类似后处理的方式来描边了. 好处是通用性强,任何模型都能用,弊端就是性能消耗大一点。 2022-06-23 渲染 #URP #VR #RenderFeature #Outline
镜头炫光LensFlare(SRP) 在 VR 下的偏移BUG修复 前言 Unity的URP和HDRP针对LensFlare也就是炫光,使用的是同一套逻辑(LensFlare(SRP))。但就是不支持VR,无论是单通道还是多通道。 2022-06-27 渲染 #URP #LensFlare #VR
风格化草地树木的实现 概述 很早就想尝试风格化渲染,正好看到了一个使用Blender的教程,顺便就试了一下,移植到Unity上。 草地 先看草地,概括原版教程 Blender 首先创建单株草Mesh, 利用Blender中的几何节点,在平面上随机分布草Mesh 预生成不同层级的颜色贴图,用于在平面上赋予草颜色 利用同一张贴图,当作高度图,生成法线,同样按照世界坐标UV来采样,给每个草Mesh都加上法 2025-05-06
MR环境下在URP中实现HDR Bloom 概述 在MR环境下,HDR Bloom是一个很重要的效果,很多美术效果尤其是光效都需要HDR Bloom来提升画面的质感。 但是在URP中,启用HDR默认是用的B10G11R11_UFloatPack32的格式,这个格式会牺牲透明通道,导致MR失效。 所以翻看Pico或者Meta的文档,他们都不允许开启HDR。 然后是Bloom。URP的bloom是按照RGBM编码在rgba四个通道中 2025-03-18
基于TMP与VEG的实时文字粒子消融效果 概述 产品现有一需求,要运行时更改文字且添加消融与粒子消散。 虽然不算很复杂,还是记录一下。 想了下从TMP文字的SDF图来着手应该是比较不错的方案。 TMP消融Shader 这里先看下TMP的原始shader,就是采样SDF图,再根据是否要轮廓、阴影等效果加上对应的代码。 那就很简单了,采样个噪声图,根据时间clip一下,再取个宽度,step后给个颜色就完事了。 这就简单贴一下 2025-03-18
Shader中深度相关坐标的转换 简要记录一下shader中几种Depth的定义与转换规则,同时再记录下容易混淆的裁切空间,NDC,屏幕空间。 视角空间 那就一个一个看,先看UNITY_MATRIX_V,从世界坐标到视角坐标。 这个矩阵和之前类似,视角坐标系是右手,所以Z轴要翻转(UNITY_MATRIX_V这个矩阵就已经包含翻转了)。也就是Z轴朝向屏幕外。 这里的posVS.z 表示的是物体距离摄像机在摄像机forwa 2023-08-14
GTAO 既然HBAO实现了,那就再进一步,看看GTAO到底有多GT。 主要参考了原始论文与作者发布的PPT,以及Github上一开源的GameTechDev/XeGTAO,外加HDRP自带的GTAO的实现。 先大致翻译一下原始论文吧 摘要 环境光遮蔽是游戏和其他实时应用中用来近似全局光照效果的一种普遍方法。然而,对于任意场景的环境光遮蔽积分并不存在解析解,使用一般的数值积分算法太慢,因此实际中 2023-08-09