Shader
终将靠岸
纸上得来终觉浅,绝知此事要躬行
展开
-
Shader(8)_边缘光
效果图:原理:还是根据模型法线,和视角向量的关系来控制参数变化,这里在Shader(4)里面已经说过了不重复,剩下的就是一个公式【本身光照强度✖贴图颜色 + 边缘光照强度✖光的颜色】,这里本身光照强度是用的半兰伯特光照模型,边缘光照强度就是用的法线与视线的点乘以及一个参数控制得到。代码:Shader "Hidden/Bianyuanguang"{ Properties ...原创 2020-01-06 10:56:45 · 226 阅读 · 0 评论 -
Shader(7)_溶解
效果图:原理:现在状态不佳,等状态好再详细写代码:Shader "Hidden/NewImageEffectShader"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Noise ("Noise", 2D) = "white"{} _Crl ("Crl",Range(0,1)) = 0...原创 2020-01-03 15:38:19 · 217 阅读 · 0 评论 -
Shader(6)_残影效果
效果图:思路:这个不想说了,因为不涉及到Shader,逻辑的话看代码就好了,主要也是给自己存个档,如果能顺带帮到你们也是万分开心,如果帮不了勿怪。C#代码部分:using UnityEngine;public class Canying : MonoBehaviour{ //创建新残影间隔 public float interval = 0.1f; //残影...原创 2020-01-03 14:35:53 · 755 阅读 · 0 评论 -
Shader(5)_X光效果
效果图:原理:与我的上一篇文章原理相同,唯一要注意的就是为透明效果必须使用的标签。代码:Shader "Hidden/shader"{ Properties { _MainTex ("Texture", 2D) = "white" {} _TransParentCrl ("TransParentCrl",Range(0,1)) = 0.2 }...原创 2020-01-03 11:45:24 · 241 阅读 · 0 评论 -
Shader(4)_渐变色描边
Shader "Hidden/shader"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Controller ("Controller",Range(0,1)) = 0.2 } SubShader { // No culling or depth ...原创 2020-01-03 10:32:39 · 669 阅读 · 0 评论 -
Shader_知识库
(1)_WorldSpaceCameraPos.xyz_WorldSpaceCameraPos.xyz表示主相机的世界坐标位置(2)mul(unity_ObjectToWorld, v.vertex).xyz将此顶点的本地坐标转换为世界坐标(3)o.normal = UnityObjectToWorldNormal(v.normal);将顶点的本地法线提升到空间法线注:mul(UNIT...原创 2020-01-03 09:51:45 · 226 阅读 · 0 评论 -
Shader(3)_相机屏幕特效
C#脚本public Material material;private void OnRenderImage(RenderTexture source, RenderTexture destination){ Graphics.Blit(source, destination,material);//unity的封装函方法,用material渲染source到destination上...原创 2020-01-02 12:53:46 · 151 阅读 · 0 评论 -
Shader(2)_透明纹理的渲染
//在新建的Shader这两个部分添加此代码即可Tags{ "Queue" = "Transparent"}Pass{ Blend SrcAlpha OneMinusSrcAlpha}原创 2020-01-02 11:53:09 · 120 阅读 · 0 评论 -
Shader(0)_解剖Shader
前言:在一开始学习unity的时候就总是会听到这种声音,”Shade很难。。先学好基础再说吧。。shader是必学的。。会shader的人都是大牛。。“。好吧,到这里我表示你们说得真对。没办法,shader这东西真的得学,如果一个使用unity引擎的人,只会拖拽按钮,排好Panel,那身为计算机科班的人我真的鄙视自己,有人会说我客户端也有代码,也有交互啊,甚至一些逻辑也要放在客户端啊,我想说那点...原创 2020-01-02 11:31:17 · 299 阅读 · 0 评论 -
Shader(1)_渐变色
(不懂shader的请自行转到我的Shader(0)_解剖Shader)效果图:原理:根据uv是0到1的一个浮点数即可得到渐变的原理,在片段着色器的函数里面只需要把返回的颜色的xy值对应此像素uv值即可代码://仅修改片段着色器即可 fixed4 frag (v2f i) : SV_Target { fixed4 col = tex2D(_MainTex, i.uv); ret...原创 2020-01-02 10:23:05 · 826 阅读 · 0 评论 -
纹理旋转_Shader
功能说明:使纹理围绕中心旋转起来,如Loading的圈圈。实现思路:1.将纹理的中心平移到坐标轴的原点,2.然后根据坐标轴旋转的矩阵的变换公式开始绕Z轴旋转,3.旋转之后将坐标再移回原位置。(绕x,y的旋转矩阵)(绕z的旋转矩阵)实现代码: //以下仅为片段着色器的代码(绕Z轴旋转) sampler2D _MainTex; float _Speed; ...原创 2019-11-24 10:34:23 · 1024 阅读 · 0 评论