在Unity中如何在运行时设置地图(反照率,普通和金属地图除外)?

时间:2019-05-07 22:57:57

标签: unity3d textures

我正在尝试为游戏对象动态设置纹理。 它是这样的:

        var skin = _skinTable[index] as Hashtable;
        var renderer = CurrentShip.GetComponentInChildren<Renderer>();

        renderer.material.SetTexture("_MainTex", skin["albedo"] as Texture);
        renderer.material.SetTexture("_BumpMap", skin["normal"] as Texture);
        renderer.material.SetTexture("_MetallicGlossMap", skin["metallic"] as Texture);

在哪里可以找到其他地图的名称(SetTexture的第一个参数),例如高度,遮挡等? (我说的是标准着色器)

1 个答案:

答案 0 :(得分:0)

如果在检查器中选择了着色器,则可以获取可用的地图通道

enter image description here

对于完整的标准着色器,您可以检查源 https://github.com/TwoTailsGames/Unity-Built-in-Shaders/blob/master/DefaultResourcesExtra/Standard.shader