- 博客(33)
- 收藏
- 关注
原创 VisionPro MR环境下虚拟物体与现实的透明度混合
人头检测挖孔不清晰问题,这个a值变成设备层动态检测人头的a值,当面前的渲染压力过大时,会导致检测人头情况能力下降导致看人物不足够清晰。viirtualcontent预乘过a值了,跟透明度混合公式一致。
2025-08-05 16:55:14
198
原创 unity shader解决uv平铺重复感过强
摘要:该方法通过计算TileID来确定纹理贴图的重复模式,具体公式为TileID=Floor(UV * Tilling),其中UV是纹理坐标,Tilling表示平铺次数。系统会为每个TileID分配一个随机旋转值,从而在重复贴图时产生随机变化效果,避免出现明显的重复图案。这种技术常用于纹理贴图的多样化处理,能有效提升视觉效果的自然度和丰富性。
2025-07-17 14:27:50
352
原创 沙漠场景shader
通过上述代码转成shader graph使用,乘了菲尼尔让视角中心没有光点,mipmap技术让贴图远处渐变消失和不会闪烁(使用内置noise会全屏闪烁)使用深度计算来实现雾与不透明物体的过渡相融(氛围感)
2025-07-11 16:53:44
163
原创 透明物体渲染顺序
还有种情况,就是透明物体在动,我们单一的在某一角度设置靠前,它下一刻可能会移动到另一个透明物体身后,这样还是会出错,或者是单一物体能看到背后的情况,有时候背后的情况并不想看到,就需要配合开启深度写入了,虽然会强行把处在后方的部分裁剪掉,但是在某些角度来看这样是更合理的,对于透明物体,渲染队列是必须的,因为透明物体默认会关掉深度写入,但是仍然会进行深度测试,关掉深度写入是因为透明物体需要alpha混合,需要透过去看到后面的物体,如果开启写入的话会直接裁剪到后方的片元无法混合颜色,最终呈现效果是不正确的。
2025-07-09 14:33:19
286
原创 记录几个subgraph
基于摄像机距离遮罩,小于min的值返回0,大于max的值返回1,处于min-max之间的值映射到0-1。smoothstep 前者控制位置,后者控制平滑程度。location控制位置,depth控制深度。
2025-07-08 15:02:29
218
原创 shader graph 水
使用screen position 作为uv采样scene color (不透明纹理),然后通过add normal扰动scene color,实现水下的扰动以及平面倒影trick。
2025-06-18 12:15:01
219
原创 天空水体技术解决方案
2:screen position作为uv采样scene color(_CameraOpaqueTexture),假透射,看不到透明物体(解决贴近水面静态物体的倒影以及水下不透明物体的透射)3.shader天空盒循环问题,_Time使用sine函数输出循环,sine( _Time * 6.28 * _Speed)*_Range。5.skybox模型的接缝,使用dcc软件(max)默认的球体导出使用rt图没有接缝,但是unity默认的sphere会有接缝。1:normal +time 扰动控制水面波动。
2025-05-21 17:07:47
312
原创 遮挡烘焙剔除梳理
这个要区别于gpu的片元深度剔除,在渲染流水线阶段,模型的不同片元之间会进行深度测试,从而剔除掉不通过的物体,显示最终的通过深度测试的片元成为像素,我们的目的是减少Drawcall的调用,在frame debugger里能看到模型的先后渲染,不透明的物体从前往后依次渲染,在后面渲染的片元会进行深度比较从而被前面的片元遮挡,但是它依旧使用的gpu的资源在进行深度比较,要从根本上减少被遮挡的物体进行渲染流水线,才能优化性能。3,遮挡数据要更加严格,当场景内的物体有开关隐藏之后,都会影响到遮挡数据的变化。
2025-04-15 20:35:18
216
原创 用通俗易懂的话来解释下shader
将模型空间(以模型自身轴为坐标中心)下的物体通过空间转换从而将一个三维坐标的点投影成一个电脑屏幕上二维坐标点,在这个过程中,顶点数据要经历从模型空间------世界空间-----相机空间-----裁剪空间(通过MVP三个矩阵变换):把顶点连成三角形,并把三角形覆盖的像素进行插值,这时我们就有了模型在屏幕投影后的“像素”区域(因为这时还没有渲染完成,所以也称为片元):这一步决定一帧画面内模型的渲染顺序,通过进行深度测试-----模板测试-----透明度混合,输出到帧缓存。接下来梳理一些知识点。
2024-04-07 12:40:52
532
原创 URP云层效果(雾效)shader graph
实现原理:用time节点来控制noise的频率,通过三层noise相互叠加,对模型上的顶点进行y轴的扰动从而实现动画效果,通过lerp来控制颜色,再添加一个边缘检测是云层中的物体更好的相融。需要注意的是我们使用世界空间下的xz平面作为noise的uv,最后需要把顶点从世界空间转换为模型空间才能连接。scale是为了方便整体调整noise的UV,当scale设置足够大也可以当作全局雾效来用。
2024-03-18 18:32:03
786
原创 URP的边缘检测节点
screen position的a通道是所有模型的深度位置(包含透明物体)通过相减就能得到透明物体的相交位置,再反向后就是边缘。scene depth是指不透明物体的深度位置。
2024-02-19 18:24:57
552
1
原创 URP溶解效果shader graph
接着需要给区域增加描边,这时我们需要第二层step限制noise,并且让第二层的值略微小于第一层,两者相加就可以产生描边效果,但这会导致模型最终主体颜色是第一层和第二层相加后的颜色,所以我将第二层加个反向,这样就始终是第一层颜色了。还见到一种使用alpha clip的办法,逻辑是一样的,这会导致模型最终效果始终带有simple noise的半透,卡通下不太适合。制作思路有个小细节:第一层通过step限制noise就可以很简单的实现区域溶解消失的效果。
2024-02-19 17:53:34
626
1
原创 URP卡渲圣诞树彩灯shader graph
制作思路:因为我想在shader上控制颜色,想了一个相对较笨的办法,通过贴图相加相减的办法来做mask,再组合到一起,提前在max里把小球的uv拆分到5个不同的颜色区域内,就可以实现效果,再调整不同的时间开始闪烁,就可以实现图中的效果。
2024-01-27 19:45:59
474
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