纳金网

标题: 合并网格的代码 [打印本页]

作者: 烟雨    时间: 2015-9-30 19:52
标题: 合并网格的代码

  1. using UnityEngine;
  2. using System.Collections;

  3. public class CombineMeshes : MonoBehaviour
  4. {
  5.      void Start()
  6.      {
  7.           MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();
  8.           CombineInstance[] combine = new CombineInstance[meshFilters.Length];
  9.           int i = 0;
  10.           while (i < meshFilters.Length)
  11.           {
  12.                combine.mesh = meshFilters.sharedMesh;
  13.                combine.transform = meshFilters.transform.localToWorldMatrix;
  14.                meshFilters.gameObject.SetActive(false);
  15.                i++;
  16.           }

  17.           transform.GetComponent<MeshFilter>().mesh = new Mesh();
  18.           transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine);
  19.           transform.gameObject.SetActive(true);
  20.      }
  21. }


  22. using UnityEngine;
  23. using System.Collections;
  24. using UnityEditor;

  25. public class EditorTools : MonoBehaviour
  26. {   
  27.      [MenuItem("Tools/Save Combine Mesh")]
  28.      public static void SaveMesh()
  29.      {
  30.           Mesh m = Selection.activeGameObject.GetComponent<MeshFilter>().sharedMesh;
  31.           AssetDatabase.CreateAsset(m, "Assets/tmp/cmbMesh.asset");
  32.           AssetDatabase.SaveAssets();
  33.      }
  34. }
复制代码





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5