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;

		} 
	}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM