摘要: shader中的序列帧动画属于纹理动画中的一种,主要原理是将给定的纹理进行等分,再根据时间的变化循环播放等分中的一部分。 脚本如下: 阅读全文
posted @ 2019-07-02 12:05 汐夜 阅读(1664) 评论(0) 推荐(0) 编辑
摘要: 一个玻璃效果主要分为两个部分,一部分是折射效果的计算,另一部分则是反射。下面分类进行讨论: 折射: 1.利用Grass Pass对当前屏幕的渲染图像进行采样 2.得到法线贴图对折射的影响 3.对采集的屏幕图像进行关于法线方向上的扭曲和偏移,以模拟折射效果 反射: 主要利用环境贴图产生反射的残影,并和 阅读全文
posted @ 2019-07-01 16:07 汐夜 阅读(6444) 评论(2) 推荐(0) 编辑
摘要: 菲涅尔反射描述了一种光学现象,当光照到物体表面时,一部分发生反射,另一部分则进入物体内部,发生折射或散射;相比直接的反射和折射计算,菲涅尔反射更接近真实情况。 可用下面的等式近似计算这种反射效果: F=F0+(1-F0)*pow((1-dot(v,n)),p); 其中,F0为反射系数,v为视野方向, 阅读全文
posted @ 2019-06-28 21:11 汐夜 阅读(2310) 评论(0) 推荐(0) 编辑
摘要: 对于至今为止Shader学习内容的一个总结,算是一个比较综合通用的shader了,因为是漫反射所以暂时没有计算高光部分,之后再出一个带高光版本的。 备注都有比较详细的说明,基本思路是利用多个Pass分别进行正反面的渲染,再结合前向渲染的分光照渲染来实现。 最后摆出效果图w~ 阅读全文
posted @ 2019-06-27 18:47 汐夜 阅读(2102) 评论(4) 推荐(0) 编辑
摘要: 极端常用: UnityObjectToClipPos(v.vertex); 最基本的顶点变换,模型空间 ==》裁剪空间 mul(unity_ObjectToWorld, v.vertex); 顶点:模型空间 ==》世界空间,多用于顶点着色器 UnityObjectToWorldNormal(v.no 阅读全文
posted @ 2019-06-26 14:49 汐夜 阅读(3256) 评论(1) 推荐(0) 编辑