美文网首页
# Shared入门笔记(1)

# Shared入门笔记(1)

作者: 风信子up | 来源:发表于2016-12-27 17:22 被阅读26次

一般在游戏物体GameObject上面会有最为基本的组件MeshFilter以及MeshRender组件,MeshFilter主要用来存储网格,就是模型由哪些三角面组成,组成一个什么样子的模型,三角面的一些顶点信息。

MeshRender用来渲染一个模型的外观,按照Mesh给它皮肤、外观,通过Material(材质)来控制模型渲染的样子。

Material由贴图(可以没有,可以是一个单纯的颜色)和Shader组成(由反光程度、光滑程度等构成)。

  XUANRAN

Shader可以认为是一种渲染命令,由OpenGL组成或DX进行解析,来控制渲染丰富多彩的图形。其中GLSLshader语言用于OpenGL,HLSLshader语言用于DirectX,而CG(NIVADA公司)是跨平台的,可以在这两种平台上运行。

Unity Shader的分类:1.表面着色器 Surface Shader (表面着色器相当于顶点着色器的封装);2.顶点/片元着色器 Vertex/Fragment Shader,顶点着色器比表面着色器会更强大一些;3.固定函数着色器Fixed Function Shader,现在已经弃用。

我们在场景的模型有些时候会出现紫色的情况,其实是Unity不知道如何对其进行渲染就会出现这样一种状态。

Shader的基本构成

Shader

在上面Shader就相当于C#里面的MonoBehaviour{};里面包含的有属性Properties以及SubShader块,在SubShader块中的Pass相当于C#里一个个的方法;子SubShader块可以有很多个,用来控制效果,很多个是因为显卡不同,功能强的显卡用第一个SubShader,如果第一个SubShader里面的效果可以实现,那么就使用第一个SubShader,如果显卡这个SubShader里面的某些效果它实现不了,就会自动去运行下一个SubShader。

FallBack用来指定一个存在的Shader,相当于后备方案,前面的所有SubShader都实现不了就运行这个。

相关文章

网友评论

      本文标题:# Shared入门笔记(1)

      本文链接:https://www.haomeiwen.com/subject/epcevttx.html