コード例 #1
0
    void GenerateMesh()
    {
        MeshFilter[] meshFilters = GetComponentsInChildren <MeshFilter>();
        MeshFilter[] Temp_       = new MeshFilter[0];

        int    VertCount       = 0;
        int    CominationCount = 0;
        string Name_           = "LOD_Far_Mesh";

        for (int i = 0; i < meshFilters.Length; i++)
        {
            VertCount += meshFilters[i].GetComponent <MeshFilter>().sharedMesh.vertices.Length;
            if (VertCount < 65000)
            {
                Temp_ = DynamicArray.AddMeshFilterToArray(Temp_, meshFilters[i]);
            }
            else
            {
                CombineMeshes(Temp_, CominationCount++, Name_, 0);
                VertCount = 0;
                Temp_     = new MeshFilter[0];
                Temp_     = DynamicArray.AddMeshFilterToArray(Temp_, meshFilters[i]);
            }
        }
        if (Temp_.Length > 0)
        {
            CombineMeshes(Temp_, CominationCount++, Name_, 0);
        }
    }
コード例 #2
0
    void GenerateBranch(MeshFilter[] meshFilters, int Id)
    {
        MeshFilter[] Temp_     = new MeshFilter[0];
        int          VertCount = 0;

        string Name_ = "Branch_LOD_Close_";

        for (int i = 0; i < meshFilters.Length; i++)
        {
            VertCount += meshFilters[i].GetComponent <MeshFilter>().sharedMesh.vertices.Length;
            if (VertCount < 65000)
            {
                Temp_ = DynamicArray.AddMeshFilterToArray(Temp_, meshFilters[i]);
            }
            else
            {
                CombineMeshes(Temp_, Id, Name_, 1);
                VertCount = 0;
                Temp_     = new MeshFilter[i];
                Temp_     = DynamicArray.AddMeshFilterToArray(Temp_, meshFilters[i]);
            }
        }
        if (Temp_.Length > 0)
        {
            CombineMeshes(Temp_, Id, Name_, 1);
        }
    }