如何在运行时在 Unity 中设置贴图(除了反照率、法线和金属贴图)?
How to set maps (apart from albedo, normal and metallic) at runtime in Unity?
我正在尝试为我的游戏对象动态设置纹理。
它是这样工作的:
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 的第一个参数),例如高度、遮挡等?
(我说的是标准着色器)
如果您 select 在检查器中
您的着色器,您可以获得可用的贴图通道
对于完整的标准着色器,您可以查看源代码
https://github.com/TwoTailsGames/Unity-Built-in-Shaders/blob/master/DefaultResourcesExtra/Standard.shader
我正在尝试为我的游戏对象动态设置纹理。 它是这样工作的:
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 的第一个参数),例如高度、遮挡等? (我说的是标准着色器)
如果您 select 在检查器中
您的着色器,您可以获得可用的贴图通道对于完整的标准着色器,您可以查看源代码 https://github.com/TwoTailsGames/Unity-Built-in-Shaders/blob/master/DefaultResourcesExtra/Standard.shader