Chapter3 Unity Shader 基础

概述

在Unity需要材质(Material)与Unity Shader配合使用来达到满意的效果。

  1. Unity Shader定义了渲染需要的各种代码(顶点着色器与片元着色器等),属性(使用哪些纹理)和指令(渲染和标签设置),我们通过材质调节这些属性,再赋给相应的模型。
  2. 材质:配合GameObject的Mesh或者Particle Systems组件来工作。
  3. Unity Shader:
    1. Standard Surface Shader:使用了一个包含了标准光照模型的表面着色器模板
    2. Unlit Shader: 一个不包含光照但是包含雾效的基本顶点/片元着色器
    3. Image Effect Shader: 为实现屏幕后处理提供基本模板
    4. Compute Shader: 借助GPU的并行性来进行一些与渲染流水线无关的计算

ShaderLab

一款专门为Unity Shader服务的语言。

Properties 属性
  1. 语句格式:Name("display name",PropertyType)=DefaultValue
  2. 支持的属性类型:

    | 属性类型 | 定义语法 ||

    |:--------

    【Unity Shader】Shader基础的更多相关文章

    1. 【淡墨Unity3D Shader计划】五 圣诞用品: Unity在Shader三种形式的控制&混合操作编译

      本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/42060963 作者:毛星云(浅墨)  ...

    2. Unity的shader学习1

      先来看一段我们项目常见的Shader代码,这个是Vertex&Fragment shader,目前已经不常用了,不过还是适合我们理解一些基础知识和理解一些比较老的shader 代码.下次我们再 ...

    3. [Unity Shader]Shader分类

      Shader的分类: Shader按管线分类一般分为固定渲染管线与可编程渲染管线 (1)固定渲染管线 ——这是标准的几何&光照(Transforming&Lighting)管线,功能是 ...

    4. [Unity Shader]Shader前述

      什么是Shader   Shader,也就是着色器,它的工作就是读取你的网格并渲染在屏幕上.Shader可以定义一些属性,你会用它来影响渲染模型时所显示的效果.当存储了这些属性的设置时,就是一个Mat ...

    5. unity之shader

      渲染流程分为三个阶段:应用阶段,几何阶段,光栅化阶段. Unity Shader的分类: 使用的是ShaderLab编写unity中的的shader 1 表面着色器 Surface Shader 2 ...

    6. unity, change shader for me and all my children

      public void changeShaderForMeAndAllMyChildren(){ Transform[] childrenTransformList = GetComponentsIn ...

    7. 详解Paint的setShader(Shader shader)

      一.概述 setShader(Shader shader)中传入的自然是shader对象了,shader类是Android在图形变换中非常重要的一个类.Shader在三维软件中我们称之为着色器,其作用 ...

    8. 关于Unity中Shader的基础认识

      Shader也叫着色器,是Unity里面比较难的一个点,网上有很多别人写好的shader,我们可以下载下来用或者修改学习. Shader可以做出很多非常不错的效果,因为它是插在渲染管道里面的程序,一来 ...

    9. Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

      转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...

    10. Unity Shader入门基础(一)

      渲染流水线   一.渲染流水线 渲染流水线的工作任务在于由一个三维场景出发.生存(或者说渲染)一张二维图像.换句话说,计算机需要从一系列的顶点数据.纹理等信息出发,把这些信息最终转换成一张人眼可以看到 ...

    随机推荐

    1. 笔记--Yarn

      Yarn,Facebook开源一个新的Javascript包管理工具. 简介 Yarn 是一个新的包管理器,用于替代现有的 npm 客户端或者其他兼容 npm 仓库的包管理工具.Yarn 保留了现有工 ...

    2. Python:基础知识(二)

      常用模块 urllib2 :用于发送网络请求,获取数据 (Pyhton2中的urllib2工具包,在Python3中分拆成了urllib.request和urllib.error两个包.) json: ...

    3. 细数用anaconda安装mayavi时出现的各种问题

      这段时间需要利用mayavi做科学数据的处理,因此需要利用到mayavi库,但是官网上面的指示说:如果安装了anaconda,其中自带各种科学库,但是实践中,并没有发现mayavi. 官方网站导航:m ...

    4. C语言程序设计I—第三周教学

      由于本课程是从教学周的第二周开始上课,所以第二次授课是发生在第三周,为了让PTA.云班课和博客能统一,所以将教学周作为随笔的标题.本周由于处理外聘教师随意退课等事情,总结有些延后了. 第三周教学安排 ...

    5. cocoaPods 创建自己的依赖库

      1.先在github上创建一个仓库 和一般创建一样,就是证书一定要选,我选的是MIT,不要问我因为啥, 我也不知道, 哈哈 2.check到本地或者本地创建,反正最后都要上传到这个仓库,以个人习惯吧 ...

    6. [图解tensorflow源码] Session::Run()流程图 (单机版)

    7. iOS字体相关

      1.使用自定义字体 (1)将字体文件导入项目 (2)在info.plist文件中添加 Fonts provided by application (3)获取字体在项目中的名称 for fontFami ...

    8. ThinkPhp5学习之新手博客

      前端框架来源网络,后端框架采用 ThinkPhp 5 开发 参考资料:哔哩哔哩  ThinkPHP5.1新手博客项目实战 项目地址:https://github.com/yjy1/tp5

    9. Linux的任务计划管理

      在手机中,我们常常使用备忘录或者是闹钟等来提醒我们该做什么事情了,在Linux操作系统中,也有类似的操作.   在Linux中除了用户即时执行的命令操作以外,还可以配置在指定的时间.指定的日期执行预先 ...

    10. hadoop--hive数据仓库

      一.hive概述 Hive是基于 Hadoop 的一个[数据仓库工具],可以将结构化的数据文件映射为一张数据库表,并提供简单的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进 ...