4.网格渲染器和过滤器


 
要对网格 上色 需要2个组件
网格过滤器(Mesh Filter)和网格着色器(meshRenderer)
当你汇入模型时Unity会自动创建一个预制对象
并产生网格过滤器组件用来存放模型的网格信息

网格着色器不会对设定为皮肤的网格上色
皮肤网格主要用在有骨架与动作的角色上每根骨架都会影响着部分网格
如果模型批了一层皮,Unity会自动建立一个皮肤网格着色器取代原着色器
皮肤网格着色器(Skinnedmesh renderer)的介绍可以参考其他章节

每个网格资源都有它自己的过滤器和着色器
如果这个模型由数个网格组成,那预制对象(perfabs)里所有网格对象都会有过滤器和着色器配成对
网格过滤器保存模型的网格信息并传给网格着色器来着色在画面上

网格过滤器(Mesh Filter)只有一个参照网格信息的属性
着色器从过滤器取得信息后,依照Transform的属性像是坐标,旋转和缩放并把网格画在场景上

网格着色器有几项属性用来定义模型在场景里的着色
基本可分为三大类阴影(shadow)、材质和光源探测
有了阴影,如果有一盏灯打在物体上我们可以设定网格着色器是否要投射或者接收阴影
接下来是用来着色对象的材质列表
在unity里,网格着色器最少要制定一个材质才能对场景里的对象着色
更多关于材质的介绍,可参考相关章节

如果模型在建模软件已经制定了复述材质那输入到unity也会使用复述材质
材质在网格着色器里就叫材质(materials)管理模型的所有材质(如下图)
正常情况下,这个列表只会包含一种材质
材质列表里每个子项都会对应材质格

如果没有任何个字制定材质那么模型就会变成粉红色快
提醒你材质遗失了

最后是光源探测
网格可以被光源探测照亮
光源探测会对场景里的点取样光源然后投射回自己的着色网格对象
通常会和光照贴图(Light mapping)一起使用
光源探测针对动态对象打光,尤其像角色这种无法用光照贴图呈现光源的对象
要使用光源探测User Light Probles 这个选项必须启用

更多关于光源探测的功能包含慢点复写(anchor override)属性请参阅其他章节或官网的官方文件

转载于:https://my.oschina.net/u/211101/blog/480118

你可能感兴趣的:(游戏)