目前使用Unity开发项目绝大部分已经使用URP渲染管线,但是TriLib加载进来的模型默认的还是使用内置渲染管线的材质,这会导致材质无法正常显示,解决办法如下:
1、在Assets目录下新建一个AssetLoaderOptions的ScriptObejct文件:如下图
2、新建一个UniversalRPMaterialMapper的ScriptObejct文件:如下图
3、现在你会得到两个文件,确认无误后继续
4、点击AssetLoaderOptions,选择Materials,将UniversalRPMaterialMapper文件添加到Material Mappers中
5、到这一步再次加载准备好的模型就已经可以正常显示材质了。
但是还会出现贴图压缩的错误。因为这个插件要求的是贴图宽高需要是4的倍数,如果不符合标准就会报错,我们可以再次设置,如下图
在Texture选项里选择不压缩,就可以了。
6、加载模型,我是用的下面这个API ,从硬盘上加载的
AssetLoader.LoadModelFromFile(path, null, LoadEndCallBack, null, null, parent, assetLoaderOptions);
path:路径
LoadEndCallBack:加载完成的回调函数
parent:父物体GameObject类型
assetLoaderOptions:上面创建的AssetLoaderOptions文件,为了方便我是放到Resources文件夹下,用Resources.Load<>()
函数
工作环境:
Unity2021.3.2f1c1
TriLib 2
全文结束