【Unity】关于升级到2021.3.12之后URP编译错误的问题

        前几天,我一时兴起,把Unity从2021.3.11 LTS 升级到 2021.3.12 LTS,本来以为不会有啥区别,然后意想不到的是,居然出现了编译错误:        

        我一开始以为这个就是我的工程设置有问题,然后我就就新建了一个Unity的URP示例工程:

         然后果然还是重现了上述问题,那就不是我本身工程的问题了,属于Unity自带的问题。然而这样反而更离谱了!

        我在网上看了一圈,发现国内还没有人报过这个问题,但是外国论坛上有的用户也遇到了相似的问题,比如这个:

Bug - Updating URP causes compiler errors (as always) - Unity ForumI updated URP from 12.1.6 to 12.1.7 and I'm getting some errors...[ATTACH]Edit: Oh and Shader Graphs and Visual Effect Graphs Versions are the...https://forum.unity.com/threads/updating-urp-causes-compiler-errors-as-always.1331604/        然而并没有人理他……

        也有的是不同的Unity版本,可以通过升级之类的就能解决了。但是我这个目前无论是Unity还是URP都是最新版本的,所以并不能这么解决。

        也有的说通过 Reset Packages to defaults 就能解决。我试过,这个方案确实能解决,他把URP干掉了当然就解决了……

        值得说的是,他这个URP12.1.7的包并不是在Unity的 GlobalCache 里面缓存的,我目测是内置在编辑器里的(类似于Build In),所以也无法通过重新下包来解决这个问题。即便删掉Library目录下的 Package 缓存,也是没有用的。

        然后我仔细看了下他的编译错误,我这里截取其中一个:

         library\packagecache\com.unity.render-pipelines.core@12.1.7\runtime\lighting\probevolume\probereferenevolume.streaming.cs(24,77): error cs0246: the type or namespace name 'cellinfo' could not be found (are you missing a using directive or an assembly reference?)

        这个就是说 CellInfo找不到嘛……然而这个确实不知道是个啥东西。

        我也看了其他的几个报错,基本都是说的在URP内部包的错误。你可以理解为URP的代码没有完整上传,或者删掉了其中几个类。这种属于低级错误了,这种编译错误都不需要测试人员,编译器自己就能检查出来,纯纯的语法错误。

        不过不纠结了。

        最后只有一个解决方案了:

        降级Unity到 2021.3.11。

        总之就是离谱吧。

        我看了下降级后的工程,确实没有报错了,然后URP的版本也依然是12.1.7。看来就是Unity新的安装包里内置的URP包有问题,不是URP本身的问题。

        如果是在是要用新版本的Uinty,看来只有把2021.3.11的URP拷贝出来,然后在2021.3.12里面用。

        (不会Unity 发包的时候都没测试过吧……)

      

        PS:2021.3.12 、 2020.3.41 这两个版本升级风险较高。Unity 修改了一些接口,并且与原来的不兼容,总之,谨慎!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值