当前位置:   article > 正文

程序在Unity编辑器中运行正常,发布后运行出现ArgumentNullException: Value cannot be null. Parameter name: shader问题解决方案_unity argumentnullexception: value cannot be null.

unity argumentnullexception: value cannot be null. parameter name: shader

    最近在开发Unity程序,眼看程序在编辑器中运行没问题了,发布后出现值为空错误,网上找了很多资料,也排除了很多可能性,搞了半天,最后发现是发布时没有将用到的所有Scene添加到Scenes In Build中。

    仔细分析了原因,主要是我的场景中调用了一个插件中的scene例子下的脚本,第一次发布时没有将例子场景添加到Scenes In Build中,所以会出现值为空的错误,unity在发布时会根据scene来查找需要打包的资源,如果不将所有用到的scene加进来,有些资源是无法打包进最后的程序的,所以会在程序运行时,提示有些值为空,程序出错。

    遇到这种问题应首先查看.Log文件,分析错误原因,然后再寻找解决办法。希望能帮到大家,欢迎大家指正,最后附上错误提示。

ArgumentNullException: Value cannot be null.
Parameter name: shader
  at (wrapper managed-to-native) UnityEngine.Material.CreateWithShader(UnityEngine.Material,UnityEngine.Shader)
  at UnityEngine.Material..ctor (UnityEngine.Shader shader) [0x00007] in <9b3b6573bfb64614aa7ee01c0905dc79>:0 
  at UniFBXTextures.CreateMaterial (System.String textureID, System.String materialID) [0x00020] in E:\Unity_Doc\UnityFBXTest\Assets\CSUE\UniFBX\Lib\UniFBXTextures.cs:142 
  at UniFBX.GetLayeredTextures (System.Int32 i) [0x001bb] in E:\Unity_Doc\UnityFBXTest\Assets\CSUE\UniFBX\Lib\UniFBX.cs:470 
  at UniFBXImport+<ILoad>d__15.MoveNext () [0x00673] in E:\Unity_Doc\UnityFBXTest\Assets\CSUE\UniFBX\Lib\UniFBXImport.cs:429 
  at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00027] in <9b3b6573bfb64614aa7ee01c0905dc79>:0 
 
(Filename: <9b3b6573bfb64614aa7ee01c0905dc79> Line: 0)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/125310
推荐阅读
相关标签
  

闽ICP备14008679号