赞
踩
最近在开发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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。