无法在Unity脚本中设置材质的mainTexture

问题描述 投票:0回答:1

我正在尝试设置材质的 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,但是没有消息,没有例外,什么都没有,所以如果有人有任何想法......

c# unity-game-engine texture2d
1个回答
0
投票

我的问题与 Shadercompiler.exe 无法正常工作有关。我当时没有具体的消息,然后,当我尝试编辑我的着色器以查看可能出现的问题时,我开始遇到另一个问题,您可以在此处看到无法从 UnityShaderCompiler.exe 着色器编译器获取套接字连接 。最后,代码中一切都很好。 补丁 5.3.1p3 解决了所有问题

© www.soinside.com 2019 - 2024. All rights reserved.