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. linux系统下安装两个或多个tomcat

      编辑环境变量:vi /etc/profile 加入以下代码(tomcat路径要配置自己实际的tomcat安装目录) ##########first tomcat########### CATALINA ...

    2. 20165318 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

      20165318 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验报告封面 课程:Java程序设计        班级:1653班        姓名:孙晓暄    ...

    3. 4199. [NOI2015]品酒大会【后缀数组+并查集】

      Description 一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品 酒家”和“首席猎手”两个奖项,吸引了众多品酒师参加.在大会的晚餐上,调酒师 ...

    4. 如何用代码而非事件触发PBO

      通常我们通过抛出事件触发PBO,但若没有事件发生时,我们其实也可以用代码强制发出命令. 写法如下: CL_GUI_CFW=>SET_NEW_OK_CODE( NEW_CODE = <uco ...

    5. PHP类的静态(static)方法和静态(static)变量使用介绍

      PHP类的静态(static)方法和静态(static)变量使用介绍,学习php的朋友可以看下     在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class ...

    6. C语言不使用加号实现加法运算的几种方法

      今天看到<编码:隐匿在计算机软硬件背后的语言>的第十二章:二进制加法器.讲述了全加器,半加器的原理以及如何实现加法.实现加法时所使用的全加器,半加器中包含的所有逻辑门在C语言中都有相应的运 ...

    7. ES6新特性4:字符串的扩展

      本文摘自ECMAScript6入门,转载请注明出处. 一.ES5字符串函数 concat: 将两个或多个字符的文本组合起来,返回一个新的字符串. indexOf: 返回字符串中一个子串第一处出现的索引 ...

    8. Azure云 windows平台 搭建ftp服务器注意事项

      1.iis设置防火墙支持端口(1-65535自定义端口,一般3-5个都行) 2.客户端连接使用被动链接模式 3.endpoint终结点添加20,21,以及你自定义的防火墙支持端口. 4.本地防火墙添加 ...

    9. Jmeter不同线程组之间的变量引用

      用过LoadRunner的小伙伴应该知道,它的脚本主要分为三个部分,即Login,Action,End三个模块.Login中一般是“初始化”环境所用,而Action模块主要做一些诸如压测的动作.举个例 ...

    10. 如何编写编译Robocup3D代码

      目录 开始编写球队代码 void NaoBehavior::beam() SkillType NaoBehavior::PlayOnSkill() 其他阶段函数 修复make异常 开始编写球队代码 装 ...