U3d Shader整理笔记(二)

https://blog.csdn.net/poem_qianmo/article/details/40955607 第二篇知识点整理
作者主要介绍如何学习Unity Shader的基本写法框架,以及学习Shader中Properties(属性)的详细写法,光照、材质与颜色的具体写法。

  1. 阐述Shader和Material的基本关系,上一篇上我理解的是媒介,这里把作者里面的话直接粘过来
    “Shader(着色器)实际上就是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。输入的贴图或者颜色等,加上对应的Shader,以及对Shader的特定的参数设置,将这些内容(Shader及输入参数)打包存储在一起,得到的就是一个Material(材质)。之后,我们便可以将材质赋予合适的renderer(渲染器)来进行渲染(输出)了。所以说Shader并没有什么特别神奇的,它只是一段规定好输入(颜色,贴图等)和输出(渲染器能够读懂的点和颜色的对应关系)的程序。而Shader开发者要做的就是根据输入,进行计算变换,产生输出而已。“ 这段也是引用,不用太care,因为重头戏来了。

  2. 因为作者说,学习Unity中的Shader编程,最好是之前对OpenGL或Direct3D的渲染状态等相关知识有一个基本的了解。额,内心慌得一~~不过作者也给了一些介绍的链接,稍稍了解一些就ok(其实我也不太懂,没接触过,再加上我的重点在深度上面,所以也没有细细追究

  3. shader的种类,里面关于shader的分类,区分以及作用都描述的很清楚,学习一波直接看原文。还有关于shader的第一行代码书写,关于Shader关键字的引号“”里面的书写方式(书写方式决定了shader在菜单栏中的变现形式,这其实是个技巧

  4. shader框架写法
    Shader框架
    关于shader语句的讲解后面,比较详细

  5. 纹理属性:
    name (“display name”, 2D) =“name” { options }
    第一个name:一般就是下划线_起头的一个着色器的名字;

    display name:是inspector面板上显示的名字,2D是纹理的定义的标志吧,我是这样理解的,就是float这种数据类型一样,这里纹理的定义类型就是2D;

    =后面的name:一般在代码里面就是–缺省值既可以是一个空字符串也可以是某个内置的缺省纹理:“white”, “black”, “gray” or"bump"(当然这个不仅适用2D还有 Rect, Cube这些类型)

    options:是可以选择的,例如 TexGen纹理生成类型:即纹理的自动生成纹理坐标时的模式,可以是ObjectLinear, EyeLinear,SphereMap, CubeReflect, CubeNormal的其中之一;这些模式和OpenGL纹理生成模式相对应。注意如果使用自定义顶点程序,那么纹理生成将被忽略。 LightmapMode 光照贴图模式。如果我们给出这个选项,纹理将能被渲染器的光线贴图属性所影响。纹理不能被使用在材质中,而是取自渲染器的设定。这个我们以后会讲到。

  6. 之后讲解了关于光照,材质与颜色的相关内容,需要的时候回头查阅即可
    简单的单色光显示
    *material属性,就可以自由修改颜色,光照是需要打开,颜色才能显示。pass中定义了许多颜色属性,打在对象上的完整光照颜色最终是:
    FinalColor= Ambient * RenderSettings ambientsetting + (Light Color * Diffuse + Light Color Specular) + Emission
    look at 翻译-最终颜色=环境光反射颜色 渲染设置环境设置 (灯光颜色漫反射颜色+灯光颜色
    镜面反射颜色)+自发光
    再考虑添加纹理

  7. 干货不多,大大写的太详细,直接参考

增加层级一//3J………………………………………………………………………………Add Lv1/2/3 通道透明一//3J………………………………………………………………………………Alpha Blend Lv1/2/3 (一级在最下层,3J在最上层,这些和细微遮挡有关) 置换扭曲(扭曲自身)……………………………………………………………………………Displacement Map Add 溶解消失……………………………………………………………………………………………Dissolve 溶解消失(有描边)………………………………………………………………………………Dissolve Coloredge 溶解消失(从红色通道)…………………………………………………………………………Dissolve Simple 环境扭曲(带扰动)………………………………………………………………………………Distortion 环境扭曲(从贴图,在有环境的时候扭曲,必须有背景)……………………………………Distortion Bump 透明描边……………………………………………………………………………………………Falloff Alpha 描边+贴图…………………………………………………………………………………………Falloff Texture 遮罩增加……………………………………………………………………………………………Mask Add 遮罩透明……………………………………………………………………………………………Mask AlphaBlend
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值