欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【记录帖】关于Unity导入FPX模型,贴图与自发光的问题

程序员文章站 2022-06-11 10:46:26
...

**
【记录帖】关于Unity导入FPX模型,贴图与自发光的问题**

	公司的3d做出来的模型是fpx的,导入Unity之后会需要很多地方贴上自发光,如果模型小,贴图少还好说,但是多了的话会很麻烦,所以写了一个小脚本 ,可以自动打开自发光并且贴上贴图,话不多说,上代码。






/*
	使用方法为:吧脚本拖进项目中,然后放在在模型资源的最上级,运行一下项目,在停止,然后点击脚本的小齿轮,选择Materials ,就搞定。
*/

using System.Linq;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AddMaterials : MonoBehaviour
{
public GameObject all;
List m_material;

[ContextMenu("Materials")]
 void GiveMaterials()
 {
	 m_material = new List<Transform>();
	var aa = all.GetComponentsInChildren<Transform>();
	foreach (var item in aa)
	{
		if(item.GetComponent<MeshRenderer>()!=null)
			m_material.Add(item);
	}

	 foreach (var item in m_material)
	 {
		var Temp = item.GetComponent<MeshRenderer>().material;
		if(Temp.mainTexture!=null)
		{
			Temp.EnableKeyword("_EMISSION");
            Temp.SetTexture("_EmissionMap", Temp.mainTexture);
            Temp.SetColor("_EmissionColor", Color.white);
		}
		else
		{
			Temp.EnableKeyword("_EMISSION");
            Temp.SetColor("_EmissionColor", Color.white);
		}
	 }
 }

}

相关标签: unity