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已更新!"));
    }
    }

  • 相关阅读:
    phpstorm Failed to create JVM:error code -4
    php内置函数
    多少
    php 正则
    php 数组 array
    位运算题
    c标准库函数 strcat
    strcpy c标准库函数
    编写一个删除c语言程序文件中所有的注释语句
    杂记
  • 原文地址:https://www.cnblogs.com/JimmyCode/p/4674026.html
Copyright © 2011-2022 走看看