FJTools - Zbrush R8 plugin

polycounter lvl 6
Offline / Send Message
Pinned
floon polycounter lvl 6
Hey fellow polycounters!
I want to introduce to you FJTools. This plugin is supposed to help organising your Subtools and prepare them for the baking process.
You can get the plugin either via Gumroad, or Cubebrush.
It would mean a lot to me, if you would give it a try and let me know what you think of it!



Disclaimer:

This plugin was only tested in ZBrush 4R8 P2 on a Windows 64 bit machine. Other configurations were not tested and might cause problems.


Installation:

To install FJTools simply copy the "FJTools_1_1.zsc" file, along with the "FJToolsData_4R8"-folder into the Zplugs64-folder of your ZBrush 4r8 installation. The path should look similar to this:
...\Pixologic\ZBrush 4R8\ZStartup\ZPlugs64
Done!


Upgrade:

Should you be upgrading from a previous version, make sure that you have deleted the old .zsc file AND the FJToolsData_4R8 data folder. After that just follow the installation steps above.

Features:

Should you prefer watching over reading, head over to Artstation, where all features are showcased:


ExpertMode:

  • LTray Includes the left tray into the expert mode
  • RTray Includes the right tray into the expert mode
  • Float Includes the float menus into the expert mode
  • ExpertMode Hides/Unhides the trays that you defined above (!Using a hotkey is highly recommanded)


Naming:

  • RenameAll Renames all subtools
  • RenameVisible Renames all visible subtools
  • PrefixToAll Adds a prefix to all subtools
  • PrefixToVisible Adds a prefix to all visible subtools
  • SuffixToAll Adds a suffix to all subtools
  • SuffixToVisible Adds a suffix to all visible subtools
  • RenameBGroup Renames all Subtools of the same Boolean Group
  • PrefixtoBGroup Adds a prefix to all Subtools of the same Boolean Group
  • SuffixtoBGroup Adds a suffix to all Subtools of the same Boolean Group


Manage Prefix:

  • IsolatePrefix Unhides all Subtools with the same prefix and hides the rest
  • ShowButPrefix Hides the Subtools with the same prefix and unhides the rest
  • ShowPrefix Unhides all Subtools with the same prefix
  • HidePrefix Hides all Subtools with the same prefix
  • SortPrefixToTop Sorts all Subtools with the same prefix to the top
  • KeepTopmost If toggled this will leave the currently topmost Subtool at its position. Because ZBrush stores the filename in the first Subtool therefore it is best practice to leave it be.


Manage Suffix:

  • IsolatePrefix Unhides all Subtools with the same prefix and hides the rest
  • ShowButPrefix Hides the Subtools with the same prefix and unhides the rest
  • ShowPrefix Unhides all Subtools with the same prefix
  • HidePrefix Hides all Subtools with the same prefix
  • SortPrefixToTop Sorts all Subtools with the same prefix to the top
  • KeepTopmost If toggled this will leave the currently topmost Subtool at its position. Because ZBrush stores the filename in the first Subtool therefore it is best practice to leave it be.


Manage Subtools:

  • Un/HideAll Depending on the visibility state of you current subtool, hides/unhides all Subtools (same as shift click on a subtool)
  • InvertVisibility Flips the visibility of all Subtools. Visible will be hidden and vice versa.
  • DeleteHidden Deletes all hidden Subtools after a last warning, without any further prompts
  • ApplyDynToVis Applies the Dynamic Subdiv Levels of all visible Subtools
  • CopyVisible Sets the currently selected Tool as the source to copy from
  • PasteVisible Pasts the all visible Subtools from the previously (by "CopyVisible") defined source.

