大家好, 为了应对越来越大的3D场景,我们需要Cocos Creator能支持更大的场景。模型LOD就是提升大场景表现的一种比较基础的手段,通过根据屏幕空间中物体所占比例,调整替换不同精度的模型,当物体距离相机较远时,显示低精度资源,节省渲染资源。
Lod工作流的引入是3.7的另一个重要更新,现在用户可以导入lod资源或者手动在场景里节点上添加lod组件。
实现效果:
以下是LOD功能的详细使用信息和步骤:
试用之前,需要大家先安装最新的 3.7 测试版: 【更新 122910】Cocos Creator 3.7 社区公测版
在进行测试前,我还是要例行唠叨一下,
Creator 项目不支持降级,因此请大家使用测试版时务必先备份好自己的项目!
所有【LOD】相关问题请在此回帖,不要另外发帖。老规矩,禁止歪楼,请勿回复无关内容。
工作流程:
- 下载或者生成带有LOD层级的模型资源
- 导入Creator
- 设置不同LOD所对应的屏幕占比
- 运行时自动切换
使用说明(导入自动工作流):
-
下载或者在建模软件(如Blender/maya中)导出带有LOD的模型,当模型名字为_LOD#结尾时,Creator导入可以自动识别为LOD组,例如meshName_LOD0,meshName_LOD1,meshName_LOD2等,自动为其添加lod组件(最多支持7个层级)
-
导入资源文件夹
-
添加到场景,系统自动生成创建LOD组件,组件中可以看到每个层级中mesh与面数的信息
-
在组件上可以调整各个lod层级所对应的屏占比信息,相机屏幕空间占比小于当前层级设置的screen size时,会自动切换到下一层级显示,当物体屏幕空间占比小于最后一个层级设置的比例后,物体将会被剔除掉。
-
可以在场景和运行时通过缩放摄像机镜头进行预览
使用说明(手动创建工作流):
- 创建一个空节点,并在节点上添加LOD组件
- 根据需要,手动添加或者删除lod层级,并为每个层级添加对应的mesh renderer
- 通过在viewport拖动摄像机检验是否生效