186 lines
5.0 KiB
C#
186 lines
5.0 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using UnityEngine.Analytics;
|
||
|
||
public class tmptool : MonoBehaviour
|
||
{
|
||
public Transform a;
|
||
public Transform b;
|
||
public List<MeshRenderer> arender = new List<MeshRenderer>();
|
||
public List<MeshRenderer> brender = new List<MeshRenderer>();
|
||
public List<Material> amats = new List<Material>();
|
||
public List<Material> bmats = new List<Material>();
|
||
|
||
[ContextMenu("GetRenderer")]
|
||
public void GetMat()
|
||
{
|
||
arender.Clear();
|
||
brender.Clear();
|
||
|
||
var xa = a.GetComponentsInChildren<MeshRenderer>();
|
||
for (int i = 0; i < xa.Length; i++)
|
||
{
|
||
if (xa[i].name.Contains("R"))
|
||
{
|
||
arender.Add(xa[i]);
|
||
}
|
||
}
|
||
var xb = b.GetComponentsInChildren<MeshRenderer>();
|
||
for (int i = 0; i < xb.Length; i++)
|
||
{
|
||
if (xb[i].name.Contains("R"))
|
||
{
|
||
brender.Add(xb[i]);
|
||
}
|
||
}
|
||
}
|
||
|
||
[ContextMenu("Compair")]
|
||
public void Compair()
|
||
{
|
||
//for (int i = 0; i < arender.Count; i++)
|
||
//{
|
||
// if (brender[i].GetComponent<MeshFilter>().mesh.name == arender[i].GetComponent<MeshFilter>().mesh.name)
|
||
// {
|
||
|
||
// }
|
||
// else
|
||
// {
|
||
// Debug.Log("Ãû³Æ²»Æ¥Åä");
|
||
// }
|
||
//}
|
||
}
|
||
|
||
[ContextMenu("Replace Materials")]
|
||
public void Replace()
|
||
{
|
||
for (int i = 0; i < arender.Count; i++)
|
||
{
|
||
//brender[i].materials = new Material[arender[i].materials.Length];
|
||
//for (int j = 0; j < brender[i].materials.Length; j++)
|
||
//{
|
||
// brender[i].CopyComponent
|
||
//}
|
||
UnityEditorInternal.ComponentUtility.CopyComponent(arender[i]);
|
||
UnityEditorInternal.ComponentUtility.PasteComponentValues(brender[i]);
|
||
}
|
||
}
|
||
|
||
#region Mesh Filter
|
||
|
||
//public List<MeshFilter> ameshs = new List<MeshFilter>();
|
||
|
||
//[ContextMenu("»ñÈ¡AMeshFilter×é¼þ")]
|
||
///// <summary>
|
||
///// »ñÈ¡Mesh×é¼þ
|
||
///// </summary>
|
||
//void GetAMeshFilter()
|
||
//{
|
||
// for (int i = 0; i < a.childCount; i++)
|
||
// {
|
||
// //if (a.GetChild(i).GetComponent<Mesh>())
|
||
// //{
|
||
// // ameshs.Add(a.GetChild(i).GetComponent<Mesh>());
|
||
// //}
|
||
// //else
|
||
// //{
|
||
// // ameshs.Add(a.GetChild(i).getc<Mesh>());
|
||
// //}
|
||
// ameshs.Add(a.GetChild(i).GetComponentInChildren<MeshFilter>());
|
||
// }
|
||
//}
|
||
|
||
//public List<MeshFilter> bmeshs = new List<MeshFilter>();
|
||
|
||
//[ContextMenu("»ñÈ¡BMeshFilter×é¼þ")]
|
||
///// <summary>
|
||
///// »ñÈ¡Mesh×é¼þ
|
||
///// </summary>
|
||
//void GetBMeshFilter()
|
||
//{
|
||
// for (int i = 0; i < b.childCount; i++)
|
||
// {
|
||
// //if (a.GetChild(i).GetComponent<Mesh>())
|
||
// //{
|
||
// // ameshs.Add(a.GetChild(i).GetComponent<Mesh>());
|
||
// //}
|
||
// //else
|
||
// //{
|
||
// // ameshs.Add(a.GetChild(i).getc<Mesh>());
|
||
// //}
|
||
// bmeshs.Add(b.GetChild(i).GetComponentInChildren<MeshFilter>());
|
||
// }
|
||
//}
|
||
|
||
//[ContextMenu("Replace BMeshFilter")]
|
||
//public void ReplaceABMesh()
|
||
//{
|
||
// for (int i = 0; i < ameshs.Count; i++)
|
||
// {
|
||
// //brender[i].materials = new Material[arender[i].materials.Length];
|
||
// //for (int j = 0; j < brender[i].materials.Length; j++)
|
||
// //{
|
||
// // brender[i].CopyComponent
|
||
// //}
|
||
// UnityEditorInternal.ComponentUtility.CopyComponent(ameshs[i]);
|
||
// UnityEditorInternal.ComponentUtility.PasteComponentValues(bmeshs[i]);
|
||
// }
|
||
//}
|
||
#endregion
|
||
|
||
#region Mesh
|
||
|
||
public List<MeshRenderer> a_meshs = new List<MeshRenderer>();
|
||
|
||
[ContextMenu("»ñÈ¡AMesh×é¼þ")]
|
||
/// <summary>
|
||
/// »ñÈ¡Mesh×é¼þ
|
||
/// </summary>
|
||
void GetAMesh()
|
||
{
|
||
for (int i = 0; i < a.childCount; i++)
|
||
{
|
||
|
||
//a_meshs.Add(a.GetChild(i).GetComponentInChildren<MeshRenderer>());
|
||
|
||
if (a.GetChild(i).GetComponent<MeshRenderer>())
|
||
a_meshs.Add(a.GetChild(i).GetComponent<MeshRenderer>());
|
||
}
|
||
}
|
||
|
||
public List<MeshRenderer> b_meshs = new List<MeshRenderer>();
|
||
|
||
[ContextMenu("»ñÈ¡BMesh×é¼þ")]
|
||
/// <summary>
|
||
/// »ñÈ¡Mesh×é¼þ
|
||
/// </summary>
|
||
void GetBMesh()
|
||
{
|
||
for (int i = 0; i < b.childCount; i++)
|
||
{
|
||
|
||
//b_meshs.Add(b.GetChild(i).GetComponentInChildren<MeshRenderer>());
|
||
if (b.GetChild(i).GetComponent<MeshRenderer>())
|
||
b_meshs.Add(b.GetChild(i).GetComponent<MeshRenderer>());
|
||
}
|
||
}
|
||
|
||
[ContextMenu("Replace BMesh")]
|
||
public void ReplaceA_BMesh()
|
||
{
|
||
for (int i = 0; i < a_meshs.Count; i++)
|
||
{
|
||
|
||
UnityEditorInternal.ComponentUtility.CopyComponent(a_meshs[i]);
|
||
UnityEditorInternal.ComponentUtility.PasteComponentValues(b_meshs[i]);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
public void change_mat()
|
||
{
|
||
|
||
}
|
||
}
|