public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorUtils.CenteredBoxedLabelField("out = -in");
        base.OnEditorGUI(uTerrain, graph);
#endif
    }
Beispiel #2
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorUtils.CenteredBoxedLabelField(string.Format("in ∈ [{0},{1}]\n=> out ∈ [{2},{3}]",
                                                          inBounds.x, inBounds.y, outBounds.x, outBounds.y),
                                            GUILayout.MaxWidth(100));

        EditorGUILayout.BeginVertical(GUILayout.MaxWidth(100));

        inBounds = EditorUtils.MinMaxField("Input min/max", inBounds);
        if (inBounds.y < inBounds.x + 0.001f)
        {
            inBounds.y = inBounds.x + 0.001f;
        }

        outBounds = EditorUtils.MinMaxField("Output min/max", outBounds);
        if (outBounds.y < outBounds.x + 0.001f)
        {
            outBounds.y = outBounds.x + 0.001f;
        }

        EditorGUILayout.EndVertical();
        base.OnEditorGUI(uTerrain, graph);
#endif
    }
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorUtils.CenteredBoxedLabelField("Uses Sobel Filter.\n" +
                                            "CAUTION: This is costly as it needs to compute the input 4 times at different positions.");
#endif
    }
Beispiel #4
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorUtils.CenteredBoxedLabelField("out = y - in * scale");
        scale = EditorGUILayout.FloatField("Scale", scale);
#endif
    }
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        frequency = EditorGUILayout.FloatField("Frequency:", frequency);
        scale     = EditorGUILayout.FloatField("Scale:", scale);
        seed      = EditorGUILayout.IntField("Seed:", seed);
        quality   = (NoiseQuality)EditorGUILayout.EnumPopup("Quality:", quality);
#endif
    }
Beispiel #6
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorGUIUtility.labelWidth = 60;
        width = EditorGUILayout.FloatField("Width", width);
        base.OnEditorGUI(uTerrain, graph);
        EditorGUIUtility.labelWidth = 0;
#endif
    }
Beispiel #7
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorGUIUtility.labelWidth = 60;
        EditorUtils.CenteredBoxedLabelField("out = |in|");
        base.OnEditorGUI(uTerrain, graph);
        EditorGUIUtility.labelWidth = 0;
#endif
    }
Beispiel #8
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorGUIUtility.labelWidth = 60;
        origin.x = EditorGUILayout.FloatField("From X", origin.x, GUILayout.Width(100));
        origin.y = EditorGUILayout.FloatField("From Z", origin.y, GUILayout.Width(100));
        EditorGUIUtility.labelWidth = 0;
#endif
    }
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorGUIUtility.labelWidth = 60;
        EditorUtils.CenteredBoxedLabelField(string.Format("out=1 if in∈[{0},{1}]\nout=0 otherwise", bandwidth.x, bandwidth.y));
        bandwidth = EditorUtils.MinMaxField(bandwidth);
        base.OnEditorGUI(uTerrain, graph);
        EditorGUIUtility.labelWidth = 0;
#endif
    }
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        Frequency = EditorGUILayout.FloatField("Frequency:", Frequency);
        Scale     = EditorGUILayout.FloatField("Scale:", Scale);
        offset    = EditorGUILayout.Vector3Field("Offset:", offset);
        Seed      = EditorGUILayout.IntField("Seed:", Seed);
        Quality   = (NoiseQuality)EditorGUILayout.EnumPopup("Quality:", Quality);
#endif
    }
Beispiel #11
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorGUIUtility.labelWidth = 60;
        EditorUtils.CenteredBoxedLabelField(string.Format("out ∈ [{0},{1}]", outBounds.x, outBounds.y));
        outBounds = EditorUtils.MinMaxField(outBounds);
        base.OnEditorGUI(uTerrain, graph);
        EditorGUIUtility.labelWidth = 0;
#endif
    }
Beispiel #12
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        fromX       = EditorGUILayout.IntField("min X:", fromX);
        fromZ       = EditorGUILayout.IntField("min Z:", fromZ);
        toX         = EditorGUILayout.IntField("max X:", toX);
        toZ         = EditorGUILayout.IntField("max Z:", toZ);
        heightmap   = (Texture2D)EditorGUILayout.ObjectField("Heightmap:", heightmap, typeof(Texture2D), false);
        heightScale = EditorGUILayout.FloatField("Height scale", heightScale);
#endif
    }
Beispiel #13
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        EditorUtils.CenteredBoxedLabelField("out = in * scale\n+ bias");
        EditorGUIUtility.labelWidth = 60;

        scale = EditorGUILayout.FloatField("Scale", scale, GUILayout.Width(100));
        bias  = EditorGUILayout.FloatField("Bias", bias, GUILayout.Width(100));

        base.OnEditorGUI(uTerrain, graph);
        EditorGUIUtility.labelWidth = 0;
