0
$\begingroup$

I've just recently started playing around with Blender 2.8 after years of modelling in different software packages. I've memorized the most used keyboard shortcuts and customized most of the stuff, so that I could work in a fullscreen mode in Blender all the time, but when I apply a modifier I always have to exit the full-screen mode and divert my attention to the properties panel on the right side of the screen which is really irritating and kinda takes me out of the super fast modelling flow.

So the question is, is it possible to view and edit your modifier properties in the viewport? I know that to apply modifiers you use object.modifier_add command and I've hotkeyed it, but I really want to have the ability to edit applied modifiers without switching from the full-screen mode. Is it possible to make the modifier properties appear in the viewport without heavy coding? Maybe there's just a code line like object.modifier_add that will allow me to do it?

enter image description here

$\endgroup$
1
$\begingroup$

Given Blender 2.8 is still in beta and undergoing changes the following will assist with your request but will need to be modified both initially and after updates that may affect the layout of the modifiers or the file locations/names.

After copying the additional code described in the script; run the script and when in the 3d viewport you can search for the operator "Modifier Settings".

It should allow full access to the modifiers.

import bpy
from bpy.types import Panel


class BasicSettings(bpy.types.Operator, Panel):
    """
    The basic modifiers settings
    """
    bl_idname = "view3d.basic_settings"
    bl_label = "Modifier Settings"

    @classmethod
    def poll(cls, context):
        ob = context.object
        return ob and ob.type != 'GPENCIL'

    def execute(self, context):
        """
        Show settings as popup dialog.
        """
        return context.window_manager.invoke_popup(self)
    # copy ~ 1600 lines from your blender installation
    # (\2.80\scripts\startup\bl_ui\properties_data_modifier.py)
    # class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
    # starting at the draw definition as shown below
    # ending at the end of the class
    # replacing the draw definition here

    def draw(self, context):
        layout = self.layout

        ob = context.object

        layout.operator_menu_enum("object.modifier_add", "type")

        for md in ob.modifiers:
            box = layout.template_modifier(md)
            if box:
                # match enum type to our functions, avoids a lookup table.
                getattr(self, md.type)(box, ob, md)

    # the mt.type enum is (ab)used for a lookup on function names
    # ...to avoid lengthy if statements
    # so each type must have a function here.


classes = (BasicSettings, )


def register():
    for cls in classes:
        bpy.utils.register_class(cls)


def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)


if __name__ == "__main__":
    register()
$\endgroup$
  • $\begingroup$ Ratt, thank you so much for your answer and all the scripting work you've done! Although the script is not working as intended (you can't edit modifier properties in that popup window), using your explanations, I've managed to run another script that I've found available written by Vaughan Ling called Heavy poly config (it's available for free). Although he has many weird pie menus, I've managed to use his properties popup script and bind it to a hotkey, and it works like a magic now! I've copied the script into startup folder so that it would boot all the time I start working. $\endgroup$ – Chingiz Jumagulov Dec 11 '18 at 17:58
  • $\begingroup$ Did you replace the draw definition in the posted script with the code as mentioned in the comments? Pulls up the full controllable menu on version 2.80 (sub 35). $\endgroup$ – Ratt Dec 11 '18 at 19:30
  • $\begingroup$ My bad! I've done what you told in the comments of the script and it works, thank you so much for your time and explanations, you're a great human being! $\endgroup$ – Chingiz Jumagulov Dec 13 '18 at 8:52
1
$\begingroup$

Hard ops modifier has this feature, called hops helper ctrl + ~:

enter image description here

The Speed Flow addon also has this feature:

enter image description here

https://www.youtube.com/watch?v=GoOZ-dn-si8

Unfortunately, it isn't updated for 2.8x yet. It takes some time to update addons for new version.

$\endgroup$
  • $\begingroup$ Thank you for your answer! Yeah, I am aware of those addons, they're really great! What I was thinking is just using standard in-box means of blender to do that, the way you can bind object.modifier_add command to a key. But you might be right, there might be no inbuilt into Blender code library solution for this task though... $\endgroup$ – Chingiz Jumagulov Dec 11 '18 at 14:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.