예제 #1
0
        //
        //
        //
        private GameObject CreateUnitTile(float x, float z)
        {
            GameObject obj = CreateChild(x, z);

            PointList   points  = PrimitiveBuilder.CreateUnitTile();
            MeshBuilder builder = new MeshBuilder();

            builder.Cap(points);
            Mesh mesh = builder.Build();

            NodeBuilder.SetMesh(obj, mesh);
            return(obj);
        }
예제 #2
0
        void Start()
        {
            MeshBuilder builder = new MeshBuilder();

            PointList        pointsZ = PrimitiveBuilder.CreateUnitTile();
            PointList        pointsA = pointsZ.Translate(new Vector3(0f, -0.5f, 0f));
            PointList        pointsB = pointsA.Translate(Vector3.up);
            List <PointList> list    = pointsA.Bridge(pointsB, PointList.BridgeMode.CloseReuse);

            list.Add(pointsA.Reverse());
            list.Add(pointsB);
            foreach (PointList points in list)
            {
                SphereSide(points, builder, 5);
            }
            Mesh mesh = builder.Build();

            NodeBuilder.SetMesh(gameObject, mesh);
        }
예제 #3
0
        private GameObject CreateUnitTileUp(float x, float z)
        {
            GameObject obj = CreateChild(x, z);

            PointList pointsA = PrimitiveBuilder.CreateUnitTile();
            PointList pointsB = pointsA.Translate(Vector3.up);

            List <PointList> list = pointsA.Bridge(pointsB, PointList.BridgeMode.CloseReuse);

            MeshBuilder builder = new MeshBuilder();

            builder.Cap(list);
            builder.Cap(pointsB);
            builder.Cap(pointsA.Reverse());
            Mesh mesh = builder.Build();

            NodeBuilder.SetMesh(obj, mesh);
            return(obj);
        }
예제 #4
0
        void Start()
        {
            PointList        pointsA = PrimitiveBuilder.CreateUnitTile();
            PointList        pointsB = pointsA.Translate(0.2f * Vector3.up);
            List <PointList> list    = pointsB.Divide(3, 3);

            MeshBuilder builder = new MeshBuilder();

            builder.Cap(pointsA.Bridge(pointsB, PointList.BridgeMode.CloseReuse));

            foreach (PointList points in list)
            {
                DigHole(points, builder);
            }

            builder.Cap(pointsA.Reverse());
            Mesh mesh = builder.Build();

            NodeBuilder.SetMesh(gameObject, mesh);
        }
예제 #5
0
        void Start()
        {
            MeshBuilder builder = new MeshBuilder();

            // Create a cube
            PointList        pointsA = PrimitiveBuilder.CreateUnitTile();
            PointList        pointsB = pointsA.Translate(Vector3.up);
            List <PointList> list    = pointsA.Bridge(pointsB, PointList.BridgeMode.CloseReuse);

            list.Add(pointsA.Reverse());
            list.Add(pointsB);

            // Call Branch() on each face
            foreach (PointList points in list)
            {
                Branch(points, builder, 5);
            }
            Mesh mesh = builder.Build();

            NodeBuilder.SetMesh(gameObject, mesh);
        }