#endif
    }
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        frequency         = EditorGUILayout.FloatField("Frequency:", frequency);
        seed              = EditorGUILayout.IntField("Seed:", seed);
        frequencyAltitude = EditorGUILayout.FloatField("Frequency altitude:", frequencyAltitude);
        scaleAltitude     = EditorGUILayout.FloatField("Scale altitude:", scaleAltitude);
        baseAltitude      = EditorGUILayout.FloatField("Base altitude:", baseAltitude);
        tunnelsHeight     = EditorGUILayout.FloatField("Tunnels height:", tunnelsHeight);
        EditorGUILayout.LabelField("The threshold affect the tunnels width");
        threshold                  = EditorGUILayout.Slider("Threshold:", threshold, 0f, 1f);
        frequencyPerturbation      = EditorGUILayout.FloatField("Perturbation freq.:", frequencyPerturbation);
        scalePerturbation          = EditorGUILayout.FloatField("Perturbation scale:", scalePerturbation);
        frequencyMicroPerturbation = EditorGUILayout.FloatField("Micro Perturbation freq.:", frequencyMicroPerturbation);
        scaleMicroPerturbation     = EditorGUILayout.FloatField("Micro Perturbation scale:", scaleMicroPerturbation);
#endif
    }
Beispiel #15
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        inBounds = EditorUtils.MinMaxField("Input min/max", inBounds);
        if (inBounds.y < inBounds.x + 0.001f)
        {
            inBounds.y = inBounds.x + 0.001f;
        }

        outBounds = EditorUtils.MinMaxField("Output min/max", outBounds);
        if (outBounds.y < outBounds.x + 0.001f)
        {
            outBounds.y = outBounds.x + 0.001f;
        }

        curve = EditorGUILayout.CurveField(curve, GUILayout.Width(100), GUILayout.Height(80));
        base.OnEditorGUI(uTerrain, graph);
#endif
    }
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        Seed               = EditorGUILayout.IntField("Seed:", Seed);
        Frequency          = EditorGUILayout.FloatField("Frequency:", Frequency);
        Scale              = EditorGUILayout.FloatField("Scale:", Scale);
        GradientPerturbAmp = EditorGUILayout.FloatField("Gradient Perturb Amplitude:", GradientPerturbAmp);
        NoiseType          = (FastNoise.NoiseType)EditorGUILayout.EnumPopup("Noise Type:", NoiseType);
        Interp             = (FastNoise.Interp)EditorGUILayout.EnumPopup("Interp:", Interp);

        if (NoiseType == FastNoise.NoiseType.Cellular)
        {
            CellularJitter           = EditorGUILayout.FloatField("Cellular Jitter:", CellularJitter);
            CellularReturnType       = (FastNoise.CellularReturnType)EditorGUILayout.EnumPopup("Cellular return Type:", CellularReturnType);
            CellularDistanceFunction = (FastNoise.CellularDistanceFunction)EditorGUILayout.EnumPopup("Cellular distance function:", CellularDistanceFunction);

            if (CellularReturnType == FastNoise.CellularReturnType.NoiseLookup)
            {
                if (cellularNoise == null)
                {
                    cellularNoise = CreateInstance <FastNoise2DPrimitiveSerializable>();
                }

                EditorGUILayout.BeginVertical("Box");
                EditorGUILayout.LabelField("Noise lookup:");
                cellularNoise.OnEditorGUI(uTerrain, graph);
                EditorGUILayout.EndVertical();
            }
        }
        else if (NoiseType == FastNoise.NoiseType.CubicFractal ||
                 NoiseType == FastNoise.NoiseType.PerlinFractal ||
                 NoiseType == FastNoise.NoiseType.SimplexFractal ||
                 NoiseType == FastNoise.NoiseType.ValueFractal)
        {
            FractalType       = (FastNoise.FractalType)EditorGUILayout.EnumPopup("Fractal Type:", FractalType);
            FractalOctaves    = EditorGUILayout.IntField("Octaves:", FractalOctaves);
            FractalLacunarity = EditorGUILayout.FloatField("Lacunarity:", FractalLacunarity);
            FractalGain       = EditorGUILayout.FloatField("Gain:", FractalGain);
        }
#endif
    }
Beispiel #17
0
    public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
    {
#if UNITY_EDITOR
        var text = "";
        switch (combinerType)
        {
        case CombinerType.Add:
            text = "out = in1 + in2";
            break;

        case CombinerType.Sub:
            text = "out = in1 - in2";
            break;

        case CombinerType.Mul:
            text = "out = in1 * in2";
            break;

        case CombinerType.Min:
            text = "out = min(in1, in2)";
            break;

        case CombinerType.Max:
            text = "out = max(in1, in2)";
            break;
        }

        EditorUtils.CenteredBoxedLabelField(text);
        combinerType = (CombinerType)EditorGUILayout.EnumPopup(combinerType);
        if (combinerType == CombinerType.Add || combinerType == CombinerType.Sub)
        {
            EditorUtils.CenteredLabelField("Weight of inputs\nin1 <-> in2");
            inWeight = EditorGUILayout.Slider(inWeight, 0f, 1f, GUILayout.MinWidth(200));
        }
#endif
    }
Beispiel #18
0
        public override void OnEditorGUI(UltimateTerrain uTerrain, IReadOnlyFlowGraph graph)
        {
#if UNITY_EDITOR
            comment = EditorGUILayout.TextArea(comment);
#endif
        }