Announcement

Collapse
No announcement yet.

Blender Addon UI Feedback

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Blender Addon UI Feedback

    Dear V-Ray developers,
    Hello, my name is Dorian B (aka BD3D online).
    I'm an addon developer as well, founder & lead dev at www.geoscatter.com, the most popular scattering solution of blender.

    Your efforts in creating this Blender port is highly appreciated!
    Thank you vividly for your interest in the Blender community!
    I'm looking forward how this project evolve!
    While waiting for the final release, I would gladly help out on the UI python sides of things.

    Here's a few important observation I see from the get go.

    Animation Decorators exposed.

    image.png

    We can see that the animation decorators are being exposed in the interface, a little everywhere.
    While it make sense to have these facultative helper buttons on very commonly animated settings,
    I am unsure that their presence are justified on the majority of VRay properties.

    This is not very well documented, so let me help out.
    These little buttons are automatically being added to the the uiLayout when using
    Code:
    layout.use_property_split = True
    To fix this, always accompany it wiith this one as well
    Code:
    layout.use_property_decorate = False
    Regular Properties Used for UI.

    image.png

    I saw that some panels are using regular blender properties ​for GUI, more specifically on that line
    Code:
    titleRow.prop(vrayRenderChannels, menuName, icon=icon, emboss=False)
    While this is practice is fine, i would advise using the new panel function! Quite handy, and there's no need to register on properties. You can use it like so
    Code:
      
    header, panel = layout.panel("inputs_panelid", default_closed=True,)
    header.label(text="Inputs",)
     if (panel):
        col = panel.column()
        ...
    If the use of a property for toggling things in the interface is needed, it is imperative to attach these UI properties to
    Code:
    bpy.types.WindowManager
    Any properties attached to this type do not register in the user-history when he's interacting with the interface, also, these values reset to default on each blender session.
    Right now, interacting with these panels will destroy the user History, hours of work might be lost because of a few interface interactions .

    image.png

    1/2
    Last edited by dorian_borremans; 28-03-2025, 02:35 PM.

  • #2
    Conform UI to Blender Standards

    On a more picky side, when looking at the Interface, i see a lot of various UI styles, it creates a less appealing experience for the end user.
    In blender interface there is a un-documented UI styling that is respected all through the blender UI.
    It is always best for plugins to be consistent with that style.


    image_89954.png image_89955.png image_89957.png image_89956.png image_89958.png



    I understand writing blender UI code can be quite laborious.
    If you give me access to the Github​​​​ i could spend an afternoon fixing all these in a pull request!
    Just let me know if interested, I'll gladly help out with the effort and share my expertise.

    Kind Regards
    Dorian B​
    Last edited by dorian_borremans; 28-03-2025, 02:00 PM.

    Comment


    • #3
      Dear Dorian,

      Thank you very much for sharing your expertise with us!

      We are aware of some of these shortcomings, others - like polluting the history with meaningless records - have escaped our attention. Some of the issues are a result of the UI code being in somewhat transient state, e.g. when we started work on the add-on, panels still weren't available. So, just like you pointed out, some parts of the UI are not yet updated to use panels. Others are just legacy layouts which we haven't had time to update for the beta release.

      About the animations decorators, you are completely correct that they are somewhat random ATM. We already have support for easily switching those on and off and it is on our to-do list to go through the UI mark the ones that cannot be animated.

      Thanks again for the summary of the issues and for the proposed solutions.They will definitely make our product better. Also a big thank you for the offer to help with the coding. Unfortunately, I'm afraid we are still not ready for external contributions. I mean, while fixing those issues we need to also refactor the code to make it consistent with the overall architecture of the solution. It would however be of great help if we could get back to you with questions as they arise.

      If you are curious, we have published the open part of the plugin source here: https://github.com/ChaosGroup/vray_for_blender_addon. It is from the first beta release but we are going to update it to the latest version in the next couple of days.

      Best regards,
      Iavor
      Iavor Vajarov
      V-Ray for Blender Developer
      chaos.com

      Comment


      • #4
        Hi Iavor
        Happy my remarks were found useful!
        Of course, you can contact me here, or via email at contact@geoscatter.com
        Cheers
        D

        Ps:
        This week I've developed a module for addons that let addon devs append their very own Tab in the properties editor. I recon this project (not production ready yet) might be of interest to your team.

        Comment


        • #5
          Hi Dorian,

          Thanks for sharing your work! I only had time for a quick peek but I saw some interesting techniques you are using there

          JFYI, we updated the GitHib repo with the latest version of the plugin code.

          Best,
          Iavor
          Iavor Vajarov
          V-Ray for Blender Developer
          chaos.com

          Comment

          Working...