void OnEnable() { var shader = Shader.Find("SpherePoints"); _material = new Material(shader); _material.hideFlags = HideFlags.DontSave; var hash = new Klak.Math.XXHash(123); var va = new List <Vector3>(); var ia = new List <int>(); for (var i = 0; i < _pointCount; i++) { var rand1 = hash.Value01(i * 2); var rand2 = hash.Value01(i * 2 + 1); var vi = va.Count; va.Add(new Vector3(rand1, rand2, 0)); va.Add(new Vector3(rand1, rand2, 1)); va.Add(new Vector3(rand1, rand2, 2)); va.Add(new Vector3(rand1, rand2, 3)); ia.Add(vi); ia.Add(vi + 1); ia.Add(vi + 2); ia.Add(vi + 1); ia.Add(vi + 3); ia.Add(vi + 2); } _mesh = new Mesh(); _mesh.name = "Points"; _mesh.hideFlags = HideFlags.DontSave; _mesh.vertices = va.ToArray(); _mesh.SetIndices(ia.ToArray(), MeshTopology.Triangles, 0); _mesh.bounds = new Bounds(Vector3.zero, Vector3.one); _mesh.UploadMeshData(true); }
void Start() { var hash = new XXHash(); var texture = new Texture2D(size, size); for (var y = 0; y < size; y++) { for (var x = 0; x < size; x++) { var c = hash.Value01(x + y * size); texture.SetPixel(x, y, new Color(c, c, c)); } } texture.Apply(); GetComponent<Renderer>().material.mainTexture = texture; }