只看结论可以跳到最后两段话。
按照Laya官网教程,与Laya2系列对标的unity导出插件对应的unity版本是2018.4.7。
但是我们有时候不得不导入高版本的unity资源。
由于unity2019以及后面的新版本资源导入到2018版本,会出现依赖资源丢失的问题,这是因为fileId字段不兼容造成的文件关联丢失。所以如果laya限制在2018版本导出资源,那确实是很麻烦的事情。
分析过程:
测试了一下unity不同版本导入laya插件的兼容情况,结果如下:
unity2020版本(使用urp)基本无法正常运行,能打开插件界面但各种报错;
unity2019则相对好一点,除了laya自带的shader会报错,还是能正常导出。这里注意必须用unity默认渲染管线,不要用urp,并且player setting里的色彩空间用gamma,不要用其它的,否则laya的shader会报错。这里shader的报错大意是alpha这个变量没声明,可以给它声明一下临时的 half alpha=0.0 让其不报错,反正色彩空间用了gamma后,shader脚本不会走这个#if分支。
好了,既然知道了兼容情况,那么可以通过unity2019作为中间版本,把高版本资源导进来,然后再导出到laya里。
最重要的是,在unity2019新建一个纯净的3d默认渲染管线工程,来进行资源导出,不要在urp工程里切换渲染管线。