初学Shader,Unity报错↑,总之是找不到ulsl的Core文件,网上找的其他解决方案例如删除文件夹再生成或者改变shader的某些属性,但是根本找不到。
最终找到原因是项目类型不同,要把传统3D升级成URP项目。
解决办法:安装Universal RP拓展
1.在unity中打开需要升级的场景,Save As一份并打开该场景
2.转到菜单栏,选择“Window”>“Package Manager”,在Package Manager中,搜索并安装“Universal RP”(即Universal Render Pipeline)软件包
3.在Project下创建一个URP Asset (with Universal Renderer)
4.在“Project Settings”窗口中,展开“Graphics”类别,并将“Scriptable Render Pipeline Settings”拖入新建的“URP Asset (with Universal Renderer)”。在“Project Settings”窗口中,展开“Player”类别,并在“Other Settings”中找到“Color Space”字段。将其设置为“Linear”。
5.将所有的Material的Shader修改为Standard,然后选定所有Material转换成URP
到这里我们已经成功将我们的场景升级成URP
参考:
unity的3d项目和URP项目有什么区别呢? - 麻辣小烤鸭的回答 - 知乎
https://www.zhihu.com/question/435126903/answer/2942570628