Unity Shader入门

本文详细介绍了Unity Shader的不同类型,包括固定管线着色器、表面着色器及顶点、片段着色器。阐述了Shader的基本构成如属性、着色器主体等,并解释了如何通过标签、LOD值和回调设置来控制着色器的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



003.PNG
1、UnityShader分为三部分:
      1、固定管线着色器
      2、可编程管线着色器
              1、表面着色器(Surface shader)
              2、顶点、片段着色器(Vertex Shader/Fragment Shader)

2、UnityShader
         1、属性
       
          ----------------------//纹理贴图几种描绘(ObjectLinear,EyeLinear,SphereMap,CubeReflect CubeNormal 对应OpenGL里的texgen modes)--------------
                        名字对应着色器中的变量        空字符串,或对应unity中的white,bump,black等
                                       |                                           |
                                     _MainTex("纹理",2D)=“white”{TenGen ObjectLinear}
                                     _name("范围",Range(min,max))=0
                                     _name("浮点数",Float)=0.1
                                     _name("颜色",Color)=(,,,)
                                     _name("向量",Vector)=(,,,)
          2、着色器主体
                 子着色器
                  SubShader
                      {       //通道
                                   Pass
                                    {
             
                                     }  
                      }

          3、FallBack“Diffuse:  备胎回调,(unity自带漫反射)
          4、标签(Tags:通过标签决定什么时候调用该着色器
                       1、Tags{"RenderType"="Opaque"}:渲染成显而易见
                             Unity预定义的渲染顺序:Background(天空盒或背景)、
                             Geometry(场景内绝大多数的非透明物体)、
                             AlphaTest、
                             Transparent(从后往前的顺序渲染透明物体)、Overlay   
                        2、Tags{"RenderType"="Transparent"}:渲染成透明或半透明 ,并且从后往前渲染   

           5、LOD number:数值决定了我们能使用什么样的Shader
                        LOD 200:Unity内建的Diffuse(漫反射)着色器           

           6、Blend SrcAlpha OneMinusSrcAlpha :开启透明度混合。
                Blend DstColor Zero:进行混合操作,用该值来删除缓冲区的颜色或者是目标颜色。
                Light On:开启光照。
                SeparateSpecular On:开启高光。
                Cull front:剔除表面。
                AlphaTest Greater 0.5 :能被渲染的透明阀值。
                ZWrite off:关闭深度测试。

3、Unity的三种shader:
        1、固定管线着色器

                 基础Shader代码:
001.JPG

002.JPG


2、表面着色器
       基础Shader代码:
003.JPG
  

004.JPG


3、顶点/片段着色器

005.JPG

006.JPG


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值