273 lines
17 KiB
C#
273 lines
17 KiB
C#
|
|
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;
|
|||
|
|
}
|
|||
|
|
}
|