赞
踩
Mesh Filter : 存储一个Mesh(网格,模型的网格,就是模型的由哪些三角面组成,组成一个什么样子的模型,三角面的一些顶点信息)
Mesh Renderer:用来渲染一个模型的外观,就是样子, 按照 mesh给它皮肤,给它颜色
通过Material(材质)控制模型渲染的样子
Material
贴图(可以没有,可以是一个单纯的颜色)
(来自知乎tae)
发现有几种shader选项
标准表面着色器,是一种基于物理的着色系统(使用了Physically Based Rendering(简称PBR)技术,即基于物理的渲染技术),以模拟现实真实的方式来模拟材质与灯光之间的关系,可以很轻易的表现出各种金属反光效果,同时此种Shader的书写逻辑也更符合人类的思维模式。
Vertex/Fragment Shader,也就是最基本的顶点片断着色器,不受光照影响的Shader,多用于特效、UI上的效果制作。
也是顶点片断着色器,只不过是针对后处理而定制的模版,后处理是什么呢?Bloom(也有人叫Glow/泛光/辉光等说法)、调色、景深、模糊等,这些基于最终整个屏幕画面而进行再处理的Shader就是后处理。
Compute Shader是运行在图形显卡上的一段程序,独立于常规渲染管线之外的,它可以直接将GPU作为并行处理器加以利用,从而使GPU不仅具有3D渲染能力,还具有其他的运算能力。
Shader变体收集器,在上面创建的时候,你会发现Shader Variant Collection与以上四个是被隔开的,就是因为这个与它们不一样,它不是制作Shader的模版,而只是对Shader变体进行打包用的容器。
shader必须和材质相关联才可以被游戏中的物体所引用。
从Shader子菜单中选择"Unlit Shader"。创建完成后提示让我们输入新的名称,先不管它,默认即可。
由于在Unity中Shader就是运行在图形显卡上的一段包含指令的代码,所以我们需要再创建一个材质来关联它,这样才能把材质赋给场景中的物体来实现我们想要的效果。
再创建一个材质(Material或者经常被叫做材质球),由于材质也是一个资源,所以我们还是在Project面板中点击右键,从中选择Create/Material,如下图所示:
然后现在我们有了一个Shader和一个材质球,此时如果选中材质球在Inspector面板中就可以看到它的相关参数,比如这个材质所引用的是哪个Shader,以及具体暴露出来的参数是哪些等等。
我们先重点关注下其中的Shader这个参数。
它代表的是当前这个材质球是与哪个Shader绑定关联的,我们可以点击它的下拉列表框从中进行选择,前提是我们知道我们想关联的那个Shader的名字路径是哪个,这一点我们在后面会具体说明。
现在我们采用拖动的方式进行关联,在Project面板下直接拖动Shader到材质球上,然后你会发现材质球的Inspector面板中的Shader参数就已经被指定为刚才那个Shader了。
总结一下Shader与材质的关系:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。