章程

引擎升级:在引擎升级: 在Geometry上更新的小图标的含义,以及是否生成法线和切线选项的取舍。


这次的引擎升级,进入Geometry面板,会发现左边的资源栏里,在名字后面多了新的图标。 在右边的属性面板上。 多了Generate Normal, Tangent,Quantify data的选项。
左边的标识符号,主要是对资源是否带有必备或者冗余数据的排查。 右边的激活选项主要是对不必要的资源进行屏蔽。

1

先看左边的 Icon,基本上有以下几种:

2

  1. 带第二套UV: 该物体有第二个UV, 一般情况下,需要 lightmap的物体和 某些特效材质 需要使用物体的第二个UV, 所以倒入场景的时候可以做一个快速排查,例如如果发现需要lightmap的场景物件没有带这个图标,或者一个角色的Geometry上带了这个图标,那就需要分析是不是哪里出错了。

  2. 带光滑组: 该物体带有手动分的软硬边或者光滑组, 光滑组/软硬边,是手动分法线的视觉表现。 所以美术对该物体是需要导出手分光滑组的,那在引擎里就一定应该看到物体是带这个图标的。 其他,比如场景物体仅仅使用diffuse和lightmap的,特效面片的,一个物体只有一个统一的光滑组的,那在引擎里是不应该看到物体带有这个图标的。

  3. 带顶点色:该物体带有顶点色的信息。 目前来说,我们在特效里,lightmap的补充方案里会需要物体顶点色的信息。如果没有为了特效的效果,以及把lightmap烘焙在顶点色上这些特殊需求而导出顶点色,在引擎里是不应该看到该物体携带这个数据的。

接下来是右方属性面板上法线和切线数据的屏蔽和激活:

3

Quantify data是一些关于模型顶点数据流的压缩,默认开启,美术就没有必要去管了。对应 Generate Normal(法线),Tangent(切线)的排列组合,来列一下具体的应用:

  1. Normal和Tangent 两个都关上: 没有法线和切线的支持,物体不受任何光照影响,如果物体仅仅使用一张diffuse + lightmap,就是应该保持这两个选项都关上。 其他,很多特效的材质,由于不受光照影响,如果没有glow的效果选上,这两个选项也都应该是关上的。(Normal的选项默认是开启的,确认不需要的话需要手动关上)。

  2. Normal开,Tangent关 : 如果物体仅仅采用高光贴图而没有法线贴图, 就需要开启normal来获取光照信息。 高光,边缘光,天空盒(cubemap)反射,这些效果,都是可以通过只开启 Normal而不开启tangent得到的,其他如果特效,粒子要计算glow的效果的话,也需要开启一个Normal来实现。

  3. Normal关,Tangent开: 不存在这种情况。

  4. Normal 和 Tangent 双开: 物体既用到高光,又用到了法线贴图,就需要开启Tangent, 其他如果用到各项异性的高光模式(Anisotropic Specular),也是需要开切线进行支持的。

这一块的激活和屏蔽,是并不写入模型文件,不会永久性的改变模型数据的。这里的钩选与否,是在做即时渲染的时候,stream的时候,用来屏蔽掉模型上基于美术需求不必要的信息,可以大大提高数据读取交换的效率。希望项目组针对自己项目的美术要求,对每个物体进行检查,屏蔽掉不必要的数据,对运行效率的提高是极其有帮助的。

最后,看一下这次这一块所有的升级在我们3dsmax插件中的直观的对应:

4

设定里的:

Normals’ patch: 就是仅导出光滑组边缘上的顶点的, 也就是软硬边的法线信息, 余下顶点的法线信息,引擎自动生成。
注意,该选项的上面那个选项 “include explicit vertex normal” 是强制导出所有顶点的法线信息,会增加很多数据量,所以如果对整体光滑组的角度没有非常特别的要求,不用选这个。

Split mirrored geoms : 两个条件必须满足, 1。模型必须是使用法线贴图的模型。2。法线贴图上有镜像复用的部分。开了这个,引擎会调整切线的算法,纠正在被镜像的法线贴图上的光影。 所以,既然涉及到切线,这个开了的话,在引擎里自然也要打开 “generate Tangent” 选项。

Export second UV map automatically : 导出第二个UV.

Inculde vertex color : 导出顶点色。

总而言之:角色,场景,特效,各部分的制作人员现在可以在引擎的编辑器里面通过小图标,直观的看到自己导出资源所携带的负载信息。通过对自己需要的最终视觉效果的分析,去掉或者屏蔽掉冗余的信息,这样可以对内存和客户端大小的优化做到极致