Unity 批量修改预制体的材质贴图Generate Mip Maps勾选状态
Unity 批量修改预制体的材质贴图Generate Mip Maps勾选状态
需求
编辑器下批量模型贴图的Generate Mip Maps的勾选状态

解决
- 获取预制体的MeshRenderer上的材质球
- 获取材质球上的texture并得到texture资源路径
- 利用TextureImpoter修改贴图选项并保存
public static void ModelDisableGenerateMipMaps()
{FileInfo[] fs = new DirectoryInfo(prefabPath).GetFiles("*.prefab", SearchOption.AllDirectories);// Assets/xxx 路径形式string modelPath = "Assets" + prefabPath.Replace(Application.dataPath, "");for (int i = 0; i < fs.Length; i++){FileInfo f = fs[i];string absFilePath = modelPath + f.Name;GameObject temp = AssetDatabase.LoadAssetAtPath<GameObject>(absFilePath);MeshRenderer meshRenderer = temp.GetComponent<MeshRenderer>();if (meshRenderer){Material material = meshRenderer.sharedMaterial;string imgPath = AssetDatabase.GetAssetPath(material.mainTexture);// Debug.Log(imgPath);TextureImporter textureImporter = TextureImporter.GetAtPath(imgPath) as TextureImporter;if (textureImporter.mipmapEnabled){textureImporter.mipmapEnabled = false;textureImporter.SaveAndReimport();AssetDatabase.Refresh();}}else{Debug.LogError("不存在meshRenderer:" + f.Name);}}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
