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); }
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)); }