Color:

  • Single Sets the coloring-mode, so that only the selected Subtool gets colored
  • Prefix Sets the coloring-mode, so all Subtools with the same prefix get colored
  • Sufffix Sets the coloring-mode, so all Subtools with the same prefix get colored
  • BGroup Sets the coloring-mode, so all Subtools in the same Boolean Group get colored
  • Visible Sets the coloring-mode, so all visible Subtools get colored
  • All Sets the coloring-mode, so all Subtools get colored

  • C1-C20 Colores the above selected Subtool/s, with the selected color
  • Random colores the above selected Subtool/s, with same random generated color
  • Shuffle Colores the above selected Subtool/s, each with a random generated color
  • User Colores the above selected Subtool/s, with the currently selected main color


Special Thanks to:

Eric Blondin, for giving me super valuable Zscript tips and continuous feedback! Website | Artstation

Vincent Ménier, for inspiration and testing the plugin! Artstation

Replies

  • Sunray
    Offline / Send Message
    Sunray polycounter lvl 2
    Hey man, I tried installing it on 4r7 but it won't show up did they update zScripting in 4r8? maybe the zsc is blocking it in the older version. As far as the plugin goes I'm going, to be honest, it still feels pretty useless ZBrush already has a built-in expert mode by hitting the tab key. But I do like the option off keeping a tab. But that didn't work it broke really quickly I would also suggest making the expert button to a toggle it just looks better imo. And it's easier for testing purpose to see if you're actually in expert mode. The cycle multimesh is kinda cool, but I would prefer to just use my mouse. Since it's easier than letting go of my ctrl alt keys to get to the hotkeys. 

    Anyways hoping to see some nice features in the future.
  • floon
    Offline / Send Message
    floon polycounter lvl 6
    Hey @Sunray thanks for giving it a spin!
    First of all yes this is an 4r8 only plugin and Pixologic indeed changed a few major things regarding Zscript. I don't use any of them yet, but already have a version check in place, since I plan to use some of the new functions in future versions of the plugin.

    About the expert mode. What is assigned to tab by default is actually a button that can be found here Preferences:Interface:Float Menu (in case you would want to change its hotkey :D). My version is just an extension to this, so the user is able to add the other panels as well.
    Your suggestion to make the "Expert Mode"-Button to a switch button is a good idea! Thanks for pointing this out :) .

    If you have a cool idea, or find yourself doing some steps over and over again let me know and I will see what I can do!
  • Sunray
    Offline / Send Message
    Sunray polycounter lvl 2
    @floon Hey, Do you know where to find an update log or something about Zscripting I didn't hear anything about it. And do you also know if older scripts will still work in 4r8?
  • floon
    Offline / Send Message
    floon polycounter lvl 6
    You can find a changelist here .
    Many older scripts should work, but some (especially when working with subtool states), or when using the ZFileUtils .dll  (an update is on its way but not out yet) will not.
  • floon
    Offline / Send Message
    floon polycounter lvl 6
    FJTools 0.2 was just released!
     
    New features:
    -"BrushToSubtool" converts all stored VDM to subtools
    (does not work with IMM Brushes yet!)
    -"CleanBrush" deletes all stored meshes of the brush
    -"SubtoolToBrush" attaches all subtools back to the brush
    -"SkipFirst" when active, skips the topmost subtool while adding to the Brush
    (in case you have a buffer for naming purpose)
     
     
    Fixes:
    -The “ExpertMode”  now is a toggle button and locks the configuration while active. This was done to prevent confusion, when editing modes while already in the ExpertMode.
     
    -The Cycle-Buttons (Down,Up,Random) now refresh the preview, inside of the item bar of the Multimesh brushes.
     
     
    Known issues of version 0.2:
    -While active the “BP” button prevents the locking up mechanism of the ExpertMode
    -”BrushToSubtool” only works for VDM (Vector Displacement Mesh) Brushes,
    not IMM (Insert Multi Mesh) Brushes yet.
     
     
    If are having other issues/ideas for new features please let me know :)!
  • fuzzzzzz
    Offline / Send Message
    fuzzzzzz polycounter lvl 4
    hmm the expert mode is buggy, when every options are enable, the expert mode just open the bottom one.
    i know you can't to change this behavior but it's very frustrating that when you hit expert mode  button, it just throw you away from the plugin configuration,.

    Well, I am not sure this features is anything useful, i don't see what can i do with that. Polish it and it could lead to something more complex with  multiple custom panels on both right and left dividers.

    I see you have added a brush to subtool, like i did that last week. no comment huhu
    The subtool to brush is just what zbrush doesn't already from the brush:create panel.

    The clean brush works well don't know why pixologic has forget to add this "delete all meshes" button the label is too long probably ;o

    About the multi mesh i don't see the benefit of it,
    we can assign an hotkey to the multimesh selector and enable the random by changing the multimesh selector from brush >modifiers
  • floon
    Offline / Send Message
    floon polycounter lvl 6
    @fuzzzzzz ; thank you for taking a look and writing a feedback!
     
    About the expert mode:
    Unfortunately the Dividers don't have states, therefore I can only simulate a click on the interface item, but not check their current state. Afaik the bottom panel is hidden by default, so when you define it as part of the expert mode, it just switches its state. To be honest this is mostly in there for consistency. My advice would be to leave it out of the configuration.
    I see how it can be annoying when the configuration is not available in active mode, but I guess this is the downside of hiding the interface (also I never missed that possibility).
     
    About the MutliMesh section:
    The ability to convert a brush to its subtools, was apparently really needed when two people came to the same conclusion :D and the default "Create MultiAlpha Brush" - button I honestly overlooked.But although my solution is slower, with the "SkipFirst" option I still prefer it...but might rework it. Thanks for the hint!
     
    All the selection buttons are pretty much only personal taste.
    I don't like hotkeys on sliders and I hate that the interface doesn't update when using the select slider (all the submeshes start to light up).
    Same goes for the random selector it in the brush settings. Also with the random button I can decide when to switch to the next mesh, so not necessarily after each stroke.
     
    Again, thanks for writing this up, I now have one or two things to think about :)!
  • floon
    Offline / Send Message
    floon polycounter lvl 6
    Good news everyone!
    I reworked FJTools and am about to release the new Version with new grouping and renaming features.
    Before I do so though, I would like to take the opportunity and ask for one or two of you fine people to give it a last testrun.
    I allready released a mini closed beta, so the plugin should run quite stable, but I still do have some questions about how I could improve usability in a work environment.
    Would someone be willing to sacrifice a few minutes and give it a spin?

    To spark your interest, I want to show you a cool synergy I especially like with the "Transpose All Selected Subtools" feature of R8 :)


  • floon
    Offline / Send Message
    floon polycounter lvl 6
    Hey!
    I just released FJTools version 0.3 , which you can download via  gumroad  :)!
    Check out the top post for more infos!
  • Koromo
    Offline / Send Message
    Koromo polygon
    @floon

    Thanks for the tools! I will use them for transposing a character when i finish her in a few days, cannot wait to see that synergy with Transpose all as i have more than 60 mini subtools :smile:

    But before testing blindly clicking the options randomly...what´s the workflow with the "isolate prefix" showed on the gif??


  • floon
    Offline / Send Message
    floon polycounter lvl 6
    Hey @Koromo
    thanks for the interest!

    To use the “isolate prefix function”, you simply need matching prefixes across your subtools names.
    What the plugin does; it looks at the name of the currently selected subtool and checks its prefix (it considers everything before the first _ as the prefix).
    Then the script cycles through the rest of the subtools, looks at their prefixes and if they match with the prefix of the initially selected subtool, runs a function.
    E.g. “hand_left_high” would be associated with other subtools that start with “hand_”. Hereby it does not matter how many underscores are present in the name, only the first one matters.
    To help with this, the plugin also offers some renaming options, but you do not necessarily need to use them, so you can still name your subtools manually.


    To achieve what I did in the gif above:
    • set up your prefixes to group cohesive subtools
    • select one subtool of the group and press “isolate prefix”
    • activate the new "transpose all selected subtools” feature of R8 (check out Michael Pavlovich’s video, to learn about it) 
    • now it gets slightly tricky, or as you call it in Zbrush “standard workflow” ;D
    • while still only your isolated group being visible, invert the selection (ctrl+shift+click)
    • your group should now have a scanline effect
    • unhide all subtool and invert your selection again(ctrl+shift+click)
    • move/scale/rotate your group all you want
    • don't forget to clean your selection after you are done (ctrl+shift+drag)

    Let me know if that worked for you, or when you have any further questions!
  • Ouran
    Offline / Send Message
    Ouran polycounter lvl 4
    Hey @floon
    Dropping by to thank you for the plugin. Will definitely come in handy :)
  • floon
    Offline / Send Message
    floon polycounter lvl 6
    Thank you @Ouran for giving it a try!
    Let me know if you encounter any problems, or have an idea for a feature that would improve the plugin :).
  • Ouran
    Offline / Send Message
    Ouran polycounter lvl 4
    Here's one: rename subtools based on live booleans groups!
  • floon
    Offline / Send Message
    floon polycounter lvl 6
    Have not really worked with live boolean so far, but I will read up on the topic and see what I can do!
    Thanks for the hint!

    Edit:
    Good news, it seems to be doable and will most likely be part of the next update :)!

  • CreativeLeo
    Offline / Send Message
    CreativeLeo polycounter lvl 4
    floon said:
    Have not really worked with live boolean so far, but I will read up on the topic and see what I can do!
    Thanks for the hint!

    Edit:
    Good news, it seems to be doable and will most likely be part of the next update :)!

    Hey, I was thinking about an feature which can be called "Magic Mesh". Its purpose will be to make Copies of original mesh on unmasked "Original Mesh" area where user can have "4 option to check", 1) X axis, 2) Y axis, 3) Z axis 4) Random Rotations.

    Other option for this feature can : Copies Count, Aligned to points or mesh, masked and unmasked portions of mesh. 
  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 4
    Ouran said:
    Here's one: rename subtools based on live booleans groups!

    +
  • floon
    Offline / Send Message
    floon polycounter lvl 6
    Thanks for the feedback :)!
    Currently I am quite busy with work, due to our upcoming release.
    I will hopefully get back to the plugin in the new year though.

    @CreativeLeo
    I think a similar Plugin already exists called Positioner. Check it out :)!
    You also might want to take a look into the array function of ZBrush, which might do most of the magic you are looking for.


  • floon
    Offline / Send Message
    floon polycounter lvl 6

    I am very happy to announce today’s release of FJTools Version 1.0!


    New feature:

    • Boolean Groups  are now also available in the Naming section
    • Color you have now various options to apply polypaint to your subtools. This will make assigning ID Colors for baking a piece of cake.




    Fixes:

    • Expert Mode was further worked on and now should works as intended. No more 50/50 chance if a panel actually hides/unhides. The only problem that remains is that you need to tab your hotkey twice, if you have used and other plugin. This is because Zbrush can only run one plugin at a time and therefore FJ Tools needs to be reactivated. As far as I know, there is nothing I can currently do about it, sorry .
    • Scrollbar now resets properly
    • Hide/Unhide all Subtools now also works, if the selected Subtool is not visible in the Subtoolpalette
    • KeepTopmost will no longer reset its state, when selecting another plugin

  • floon
    Offline / Send Message
    floon polycounter lvl 6
    Hey gang!
    Version 1.1 of FJTools just went live.
    You can get it either via Gumroad or Cubebrush
     I hope you like the new features and please let me know if you encounter problems, or have any suggestions!

    Check the top post for a full feature list!

    New Features in 1.1:

    • Supports suffixes along with prefixes for all operations.
    • Copy/paste of Subtools between different Tools, without loosing name/subdivisions
    • Delete all hidden Subtools
    • Invert visibility
    • Remove/replace parts of Subtools names
    General performance was improved as well as the UI.




    Special Thanks to:

    Eric Blondin, for giving me super valuable Zscript tips and continuous feedback! Website | Artstation

    Vincent Ménier, for inspiration and testing the plugin! Artstation
Sign In or Register to comment.