在场景中新建一个Cube,在Inspector窗口中可以看到Cube自动添加了MeshFilter/MeshRenderer组建。如下图所示。
为了能够使物体可以正确的显示在场景画面中,三者必不可少。
网格过滤器 MeshFilter
从资源中挑选出需要使用的Mesh给MeshRenderer, 为接下来的渲染做好准备工作。
网格渲染器 MeshRenderer
把过滤器加载好的Mesh绘制显示到场景中。 Mesh渲染到场景中还是相对复杂的。
假设移除或者取消勾选组件MeshRenderer,可以发现左侧场景中的Cube虽然存在,但是它已经不被渲染。如下图所示:
同理,如果移除MeshFilter,渲染器就丢失了Mesh的数据,渲染器就会不知道自己要渲染什么。
材质球 Material
材质球是渲染器中非常重要的角色,它的配置决定了物体表面的外观将以怎样的质地呈现在场景中。
如果MeshRenderer中丢失了材质,那么物体的颜色将会变成品红色。把MeshRenderer的材质设置为None,如下图所示:
没有材质,为什么是品红色?
RGB的值为0-255,为了方便计算,会讲该值定位0-1区间, 将R和B调整为1就是品红色。 所以出现品红色也可以成为101问题。
着色器 Shader
Material有什么可以调整的参数全部由shader来决定 ,这些参数服务于shader。如果shader出了问题,就算MeshRenderer没有丢失材质也会同样出现101问题。(即物品会变成品红色)