在Unity中,我们需要配合使用材质和UnityShader才能达到需要的渲染效果。最常见的流程是:
  1. 创建一个材质;
  2. 创建一个UnityShader,并把它赋给上一步中创建的材质;
  3. 把材质赋给要渲染的对象;
  4. 在材质面板中调整UnityShader的属性,以得到满意的效果。


    在Unity5.2及以上版本中,在Project面板创建Unity Shader时,会有以下四种模板:
  1. Standard Surface Shader:产生一个包含了标准光照模型的表面着色器模板;
  2. Unlit Shader:产生一个不包含光照但包含雾效的基本的顶点/片元着色器;
  3. Image Effect Shader:为我们实现各种屏幕后处理效果提供了一个基本模板;
  4. Compute Shader:产生一种特殊的Shader文件,旨在利用GPU的并行性来进行一些与常规渲染流水线无关的计算。


    Unity Shader本质上就是一个文本文件,在Project视图中选中某个Unity Shader即可看到导入设置面板。通过该面板,我们可以查看该着色器是否为一个表面着色器,或者固定函数着色器,还可以查看使用的渲染队列(Render queue)、是否关闭批处理(Disable batching)、属性列表(Properties)等。
  1. 如果该Shader是一个表面着色器,则Surface Shader后面会出现一个Show generated code按钮,点击该按钮打开的文件将显示Unity在背后为该表面着色器生成的顶点/片元着色器;
  2. 如果该Shader是一个固定函数着色器,则Fixed function后面也会出现一个Show generated code按钮,点击该按钮打开的文件将显示Unity在背后为该固定函数着色器生成的顶点/片元着色器。
  3. Compile and show code下拉列表可以让开发者检查该Unity Shader针对不同图像编程接口(如:OpenGL、D3D9等)最终编译成的Shader代码;直接点击Compile and show code按钮可以查看生成的底层的汇编指令。
    
    Shader|UnityShader相关概念







相关文章:

  • 2021-06-19
  • 2021-09-04
  • 2022-01-10
  • 2021-07-26
  • 2021-04-21
  • 2021-07-16
  • 2021-07-23
  • 2021-11-05
猜你喜欢
  • 2021-07-21
  • 2021-10-29
  • 2021-04-27
  • 2021-05-12
  • 2021-10-27
  • 2022-01-17
  • 2021-04-30
相关资源
相似解决方案