我正在尝试设置材质的 mainTexture 但没有成功。这是我正在使用的代码:
//Material
skinData.m_Diffuse = new Material(Shader.Find("Unlit/TransparentVertexCol"));
UnityEngine.Object o;
node = root.GetChild("Diffuse");
if( node != null )
{
string name = node.value;
o = Resources.Load<Texture2D>(name);
skinData.m_Diffuse.mainTexture = Resources.Load<Texture2D>(name);
}
我添加了对象 o 以便进行调试。当我跟踪代码时,我已将其设置为Texture2D,并且我的skinData.m_Diffuse.mainTexture为空。几周前它起作用了。与此同时,我将 Unity 更新到了 5.3 版本,并添加了许多其他不会直接影响此问题的脚本。
我想我一定有一个原因为什么我可以设置一个像o这样的“自由”var而不是mainTexutre,但是没有消息,没有例外,什么都没有,所以如果有人有任何想法......
我的问题与 Shadercompiler.exe 无法正常工作有关。我当时没有具体的消息,然后,当我尝试编辑我的着色器以查看可能出现的问题时,我开始遇到另一个问题,您可以在此处看到无法从 UnityShaderCompiler.exe 着色器编译器获取套接字连接 。最后,代码中一切都很好。 补丁 5.3.1p3 解决了所有问题