public void GenerateNoiseMap()
    {
        float[,] noiseMap = Noise.GenerateNoiseMap(chunkSize, chunkSize, noiseScale, octaves, persistance, lacunarity, seed, offset);

        NoisePreview noisePreview = FindObjectOfType <NoisePreview>();

        noisePreview.DrawNoiseMap(noiseMap);
    }
Exemple #2
0
    protected override bool DrawWizardGUI()
    {
        EditorGUILayout.HelpBox("IMPORTANT: Make sure the texture is marked as readable and not a normal map (hack for now) in the import settings", MessageType.Warning);
        displayPreviews = EditorGUILayout.Foldout(displayPreviews, "Display Previews");
        if (displayPreviews)
        {
            var  lastRect = GUILayoutUtility.GetLastRect();
            Rect preview1 = new Rect(new Vector2(previewSize / 8f - 5f, lastRect.yMax + 20), new Vector2(previewSize, previewSize));
            Rect preview2 = new Rect(new Vector2(previewSize + previewSize / 8f + 5f, lastRect.yMax + 20), new Vector2(previewSize, previewSize));

            NoisePreview.DrawTexture(editSettings.editedTexture, preview1, previewSize);
            NoisePreview.DrawTexture(normalToEdit, preview2, previewSize);

            GUILayout.Space(previewSize + 25f);
        }

        return(base.DrawWizardGUI());
    }
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        var script = target as NoiseSettings;

        EditorGUILayout.Space();

        DisplayPreview = EditorGUILayout.Foldout(DisplayPreview, "Preview Noise Result");

        if (DisplayPreview)
        {
            if (!gridInitialized)
            {
                previewSeed = GetCurrentSeed();
                UpdateCheck(script);
                gridInitialized = true;
                EditorCoroutine.StartEditorCoroutine(CheckForUpdates(script));
            }

            var   lastRect         = GUILayoutUtility.GetLastRect();
            float previewPixelSize = (float)previewSize * previewScale;

            previewWindowRect = new Rect(new Vector2(lastRect.center.x - previewPixelSize / 2f, lastRect.yMin + 20), new Vector2(previewPixelSize, previewPixelSize));
            float previewOutputRange = 0f;
            if (script.passOperationType == NoiseSettings.PassOperation.ADD)
            {
                previewOutputRange = script.outputCurve.maxOutputValue - script.outputCurve.minOutputValue;
            }
            else if (script.passOperationType == NoiseSettings.PassOperation.MULTIPLY)
            {
                previewOutputRange = 1f;
            }

            NoisePreview.DrawNoise(script.debugPreviewGrid, previewWindowRect, previewOutputRange);
            GUILayout.Space(previewPixelSize + 5f);

            EditorGUI.indentLevel++;

            previewSeed = EditorGUILayout.IntField("Preview Seed: ", previewSeed);

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Get Current Seed"))
            {
                previewSeed = GetCurrentSeed();
                GeneratePreview(script);
            }
            if (GUILayout.Button("Randomize Seed"))
            {
                previewSeed = CustomMathf.GetRandomSeed();
                GeneratePreview(script);
            }
            EditorGUILayout.EndHorizontal();

            EditorGUI.indentLevel--;
        }

        EditorGUILayout.Space();
        EditorGUILayout.Space();
        EditorGUILayout.Space();

        if (GUILayout.Button("--- Generate Terrain ---"))
        {
            GameObject.FindObjectOfType <TerrainGenerator>().GenerateMesh();
        }
    }