编程语言
首页 > 编程语言> > Unity IL2CPP 发布程序的错误

Unity IL2CPP 发布程序的错误

作者:互联网

 

最近项目需要,使用了IL2CPP发布的程序。结果发现会报错——MeshRenderer的ReceiveShadows属性找不到。尝试解决的过程中,偶尔会错误消失,一度以为是偶现的编辑器问题。

由于代码中使用了反射获取ReceiveShadows的值,怀疑是Unity的Strip把MeshRenderer的值去除了。

经过查找资料,发现可以通过添加link.xml手动添加ReceiveShadows,这样就不会Strip这个属性,问题解决。

至于错误偶尔消失的问题,是由于寻找解决方案时代码中直接访问了ReceiveShadows,这样Unity也不会Strip这个属性。所以这也是一种间接的解决方案。

 

以下为简单的link,详细介绍参照Unity官方文档,功能比较多。

 

1 <linker>
2     <assembly fullname="UnityEngine.CoreModule">
3         <type fullname="UnityEngine.Renderer">
4             <property signature="System.Boolean receiveShadows"/>
5         </type>
6     </assembly>
7 </linker>

 

标签:ReceiveShadows,错误,IL2CPP,Unity,link,MeshRenderer,Strip
来源: https://www.cnblogs.com/LightZhang/p/14275390.html