挺常见的需求,但找到的 Shader 一般只考虑了 1:1 矩形,这些 Shader 用在头像等正方形图像处没问题,但用做长方形图像时会出现圆角变形。 为什么要用 Shader 如果使用 Mask,会有额外的 DrawCall。 Shader 改造 搜到的 Shader 都大同小异,随意找一个来修改。只讨论修……

之前需要做拓扑排布与流量展示,我研究了两种算法,其中一种是力导向图排布算法。我简单说说力导向图的思路以及为什么要使用 ComputeShader。 原理展示 我使用立方体代表节点,下面是两种算法的排布预览,本文只讨论后者。 1. 基于领域的排布图(本文不讨论) 2. 3D力导向排布图(排布中,暂未达到最优位置……

这是一个 ComputeShader 结合 Shader 实现粒子喷泉的例子。 通过 ComputeShader 计算喷泉粒子的位置,并通过 Shader 将其绘制出来。 效果 原理 生成指定数量具有随机速度的点数据,ComputeShader 中将其初速度与重力加速度叠加,并根据存活时间粗略计算其位置,之后……

这是一个 ComputeShader 结合 Shader 实现下雪的例子。我们通过 ComputeShader 并行计算每个雪粒子的位置,并通过 Shader 将其绘制出来。 效果 原理 通过 ComputeShder 并行计算每个粒子位置,并将 Buffer 与 Shader 共享,Shader 在对应位置……

项目上要实现 Unity 真实瞄准镜的功能,其中之一就是反射式红点瞄准镜。本文分析的 Shader 以模拟反射式瞄准镜光学原理的方式实现了较为真实的效果。 效果图 该图展示了从不同角度观看红点瞄准镜的效果。 红点瞄准镜原理 反射式红点瞄准镜的特殊之处在于不管眼睛和照门等是否三点一线,只要看到红点套在目标上,就……