private Texture2D GenerateFruitTexture() { TextureBuilder texturer = new TextureBuilder(); int size = m_fruit_texture_size; // Randomize colors Color fruitColor = new Color(Random.Range(0.1f, 0.9f), Random.Range(0.1f, 0.9f), Random.Range(0.1f, 0.9f), 1.0f); texturer.ColorTexture(size, fruitColor); int randPattern = Random.Range(0, 3); switch (randPattern) { case 0: texturer.AddPerlinNoise(Random.Range(2.0f, 100.0f), 0.2f, -0.5f); break; case 1: Color fruitColor1 = new Color(Random.Range(0.1f, 0.9f), Random.Range(0.1f, 0.9f), Random.Range(0.1f, 0.9f), 1.0f); texturer.OverlaySolidNoise(fruitColor1, Random.Range(0.1f, 0.9f), Random.Range(1.0f, 50.0f), Vector2.zero, 1.0f); break; case 2: Color fruitColor2 = new Color(Random.Range(0.1f, 0.9f), Random.Range(0.1f, 0.9f), Random.Range(0.1f, 0.9f), 1.0f); texturer.OverlayStripes(fruitColor2, Random.Range(1.0f, 10.0f), Random.Range(0.2f, 0.8f), Random.Range(0.0f, 180.0f), 1.0f); break; } texturer.GetTexture().Apply(); return(texturer.GetTexture()); }
private Texture2D GenerateTrunkTexture(int size) { TextureBuilder texturer = new TextureBuilder(); // Randomize colors Color treeColor = new Color(0.36f, 0.27f, 0.18f, 1.0f); Color treeColorVar = new Color(0.1f, 0.1f, 0.1f, 0.0f); Color treeColorSpecial = new Color(0.5f, 0.5f, 0.5f, 1.0f); Color treeColorSpecialVar = new Color(0.4f, 0.4f, 0.4f, 1.0f); float specialChance = 0.1f; Color[] randomTreeColors = new Color[4]; if (Random.Range(0.00f, 1.00f) > specialChance) { // Use normal values randomTreeColors[0] = new Color(Random.Range(treeColor.r - treeColorVar.r, treeColor.r + treeColorVar.r), Random.Range(treeColor.g - treeColorVar.g, treeColor.g + treeColorVar.g), Random.Range(treeColor.b - treeColorVar.b, treeColor.b + treeColorVar.b), 1.0f); for (int i = 1; i <= 3; i++) { randomTreeColors[i] = randomTreeColors[0] * new Color(Random.Range(treeColor.r - treeColorVar.r, treeColor.r + treeColorVar.r), Random.Range(treeColor.g - treeColorVar.g, treeColor.g + treeColorVar.g), Random.Range(treeColor.b - treeColorVar.b, treeColor.b + treeColorVar.b), 1.0f); } } else { // Use special values randomTreeColors[0] = new Color(Random.Range(treeColorSpecial.r - treeColorSpecialVar.r, treeColorSpecial.r + treeColorSpecialVar.r), Random.Range(treeColorSpecial.g - treeColorSpecialVar.g, treeColorSpecial.g + treeColorSpecialVar.g), Random.Range(treeColorSpecial.b - treeColorSpecialVar.b, treeColorSpecial.b + treeColorSpecialVar.b), 1.0f); for (int i = 1; i <= 3; i++) { randomTreeColors[i] = randomTreeColors[0] * new Color(Random.Range(treeColorSpecial.r - treeColorSpecialVar.r, treeColorSpecial.r + treeColorSpecialVar.r), Random.Range(treeColorSpecial.g - treeColorSpecialVar.g, treeColorSpecial.g + treeColorSpecialVar.g), Random.Range(treeColorSpecial.b - treeColorSpecialVar.b, treeColorSpecial.b + treeColorSpecialVar.b), 1.0f); } } texturer.ColorTexture(size, randomTreeColors[0]); //texturer.AddPerlinNoise(50.0f,0.5f,-0.5f); //for (int i = 0; i < 4; i++) { // texturer.OverlaySolidNoise(m_tree_colors[i+1],m_color_thresholds[i],m_noise_scales[i],m_noise_offsets[i],m_noise_opacity[i]); //} texturer.OverlayStripes(randomTreeColors[1], 8.0f, 0.2f, 75.0f, 0.7f); texturer.OverlayStripes(randomTreeColors[2], 10.0f, 0.4f, 80.0f, 0.7f); texturer.GetTexture().Apply(); return(texturer.GetTexture()); }
public void UpdateTexture(TextureType type) { Texture2D tex = TextureBuilder.GetTexture(type); renderer.sharedMaterial.mainTexture = tex; Debug.Log("Changed Texture"); }
private void GenerateRockMaterial() { TextureBuilder texturer = new TextureBuilder(); Color rockColor = new Color(0.4f, 0.4f, 0.4f, 1.0f); texturer.ColorTexture(128, rockColor); texturer.OverlayStripes(rockColor * 0.8f, 16, 0.4f, 0.0f, 1.0f); Texture2D rockTex = texturer.GetTexture(); rockMat = new Material("Default"); rockMat.shader = Shader.Find("Diffuse"); rockTex.Apply(); rockMat.SetTexture("_MainTex", rockTex); }
private void GenerateGrassMaterial() { TextureBuilder texturer = new TextureBuilder(); Color grassColor = new Color(0.22f, 0.64f, 0.1f, 1.0f); texturer.ColorTexture(256, grassColor); texturer.OverlayStripes(grassColor * 0.8f, 16, 0.4f, 0.0f, 1.0f); texturer.CutOutGrassShape(32); Texture2D grassTex = texturer.GetTexture(); grassMat = new Material("Default"); grassMat.shader = Shader.Find("Transparent/Cutout/Diffuse"); grassTex.mipMapBias = -0.5f; grassTex.Apply(); grassMat.SetTexture("_MainTex", grassTex); }
void OnChangedTexture(TextureType type) { if (type == TextureType.Tectonic || type == TextureType.Height) { displayInertia = true; } else { displayInertia = false; } Texture2D tex = TextureBuilder.GetTexture(type); Sprite spr = Sprite.Create(tex, new Rect(Vector2.zero, new Vector2(tex.width, tex.height)), Vector2.zero); image.sprite = spr; dropdown.value = ((int)type); Debug.Log("UI Recived ChangeTexture Signal"); }
private Texture2D GenerateLeafTexture(int size) { TextureBuilder texturer = new TextureBuilder(); Color leafColor = new Color(0.1f, 0.5f, 0.1f, 1.0f); if (m_leaf_randomize_colors) { /* * Color[] randomColors = new Color[4]; * randomColors[0] = new Color(Random.Range(0.2f,0.8f),Random.Range(0.2f,0.8f),Random.Range(0.2f,0.8f),1.0f); * for(int i = 1; i <= 3; i++) { * randomColors[i] = randomColors[0]*new Color(Random.Range(0.2f,0.8f),Random.Range(0.2f,0.8f),Random.Range(0.2f,0.8f),1.0f); * } * texturer.Color4GridTexture(size,randomColors); */ Color[] randomColors = new Color[4]; if (Random.Range(0.00f, 1.00f) > specialChance) { // Use normal values randomColors[0] = new Color(Random.Range(leafColor.r - treeColorVar.r, leafColor.r + treeColorVar.r), Random.Range(leafColor.g - treeColorVar.g, leafColor.g + treeColorVar.g), Random.Range(leafColor.b - treeColorVar.b, leafColor.b + treeColorVar.b), 1.0f); for (int i = 1; i <= 3; i++) { randomColors[i] = randomColors[0] * new Color(Random.Range(leafColor.r - treeColorVar.r, leafColor.r + treeColorVar.r), Random.Range(leafColor.g - treeColorVar.g, leafColor.g + treeColorVar.g), Random.Range(leafColor.b - treeColorVar.b, leafColor.b + treeColorVar.b), 1.0f); } } else { // Use special values randomColors[0] = new Color(Random.Range(treeColorSpecial.r - treeColorSpecialVar.r, treeColorSpecial.r + treeColorSpecialVar.r), Random.Range(treeColorSpecial.g - treeColorSpecialVar.g, treeColorSpecial.g + treeColorSpecialVar.g), Random.Range(treeColorSpecial.b - treeColorSpecialVar.b, treeColorSpecial.b + treeColorSpecialVar.b), 1.0f); for (int i = 1; i <= 3; i++) { randomColors[i] = randomColors[0] * new Color(Random.Range(treeColorSpecial.r - treeColorSpecialVar.r, treeColorSpecial.r + treeColorSpecialVar.r), Random.Range(treeColorSpecial.g - treeColorSpecialVar.g, treeColorSpecial.g + treeColorSpecialVar.g), Random.Range(treeColorSpecial.b - treeColorSpecialVar.b, treeColorSpecial.b + treeColorSpecialVar.b), 1.0f); } } texturer.Color4GridTexture(size, randomColors); } else { texturer.Color4GridTexture(size, m_leaf_colors); } //texturer.OverlaySolidNoise(m_leaf_color-new Color(0.3f,0.3f,0.3f,0.0f),0.5f,20.0f,new Vector2(0.0f,0.0f),1.0f); //texturer.OverlaySolidNoise(m_leaf_color,0.6f,20.0f,new Vector2(0.0f,0.0f),1.0f); if (m_leaf_randomize_shape) { texturer.CutOutLeafShape(1, 8, true); } else { // Default leaf shape TextureBuilder.LeafCurvePoint[] leafPoints = new TextureBuilder.LeafCurvePoint[2]; //Vector2 up = new Vector2(0.0f,0.1f); //Vector2 down = new Vector2(0.0f,-0.1f); leafPoints[0].start = new Vector2(0.5f, 0.0f); leafPoints[0].mid1 = leafPoints[0].start + new Vector2(0.0f, 0.5f); leafPoints[0].end = new Vector2(0.2f, 0.7f); leafPoints[0].mid2 = leafPoints[0].end + new Vector2(0.0f, -0.5f); leafPoints[1].start = new Vector2(0.2f, 0.7f); leafPoints[1].mid1 = leafPoints[1].start + new Vector2(0.2f, -0.3f); leafPoints[1].end = new Vector2(0.5f, 1.0f); leafPoints[1].mid2 = leafPoints[1].end + new Vector2(-0.1f, -0.3f); texturer.CutOutLeafShape(leafPoints, 2, true); } texturer.GetTexture().Apply(); return(texturer.GetTexture()); }