在研究一个东西的时候,我们首先要问三个问题?
What?什么是导入设置?
我们可以在资源文件的Inspector界面看到这个文件的相关设置,导入设置本质上是AssetImporter或其衍生类。
Why?为什么我们要使用导入设置?
我们导入的资源大部分是由第三方软件生成的,而这些资源需要指定一些参数或者附加一些信息才能被U3D使用或者更好的使用。
How?导入设置是如何产生效果的?
在资源导入的同时,会生成与之对应的meta文件,meta文件除了保存资源的GUID和meta文件的创建时间外,还包含了一些其他的设置,其中就包含导入设置的参数,当U3D使用这些资源文件的时候,就会根据meta文件中的设置来进行对应的处理。当然资源文件的Inspector界面上的数值也是根据meta文件反序列化(到对应的AssetImporter)得到的。
(注:本文中在一些名词上添加了超链接,如果想了解更多,可以直接链接过去)
如下图,是一个模型的导入设置。
首先是Model页签:
Scale Factor:缩放因子,不同的建模程序生成的模型文件,尺度单位不同,为了在U3D里统一,就需要进行缩放。模型文件的缩放因子:
.fbx, .max, .jas, .c4d = 0.01
.mb, .ma, .lxo, .dxf, .blend, .dae = 1
.3ds = 0.1
Use File Scale:使用文件的默认缩放值。
Mesh Compression:网格压缩,会导致失真。官方的想法是,尽可能的压缩网格,只要模型看起来不至于太奇怪。
Optimize Mesh:优化网格,如果开启,网格的定点和三角形会按照U3D既定的一套规则重新排序用以提高GPU性能。
Import BlendShapes:导入BlendShapes(用于表情动画)。
Generate Colliders:生成碰撞体。
KeepQuads:保持四边形,不转换为三角形。我们在U3D中使用的网格,大部分是把所有的面都转换成了三角形,但是某些特定的需求下,四边形会得到更好的效果,例如Tessellation shaders(细分曲面着色器)。
Weld Vertices:焊接顶点,如果开启,相同位置的顶点会被合并。
Swap UVs:交换uv,如果有光照贴图的对象UV通道不正确,则使用本项。会交换主uv和光照贴图uv(uv2)。
Generate Lightmap UV:为光照贴图生成UV。如果开启Generate Lightmap UV,会在该选项下面多出四个参数。
关于这些参数的含义,可以参考:
http://www.ceeger.com/Manual/LightmappingUV.html
Normals:法线:
Tangents:切线(以及次法线):
Import Materials:是否导入材质。如果否,则不生成新的材质,默认使用“Default-Diffuse”。
Material Naming:材质命名方式。
Material Search:材质搜索方式。
然后是Rig页签:
最后是Animations页签: