unity shader学习第一部分(有哪些shader,由粗到简)

本文介绍了Unity Shader的基础知识,包括Properties用于设置参数、SubShader作为基本功能单元和CallBack回调。还详细列举了各种系统内置的Shader类型,如Unlit、VertexLit、Diffuse、Specular等,并提到了Unity推荐的Surface Shader及其简化图形处理的优势。
摘要由CSDN通过智能技术生成

shader 基本结构

大家先来看一个简陋的shader

Shader "Oscar/1"
{
   
    Properties
    {
   
       _Color("颜色",color)=(1,0,0,0)//自定义属性名称-自定义名称-属性类型
      
    }
   //一个shader中必须有一个以上subshader,显卡会依次读取,能执行时便执行
    SubShader
    {
   
       pass{
   
     //  color[_Color]  //可自定义
     //  color(1,0,0,1) //固定
     }
    }

    FallBack "Diffuse"//如果所有subshader均不能被执行,则回滚到系统内建的shader
    
}

可以看出shader 由三大基本结构组成

Properties

用于将shader的各种参数提供到外部进行调试

SubShader

此为shader的基本作用单位,用于实现功能

CallBack

系统内建shader种类

Unlit:不发光,只是纹理
VertexLit:顶点光照
Diffuse:漫反射
Normal mapped:法线贴图,比漫反射昂贵
Specular:高光
Normal Mapped Specular:高光法线贴图,比高光昂贵
Parallax Normal mapped:视差法线贴图
Parallax Normal Mapped Specular:视差高光法线贴图
此为当显卡不支持过高的shader渲染会采用的shader,有点像c#里的try catch

surface shader

1.被unity推荐和鼓励的shader,被unity引擎封装过一次,如下代码

Shader "Oscar/3"
{
   
    Properties
    {
   
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {
   }
        _Glossiness ("Smoothness", Range(0,1)) =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值