Unity3d运行时动态修改材质

Posted mimime

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3d运行时动态修改材质相关的知识,希望对你有一定的参考价值。

void Start () {
		const string MainTexVariableName = "_MainTex";
		var renders = gameObject.GetComponentsInChildren<Renderer>();

		var resMat = Resources.Load<Material>("CharacterThrough");

		foreach (var render in renders)
		{
			var oreginalMaterial = render.sharedMaterial;
			var currentRender = render;

			var newMat = new Material(resMat);

			newMat.SetTexture(MainTexVariableName, oreginalMaterial.GetTexture(MainTexVariableName));

			currentRender.material = newMat;

		} 
	}

以上是关于Unity3d运行时动态修改材质的主要内容,如果未能解决你的问题,请参考以下文章

Unity 5 中的运行时法线贴图导入

Unity3D教程:实现房产项目中的材质动态切换

Unity3D深入浅出 -创造 物理材质(Physics Materials)

关于Unity中如何代码动态修改天空盒

Three.js - 在运行时更改材质

Unreal Cook Book:动态改变材质的颜色等参数