Ejemplo n.º 1
0
    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());
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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());
    }
Ejemplo n.º 4
0
    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);
    }