Ejemplo n.º 1
0
        public static GameObject CreateHeightedTerrainPlane(Point2D gameObjectSize,
                                                            MyRectangle inGamePosition, UniformsPack pack, HeightmapArray simplifiedMap)
        {
            var gameObject      = new GameObject("Ring1 terrain object " + inGamePosition.ToString());
            var terrainMaterial = new Material(Shader.Find("Custom/Terrain/Ring1DirectHeight"));

            pack.SetUniformsToMaterial(terrainMaterial);

            gameObject.AddComponent <MeshRenderer>();
            gameObject.GetComponent <Renderer>().material = terrainMaterial;
            gameObject.AddComponent <MeshFilter>();

            PlaneGenerator.createPlaneMeshFilter(gameObject.GetComponent <MeshFilter>(), 1, 1,
                                                 simplifiedMap.HeightmapAsArray);

            gameObject.transform.localScale    = new Vector3(inGamePosition.Width, 1, inGamePosition.Height);
            gameObject.transform.localPosition = new Vector3(inGamePosition.X, 0, inGamePosition.Y);

            return(gameObject);
        }
Ejemplo n.º 2
0
        public static SubmapPlane CreatePlaneObject(float[,] heightArray)
        {
            var planeObj = new GameObject {
                name = "myTestPlane"
            };

            PlaneGenerator.createPlaneMeshFilter(planeObj.AddComponent <MeshFilter>(), 1, 1, heightArray);

            var renderer = planeObj.AddComponent <MeshRenderer>();

            renderer.material.shader = Shader.Find("Particles/Additive");
            Texture2D tex = new Texture2D(1, 1);

            tex.SetPixel(0, 0, Color.green);
            tex.Apply();
            renderer.material.mainTexture = tex;
            renderer.material.color       = Color.green;

            return(new SubmapPlane(planeObj));
        }