unity3d 更换装备mesh
using UnityEngine;
using System.Collections;
public class changeControl : MonoBehaviour {
const int buttonWidth = 100;
const int buttonNum = 5;
public Mesh huangguang;
public Mesh neck;
public Mesh hudiejie;
public Mesh[] kuwaMesh;
public bool[] status;
public GameObject[] kuwaObj;
public GameObject shenti;
public Mesh shentiMesh;
private Color shentiColor;
public GameObject loadObj;
// Use this for initialization
void Start () {
kuwaMesh = new Mesh[4];
status = new bool[buttonWidth];
for(int i=0; i<buttonWidth; i++){
status[i] = false;
}
kuwaObj = new GameObject[4];
kuwaObj = GameObject.FindGameObjectsWithTag("kuwa");
for(int i=0; i<4; i++){
kuwaMesh[i] = kuwaObj[i].GetComponent<SkinnedMeshRenderer>().sharedMesh;
}
neck = GameObject.FindGameObjectWithTag("neck").GetComponent<SkinnedMeshRenderer>().sharedMesh;
huangguang = GameObject.FindGameObjectWithTag("huangguang").GetComponent<MeshFilter>().sharedMesh;
shenti = GameObject.Find("shenti_1");
shentiMesh = shenti.GetComponent<SkinnedMeshRenderer>().sharedMesh;
shentiColor = shenti.renderer.material.color;
/
}
// Update is called once per frame
void Update () {
}
void OnGUI(){
GUILayout.BeginArea(new Rect(10, 10, buttonWidth, 500));
// Buttons for changing.
// ********================================================
if (GUILayout.Button("huangguang", GUILayout.Width(buttonWidth))){
if(!status[0]){
//GameObject.FindGameObjectWithTag("huangguang").GetComponent<MeshFilter>().sharedMesh = null;
GameObject.FindGameObjectWithTag("huangguang").GetComponent<MeshFilter>().renderer.enabled = false;
status[0] = true;
}
else{
//change mesh
//GameObject.FindGameObjectWithTag("huangguang").GetComponent<MeshFilter>().sharedMesh = huangguang;
// hide renderer
GameObject.FindGameObjectWithTag("huangguang").GetComponent<MeshFilter>().renderer.enabled = true;
status[0] = false;
}
}
if (GUILayout.Button("neck", GUILayout.Width(buttonWidth))){
GameObject obj = GameObject.FindGameObjectWithTag("neck");
SkinnedMeshRenderer mr = (SkinnedMeshRenderer)obj.GetComponent<SkinnedMeshRenderer>();
if(!status[2]){
mr.sharedMesh = null;
status[2] = true;
}
else{
mr.sharedMesh = neck;
status[2] = false;
}
}
if (GUILayout.Button("hudijie", GUILayout.Width(buttonWidth))){
GameObject obj = GameObject.FindGameObjectWithTag("hudiejie");
SkinnedMeshRenderer mr = (SkinnedMeshRenderer)obj.GetComponent<SkinnedMeshRenderer>();
if(!status[2]){
//mr.sharedMesh = null;
mr.enabled = false;
status[2] = true;
}
else{
//mr.sharedMesh = hudiejie;
mr.enabled = true;
status[2] = false;
}
}
if (GUILayout.Button("tuiwa", GUILayout.Width(buttonWidth))){
if(!status[3]){
for(int i=0; i<4; i++){
kuwaObj[i].GetComponent<SkinnedMeshRenderer>().sharedMesh = null;
}
status[3] = true;
}
else{
for(int i=0; i<4; i++){
kuwaObj[i].GetComponent<SkinnedMeshRenderer>().sharedMesh = kuwaMesh[i];
}
status[3] = false;
}
}
if (GUILayout.Button("shenti", GUILayout.Width(buttonWidth))){
SkinnedMeshRenderer mr;
if(false)
mr = (SkinnedMeshRenderer)shenti.GetComponent<SkinnedMeshRenderer>();
if(!status[4]){
//mr.sharedMesh = null;
shenti.renderer.material.color = new Color(Random.Range(10,90)*0.01f,Random.Range(10,90)*0.01f,Random.Range(10,90)*0.01f,0f);
status[4] = true;
}
else{
shenti.renderer.material.color = shentiColor;
status[4] = false;
}
}
// ********================================================
GUILayout.EndArea();
}
}