111
This commit is contained in:
272
Assets/ThirdParty/Tools/SwitchMaterial/Editor/SwitchMaterialsEditor.cs
vendored
Normal file
272
Assets/ThirdParty/Tools/SwitchMaterial/Editor/SwitchMaterialsEditor.cs
vendored
Normal file
@@ -0,0 +1,272 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
[CustomEditor(typeof(SwitchMaterials))]
|
||||
public class SwitchMaterialsEditor : Editor
|
||||
{
|
||||
SwitchMaterials inst;
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
inst = target as SwitchMaterials;
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.OnInspectorGUI();
|
||||
|
||||
//
|
||||
if(GUILayout.Button("Switch", GUILayout.Height(50)))
|
||||
{
|
||||
foreach(Transform t in inst.root.GetComponentsInChildren<Transform>())
|
||||
{
|
||||
if(t.gameObject.activeSelf && t.GetComponent<MeshRenderer>())
|
||||
{
|
||||
SwitchMat(t);
|
||||
}
|
||||
}
|
||||
|
||||
Debug.Log("Done!");
|
||||
}
|
||||
|
||||
//
|
||||
if (GUILayout.Button("ReplaceMaterils", GUILayout.Height(50)))
|
||||
{
|
||||
Material[] materials = inst.root.GetComponent<MeshRenderer>().sharedMaterials;
|
||||
Material[] mats = new Material[materials.Length];
|
||||
|
||||
for(int i = 0; i < materials.Length; ++i)
|
||||
{
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/" + materials[i].name.Split('.')[0] + ".mat", typeof(Material)) as Material;
|
||||
}
|
||||
|
||||
inst.root.GetComponent<MeshRenderer>().sharedMaterials = mats;
|
||||
|
||||
Debug.Log("Done!");
|
||||
}
|
||||
}
|
||||
|
||||
void SwitchMat(Transform t)
|
||||
{
|
||||
MeshRenderer meshRenderer = t.GetComponent<MeshRenderer>();
|
||||
Material[] mats = new Material[meshRenderer.sharedMaterials.Length];
|
||||
|
||||
for(int i = 0; i < mats.Length; ++i)
|
||||
{
|
||||
switch (meshRenderer.sharedMaterials[i].name)
|
||||
{
|
||||
case "<22><>Ȼ":
|
||||
break;
|
||||
case "MI_Bamboo_Leaf_01 (Instance)":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Bamboo_Leaf_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Bamboo_Leaf_02 (Instance)":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Bamboo_Leaf_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Bamboo_Leaf_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Bamboo_Leaf_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Bamboo_Leaf_02":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Bamboo_Leaf_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_BambooBaluster_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_BambooBaluster_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Dandelion_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Dandelion_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Floor_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Floor_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_FX_Leaf_01 (Instance)":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_FX_Leaf_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_FX_BambooLeaf (Instance)":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_FX_BambooLeaf.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Grass_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Grass_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Landscape_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Landscape_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_LandscapeMesh_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_LandscapeMesh_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Flower_01 (Instance)":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Flower_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Flower_02 (Instance)":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Flower_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Leaf_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Leaf_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Leaf_02":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Leaf_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Leaf_03":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Leaf_03.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Leaf_04":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Leaf_04.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Leaf_05":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Leaf_05.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Lotus_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Lotus_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Pine_Leaf_01 (Instance)":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Pine_Leaf_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Trunk_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Trunk_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Trunk_02":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Trunk_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Plant_Trunk_03":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Plant_Trunk_03.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Rock_01 (Instance)":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Rock_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Rock_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Rock_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Rock_01_Grass":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Rock_01_Grass.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Stone_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Stone_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Stone_01_VertexColor":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Stone_01_VertexColor.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Stone_03":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Stone_03.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Stone_04":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Stone_04.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Stone_05":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_StoMI_Stone_05ne_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_StoneBrick_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_StoneBrick_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_StoneBrick_02_Water":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_StoneBrick_02_Water.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_StoneBrick_03":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_StoneBrick_03.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_StoneFence_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_StoneFence_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_StoneLamp_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_StoneLamp_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_StoneTable_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_StoneTable_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Water_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Water_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Water_02":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Water_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Wood_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Wood_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Wood_02":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Wood_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Wood_03":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_Wood_03.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "<22><><EFBFBD><EFBFBD>":
|
||||
break;
|
||||
case "MI_RedWood_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_RedWood_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_RedWood_02":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_RedWood_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_RedWood_03":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_RedWood_03.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Roof_01A_Wood":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Roof_01A_Wood.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Roof_01A_RedWood":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Roof_01A_RedWood.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Gold":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Gold.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Tile":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Tile.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_MetalMask_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_MetalMask_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_MetalMask_02":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_MetalMask_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_MetalMask_03":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_MetalMask_03.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Wall_03_Wood_A":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Wall_03_Wood_A.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Wall_03_Wood_B":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Wall_03_Wood_B.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Roof_01_RedWood":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Roof_01_RedWood.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Roof_01B_Wood":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Roof_01B_Wood.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Wall_Stone_01_B":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Wall_Stone_01_B.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Window_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Window_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_Window_01_Wood":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Building/House/MI_Window_01_Wood.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "<22><>":
|
||||
break;
|
||||
case "MI_FogCard":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Fog/MI_FogCard.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_FogCard_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Fog/MI_FogCard_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_FogCard_02":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Fog/MI_FogCard_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_FogCard_Floor_01":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Fog/MI_FogCard_Floor_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_FogCard_Floor_02":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Fog/MI_FogCard_Floor_02.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "MI_FogCard_Floor_03":
|
||||
mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/Fog/MI_FogCard_Floor_03.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
case "Fbx Default Material":
|
||||
//mats[i] = AssetDatabase.LoadAssetAtPath("Assets/CartoonOriental/Scene/Materials/MI_StoneBrick_01.mat", typeof(Material)) as Material;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
meshRenderer.sharedMaterials = mats;
|
||||
}
|
||||
}
|
||||
11
Assets/ThirdParty/Tools/SwitchMaterial/Editor/SwitchMaterialsEditor.cs.meta
vendored
Normal file
11
Assets/ThirdParty/Tools/SwitchMaterial/Editor/SwitchMaterialsEditor.cs.meta
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f8c9aeab0b9d99c4c8f56888600274f7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user