现在的位置: 首页 > 综合 > 正文

Unity3D优化之合并网格

2014年09月13日 ⁄ 综合 ⁄ 共 885字 ⁄ 字号 评论关闭
using UnityEngine;
using System.Collections;

public class CombineMeshes : MonoBehaviour
{
    void Start()
    {
        MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();
        CombineInstance[] combine = new CombineInstance[meshFilters.Length];
        int i = 0;
        while (i < meshFilters.Length)
        {
            combine[i].mesh = meshFilters[i].sharedMesh;
            combine[i].transform = meshFilters[i].transform.localToWorldMatrix;
            meshFilters[i].gameObject.SetActive(false);
            i++;
        }

        transform.GetComponent<MeshFilter>().mesh = new Mesh();
        transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine);
        transform.gameObject.SetActive(true);
    }
} 

using UnityEngine;
using System.Collections;
using UnityEditor;

public class EditorTools : MonoBehaviour
{

    [MenuItem("Tools/Save Combine Mesh")]
    public static void SaveMesh()
    {
        Mesh m = Selection.activeGameObject.GetComponent<MeshFilter>().sharedMesh;
        AssetDatabase.CreateAsset(m, "Assets/tmp/cmbMesh.asset");
        AssetDatabase.SaveAssets();
    }
}


原文地址点击这里

【上篇】
【下篇】

抱歉!评论已关闭.