shader案例-LOGO 闪光
LOGO 闪光 //Logo 闪光shader Shader "Practice/FlashTestMat" { Properties { _MainTex ("Texture", 2D) = "white" {} //间隔 _Interval("Interval",float) = 5.0 _Bright...
LOGO 闪光 //Logo 闪光shader Shader "Practice/FlashTestMat" { Properties { _MainTex ("Texture", 2D) = "white" {} //间隔 _Interval("Interval",float) = 5.0 _Bright...
开启深度写入的透明效果 由于关闭深度写入可能造成错误排序 解决方案:使用两个 pass 来渲染模型 第一个 pass 开启深度写入,但不输出颜色,目的仅仅是把该模型深度值写入到深度缓冲中。 第二个 pass 进行正常的透明度混合,由于上一个 pass 已经得到了逐像素的正确深度信息,该 pass 就可以额按照像素级别 的深度排序结果进行透明渲染。 缺点:多使用一个 pass 会对性能...
本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解 透明度混合 这种方法可以得到真正的半透明效果,它会使用当前片元的透明度作为混合因子,与已经存储在颜色缓冲中的颜色进行混合,得到新的颜色。 但是透明度混合需要关闭深度写入,这使得我们要非常小心物体的渲染顺序。 混合就和两个操作数有关 源颜色(source color), 目标颜色(destinat...
本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解 clip 函数 在片原着色器中使用 clip 函数进行透明度测试,clip 参数可以是标量,也可以是矢量。如果给定的参数的任何一个分量是负数,就会舍弃当前 像素输出的颜色。discard 指令显示剔除片元。 void clip(float 4) { if (any(x<0)) ...
本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解 透明度测试(Alpha Test) 当片元的透明度小于某个阈值时,对应片元就会被舍弃,被舍弃的片元不会再进行任何处理,不会对颜色缓冲产生任何影响,当片元透明度大于等于这个阈值的 时候,就会按照普通不透明的物体处理方式来处理,进行深度测试,深度写入等。透明度测试无法得到真正的半透明效果。 透明度...
本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解 渐变纹理 学习如何使用渐变纹理来控制漫反射光照。 Shader "Practice/RampTex" { Properties { _RampTex ("Texture", 2D) = "white" {} _Color("Color Tint"...
本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解 凹凸映射 使用一张纹理来修改模型表面的法线,为模型提供更多细节。 使用法线纹理进行凹凸映射 法线方向的分量范围在[-1,1],像素分量范围为[0,1],法线到像素的映射 $pixel = \frac{normal+1}{2}$. 我们在 shader 中对法线纹理采样后,需要进行反映射 $n...
本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解 光照模型实践,使用单张纹理代替漫反射颜色 高光公式 \[\mathtt{c}_{specular}=(\mathtt{c}_{light}\cdot\mathtt{m}_{specular})max(0,\vec n\cdot\vec h)^{m_{gloss}} \qquad \vec h=...
本文内容主要参考 《Unity shader 入门精要》一书,旨在总结所学知识与加深个人理解,为了表示方便,与书中公式略有差别。 漫反射 漫反射光照符合 兰伯特定律:反射光线强度与法线表面和光源方向的夹角的余弦值成正比。 公式 \(\mathtt{c}_{diffuse}=(\mathtt{c}_{light}\cdot \mathtt{m}_{diffuse})max(0,\vec n...
content 需求 在项目接近尾声的时候,由于本地化的差异,导致很多 ui 超过了显示框,这时候运营方提出 需要在部分地方加上滚动,当文字超过显示的框的时候,自动滚动。由于项目已经接近尾声,所以务必 改动要小。在不改变 UI 结构,以及方便策划快速更改的情况下,开发的组件。 实现 设置如图 using System; using System.Collections; us...