Пример #1
0
    bool DrawPackedMapDefinition(PackedMapDefinition def)
    {
        var definition = GlobalDefinition;

        if (definition == null)
        {
            EditorGUILayout.HelpBox("Error: Cannot find packed map defintion file. Please ask for support on the forum", MessageType.Error);
            return(true);
        }

        bool anyNrm  = false;
        bool isValid = true;

        foreach (var channel in def.Channels)
        {
            if (!(channel.OutputVariance || channel.HideChannel))
            {
                isValid = DrawChannel(channel, false) && isValid;
            }

            if (channel.UseNormals)
            {
                anyNrm = true;
            }
        }

        if (anyNrm)
        {
            isValid = DrawChannel(definition.NRMChannel, true) && isValid;
        }

        using (new EditorGUILayout.VerticalScope("HelpBox")) {
            TitleLabel("Auto Regenerate");

            using (new EditorGUILayout.HorizontalScope()) {
                HelpLabel(definition.AutoRegenerateText);
                GUI.color = Color.white;
                GUILayout.FlexibleSpace();
                Target.DoAutoRegenerate = EditorGUILayout.Toggle("", Target.DoAutoRegenerate, GUILayout.Width(120.0f));
            }

            // Does anyone really use this?
            //if (def.Channels.Any(c => c.UseNormals) && def.VarianceBias) {
            //    TitleLabel("Variance Bias");

            //    using (new EditorGUILayout.HorizontalScope()) {
            //        HelpLabel(GlobalDefinition.VarianceText);
            //        GUI.color = Color.white;
            //        GUILayout.FlexibleSpace();

            //        Target.VarianceBias = EditorGUILayout.Slider(Target.VarianceBias, 0.0f, 1.0f, GUILayout.Width(120.0f));
            //    }
            //}
        }

        return(isValid);
    }
Пример #2
0
    private bool DrawPackedMapDefinition(PackedMapDefinition def)
    {
        bool anyNrm  = false;
        bool isValid = true;

        foreach (var channel in def.Channels)
        {
            if (!(channel.OutputVariance || channel.HideChannel))
            {
                isValid = DrawChannel(channel, false) && isValid;
            }

            if (channel.UseNormals)
            {
                anyNrm = true;
            }
        }

        if (anyNrm)
        {
            isValid = DrawChannel(GlobalDefinition.NRMChannel, true) && isValid;
        }

        using (new EditorGUILayout.VerticalScope("HelpBox")) {
            TitleLabel("Auto Regenerate");

            using (new EditorGUILayout.HorizontalScope()) {
                HelpLabel(GlobalDefinition.AutoRegenerateText);
                GUI.color = Color.white;
                GUILayout.FlexibleSpace();
                Target.DoAutoRegenerate = EditorGUILayout.Toggle("", Target.DoAutoRegenerate, GUILayout.Width(120.0f));
            }

            if (def.Channels.Any(c => c.UseNormals) && def.VarianceBias)
            {
                TitleLabel("Variance Bias");

                using (new EditorGUILayout.HorizontalScope()) {
                    HelpLabel(GlobalDefinition.VarianceText);
                    GUI.color = Color.white;
                    GUILayout.FlexibleSpace();

                    Target.VarianceBias = EditorGUILayout.Slider(Target.VarianceBias, 0.0f, 1.0f, GUILayout.Width(120.0f));
                }
            }
        }

        return(isValid);
    }