提示:选中右侧目录,可快速找到所需内容
本系列博客链接:传送门
注意:
- Amplify Impostors不支持:SkinnedMesh
- 建议在Unity2018.4进行。
【笔者在2017做测试,BillboardMesh下的预览图始终是透明,渲染出的图片都是黑的和白的。换成2018后正常显示。】
2017
2018
一、LOD介绍
根据摄像机距离目标的远近不同,显示不同精度的模型。下方的两套LOD模型都存在内存里,虽然会增加内存消耗,但会减少渲染负担。
我们可以看到离模型最近时,显示左边的树,10.5k面,离远时显示右边树,7.6k面。
二、AmplifyImpostors介绍
将一个模型各个面的显示信息保存到一张图片里,根据摄像机距离不同显示完整的模型,还是图片
LOD显示的都是模型,AmplifyImpostors显示模型和图片。
下图左侧树是原模型,右侧是 AmplifyImpostors 给这棵树创建的图片。我们可以看到原树面数为5.9k,优化后图片为22。
三、AmplifyImpostors 属性讲解
- ImpostorAsset:资源文件
- LOD Group:添加上该模型的LOD组件后,可对该LOD组件信息进行调整
- Bake Type:渲染模型(下文讲解)
- TextureSize:生成的贴图的尺寸。值越大,生成的优化物分辨率越高。
- Pixel Padding:增加了每个成像画面边界的像素,从而避免在mipmap过程中可能产生的干扰。值为32意味着图片每个方向上会扩大32个像素。
Billboard Mesh:
- Max Vertices[4,16] :用来定义左侧最大顶点的数量,最后顶点数量不会超过它。
- Outline Tolerance[0,1]:通过提高本参数或提高顶点数量,将使得最后生成的形状会更紧密贴合物件形状。参数被设置为0将产生一个包裹整个物体的形状,其形状更松散和简单。然而设置值为1,则将生成的形状更贴合物体(需要同时设置一个合理的顶点数量)。
- Normal Scale [0,1]:这个值根据物体画面中形状的法线来设置顶点位置,将值设为最大,将创建一个矩形。当形成矩形时,多余的顶点将被去除。
Bake Preset:
预设的烘焙参数,也可自己点new,重新赋值
- Suffix:贴图的后缀名字
- Channels:通道。有RGBA、RGB
- sRGB:是否包含sRGB
- Compression:压缩模式。有None、Low、Normal、High
- Format:格式。有PNG、TGA
全局设置:
Edit--Preference--Impostors:
New Impostor Default Path:创建Impostor时默认的保存路径。
- RelativeToPrefab,点+时打开Asset路径。
- Global,点+时弹出 Relative to Prefab Floder 设置的文件夹路径。
Texture Importer Settings:如果改变贴图材质大小的话,是否要询问一遍。
Create LODGroup if not present:勾选将会自动为其创建添加了LOD Group组件的父物体(只在object没有添加的LOD Group组件时才会起效)。
Suffixes:贴图的后缀名字
四、AmplifyImpostors 优化过程
1、导入模型,添加组件
给模型添加 AmplifyImpostor 组件
2、给该模型创建资源文件
a、可点+创建,创建完的资源文件自动赋值给ImpostorAsset
b、可在Assets右键Create--AmplifyImpostorAsset创建
3、 选择对应渲染模式
AmplifyImpostors 有3中渲染模式,根据需要选择相应的模式
1)Spherical
效果:转动摄像头观察目标时,目标会弹动(因为该目标共生成了AxisFrames【16】个面。要根据摄像头看它的位置不同,切换成相应朝向的图片)
a、BakeType:Spherical,TextureSize:4096(笔者用8192测试,发现该插件会卡住,期待后续解决)
b、BakeImpostor,生成。
图片不清晰解决办法:
- 可发现上面我的图不清晰,可通过调高 TextureSize 生成贴图的尺寸,增加分辨率
- 可通过减少生成的贴图面数 AxisFrames ,达到在固定贴图大小下,减少贴图内的面数,来提高每个面的分辨率的目的。
2)Octahedron
效果:相对第一种,提高了对摄像机旋转的支持。在远处观察时,生成的模型没有明显的抖动效果。
缺点是不能放近了看,放近了看会有明显的重叠效果。(但我们LOD都是远处显示这个模型,近处都用真是模型。刚好解决了这个问题。)
3) HemiOctahedron
效果:该模式只渲染模型正面(不渲染反面),渲染完从正面看非常好(因为只渲染一半,精度提高了),但从反面看这个模型,就穿帮了。
Enjoy!