自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (3)
  • 收藏
  • 关注

原创 2020-12-18

关于三向贴图对于一些地形网格来说,有时候会因为地形的起伏导致网格分布不均匀,这就会导致贴图被拉伸。三向贴图技术就是为了解决这个问题。三向贴图不再采用传统的uv作为采样坐标,而是用世界坐标作为新的采样坐标。这个方法需要的额外操作是:对于朝向不同的面需要用不同的平面坐标系作为uv。例如:当面朝向x轴时,用yz坐标系作为uv。这一点用法线朝向即可解决。但是当遇到斜坡,即法线的各个分量都有值时,就需要进行一定的加权运算来得到最终的混合结果。这个加权混合就是重点。因为有三个分量,所以不能用传统的线性插值,而是

2020-12-18 18:01:17 90 1

原创 NormalBlend

NormalBlend 的几种方法法线作为向量,在需要混合两张法线贴图的时候不能简单相加,而是要将其转化为角度进行运算。目前有几种通用的方法,大部分是近似计算了角度并将它们相加。实际上,切线空间的z轴是顶点法线方向,所以xy和z的比值可以近似表示这个向量相对于z轴的偏移量,也就是“角度”。而PD方法就是直接将两个法线向量的这个比值相加再normalize。float3 n1 = tex2D(texBase, uv).xyz*2 - 1;float3 n2 = tex2D(texDetail,

2020-12-16 18:15:29 211

原创 程序化生成星空图

目录程序化生成星点图主要思路是伪随机生成,随机因子是晶格化后的晶格坐标。生成星点后再添加一些动态效果。随机生成参考了这篇文章。对扩大了某个倍数的三角函数取小数部分,可以得到混乱的效果。float random(float x, float factor){ return abs(frac(sin(x) * factor)); }为每个晶格生成一个星点首先要划分晶格,直接将uv扩大就可以。扩大的倍数直接决定了晶格的数量。这里要

2020-12-07 18:08:31 446

原创 UnityShader后处理景深效果

UnityShader 后处理景深效果主要原理是高斯核卷积,并根据深度图采样结果来判断模糊度。高斯核能反映距离对模糊采样率造成的影响。本例使用的高斯核是5x5尺寸。可以使用双pass的方法把这个高斯核简化成两个一维的高斯核。在模糊卷积中,把高斯核拆分成两个一维高斯核,在两个pass中分别进行xy方向的卷积。假设先进行了x方向的卷积, 那么y方向用以卷积的参数实际上是x方向上卷积过的。也就是说它也受到了对角线(或者说斜方向)上的影响。在边缘检测卷积上,xy方向上都使用的是方阵卷积核,并且需要求得的结

2020-09-24 14:48:16 706

ScreenSaturate.CS

此脚本用于屏幕后处理基类使用,主要作用是检查并生成对应材质。完全参考自《UnityShader 入门精要》。需要自取

2020-09-24

Guassion.Shader

此shader用于 UnityShader 后处理景深效果。主要参考自《UnityShader入门精要》。需要自取

2020-09-24

空空如也

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

TA关注的人

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