예제 #1
0
    //protected MeshFilter meshFilter;

    //protected MeshRenderer meshRenderer;

    //protected Mesh mesh;

    //public GameObject Cube
    //{
    //    get
    //    {
    //        if (g == null)
    //        {
    //            g = new GameObject();
    //            meshRenderer = g.AddComponent<MeshRenderer>();
    //            meshFilter = g.AddComponent<MeshFilter>();
    //        }
    //        return g;
    //    }
    //}

    public void Build()
    {
        //mesh = new Mesh();
        BaseMeshBuilder.BuildMesh();
        //UpdateMesh();
        //meshFilter.mesh = mesh;
    }
예제 #2
0
 protected void CombineWallMeshes()
 {
     ApplyTupleToMesh(wallParts
                      .Select(w => w.baseMeshBuilder)
                      .Aggregate(EmptyMesh, (t, meshB) =>
                                 BaseMeshBuilder <Vector2> .MergeMesh(
                                     t.Item1, t.Item2, t.Item3,
                                     meshB.triangles, meshB.colorData, meshB.vertices)));
 }
예제 #3
0
    public void BuildPlanet()
    {
        vertexCountsForLods = new int[] { 12, 42, 162, 642, 2562, 10242, 41912 };
        vertices            = new Vector3[VerticesAtLod(levelOfDetail)];
        triangles           = new int[TrianglesAtLod(levelOfDetail)];
        Create(levelOfDetail - 1);
        BuildUvs();
        BaseMeshBuilder <Color> .ShadeFlat(ref vertices, triangles, ref colorData);

        Mesh m = new Mesh();

        m.vertices  = vertices;
        m.triangles = triangles;
        m.colors    = colorData;
        m.RecalculateNormals();

        this.GetOrAddComponent <MeshFilter>().mesh = m;
    }