zoukankan      html  css  js  c++  java
  • 空Shader重新指认工具

    using UnityEngine;
    using UnityEditor;
    using System.Collections;

    public class CheckCharacterShader : EditorWindow
    {
    /// <summary>
    /// 检测Character材质是否丢失shader丢失后重新指认
    /// 请把脚本拷贝到Editor文件件下右键执行
    /// </summary>
    static CheckCharacterShader listWindow;
    private string checkPath = "Assets/Art/Characters";

    [MenuItem("Assets/CheckCharacterShader")]

    // Use this for initialization
    static void Start ()
    {
    listWindow = (CheckCharacterShader)EditorWindow.GetWindow(typeof(CheckCharacterShader), true, "角色空shader指定");
    listWindow.minSize = new Vector2(600,200);
    listWindow.Show();
    }

    void OnGUI()
    {
    if (GUILayout.Button("角色空shader指定", GUILayout.Height(40)))
    {
    AssignNullShader();
    }
    }

    void AssignNullShader()
    {
    string[] PathList = AssetDatabase.FindAssets("t:Material", new string[] { checkPath });

    for (int i = 0; i < PathList.Length; ++i)
    {
    string matPath = AssetDatabase.GUIDToAssetPath(PathList[i]);

    if (matPath.Contains("Models") && !matPath.Contains("Effects"))
    {
    Material material = AssetDatabase.LoadAssetAtPath(matPath, typeof(Material)) as Material;

    if (material.shader == Shader.Find("Hidden/InternalErrorShader"))
    {
    material.shader = Shader.Find("DreamFaction/Characters/Characters");
    }

    }
    }

    AssetDatabase.Refresh();
    this.ShowNotification(new GUIContent("Project已更新!"));
    }
    }

  • 相关阅读:
    STL
    Makefile
    配置pyqt5环境 for python3.4 on Linux Mint 17.1
    SELinux Policy Macros
    python爬虫
    python常用模块
    python中if __name__ == '__main__':
    Centos 7 .Net core后台守护进程Supervisor配置
    阅读Google Protocol Buffers 指南,整理pb语法
    Google Protocol Buffers 入门
  • 原文地址:https://www.cnblogs.com/JimmyCode/p/4674026.html
Copyright © 2011-2022 走看看