FJTools - ZBrush plugin

greentooth
Offline / Send Message
Pinned
floon greentooth


Hey fellow Polycounters!
FJTools is a Plugin for ZBrush, that will help you to organise your Subtools and speed up your workflow in general. It does so by automating repetitive tasks, or solving them intuitively.
You can find the plugin on ArtStation, Gumroad and Cubebrush.

Disclaimer:

The plugin is designed for ZBrush 2019 and was thoroughly tested on a Windows 64bit machine. Mac support was verified as well, but as I do not own a Mac, I could not test it myself.





Feature breakdown:

All features are explained in a mini video series, which can be found on the plugins’ ArtStation page or YouTube!


Installation:

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


Upgrade:
Should you be upgrading from a previous version, make sure to delete the old .zsc file AND the corresponding data folder first. After that just follow the installation above.
Also be sure to check out the FJTools 1.4 — Feature Highlight video, to see what has changed!


Special Thanks for the awesome feedback to:

  • Marcus Civis (a special thanks to Marcus for his effortless help on ZBrushCentral)
  • Gabriel Bona ArtStation
  • Stefan Berentzen ArtStation
  • Rafal Zelazo
  • Felix Wolf ArtStation
  • Fabio Goncalves Gumroad





Replies

  • Sunray
    Offline / Send Message
    Sunray polycounter lvl 3
    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 greentooth
    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 3
    @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 greentooth
    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 greentooth
    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 5
    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 greentooth
    @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 greentooth
    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 greentooth
    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 polycounter lvl 2
    @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 greentooth
    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 greentooth
    Hey @floon
    Dropping by to thank you for the plugin. Will definitely come in handy :)
  • floon
    Offline / Send Message
    floon greentooth
    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 greentooth
    Here's one: rename subtools based on live booleans groups!
  • floon
    Offline / Send Message
    floon greentooth
    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 5
    Ouran said:
    Here's one: rename subtools based on live booleans groups!

    +
  • floon
    Offline / Send Message
    floon greentooth
    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 greentooth

    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 greentooth
    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
  • floon
    Offline / Send Message
    floon greentooth


    I am happy to announce that FJTool 1.2 just went live!

    This is a free update for everyone who downloaded Version 1.1. Simply log into the account you used to download the previous version and get the new one!

    Next to many minor improvements the biggest change is the new "QuickSelect" feature, which I think is a great addition to the plugin.
    I also recorded a mini tutorial series explaining all existing features , which can be found on the plugins’ ArtStation page or YouTube!

    If you are interested you can find the plugin  on ArtStation, Gumroad and Cubebrush.

    Special Thanks for the awesome feedback to:



  • torba
    Offline / Send Message
    torba null
    Hi Florian,
    Just installed v1.2 and it works great.

    I have a suggestion if you don't mind. It regards the QuickSelect portion.
    This is something that would fit my particular workflow so I won't mind if you find this unappealing/unnecessary etc :)

    I think it could be interesting if you added another button similar to *AdaptiveMode. It would be a *thenHide button that would hide the subtool after performing the current QuickSelect action.

    I believe this would work well for tools with lots of similar subtool that you'd want to add prefixes to for example.
    Imagine a big tree model wit lots of separate subtool of vines, branches, leaves, separate bark pieces etc, etc.

    How this would work is you'd press the *thenHide button and then pick QPrefix  and choose the prefix leaf_ for example. You could then go around the model adding the leaf_ prefix to any leaf you find and each one with the prefix already applied would get hidden. You'd then be sure all leaves have the correct prefix and also you wouldn't be confused as to whether any leaf already has the prefix or not - if any leaf is still visible it means it doesn't have the prefix yet.

    I hope this makes sense.

    This would probably only work with the QPrefix and QSuffix functions.


    Just a side note here:
    Unless there's some limitation in the scripting engine, it could be more intuitive if the QMask function depended on the *AdaptiveMode button as well. Without *AdaptiveMode it would mask the entire subtool and with *AdaptiveMode turned on it would mask just the polygroup.
    Masking entire subtools is not maybe a common thing to do, but I can imagine how one could use it in conjunction with say Transpose All Selected Subtools in Gizmo 3D mode.
    If this was the case then I suppose the *thenHide button could be used in conjunction with QMask as well: each masked subtool would be hidden so that you'd know which ones are "done" already.

    Ok, hope you don't mind my musings. Again, I really find your plugin great. Thanks

    cheers
  • floon
    Offline / Send Message
    floon greentooth
    Hey @torba !
    First of all, thank you very much for taking the time to write the awesome feedback and for sharing your ideas! I really appreciate your input and will definitely consider them, when I will start to work on the next update.

    That being said, let me get a bit more specific:
    Technically the AdaptiveMode could be used to work like you described, together with the Qprefix/Qsuffix. Sofar it only has a sinergy with the QColor mode, so this is definitely something I will take in consideration.
    I also get where you are coming from; you can’t see if a Subtool already has a affix or not and I agree that this is not ideal.

    • What you are describing could already be done though, just not as elegant:
    • Unhide all Subtools
    • QHide those you want to append the affix to
    • InvertVisibility(of the Manage-Subtools section)
    • PrefixToVisible (of the Naming section)
    • This way you would still “intuitively” choose, to which Subtools you want to add an affix, it would just require a few more steps.


    Regarding QMask:
    The function does not actually  “mask” a particular polygroup. Behind the scenes QMask isolates the polygroup below the cursor and then inverts the current mask. This approach allows you to add AND subtract polygroups to a mask, but comes with the downside that you can’t really mix it well with painted masks.
    What this allows you to do though, is masking complete subtools Simply by moving your cursor to the blank canvas and pressing you QuickSelect hotkey. It will invert the complete mask -> mask the Subtool.

    I have not really thought about the “Transpose Subtools” function in conjunction with the Quick Select feature. But I just tested it and because QMask first isolates the Subtool first (as in ctrl+shift+click), you can actually use QMask to add Subtools to your multi Subtool selection!

    I hope that was not too confusing :D and thank you again for sharing your thoughts!
  • torba
    Offline / Send Message
    torba null
    Hi @floon
    Thank you for your comprehensive answer.
    You're absolutely right. What I'm asking for is practically already there, just requires a little more imagination.

    Thanks again for your very cool plugin.
    cheers
    Rafal
  • pasha_sevez
    Offline / Send Message
    pasha_sevez polycounter lvl 9
    @floon
    Hey Florian, really helpful tools. I've been using it since 1.0 and it was always very handy - especially, the feature of managing and copying multiple sub-tools at once. Thanks for your work! 
  • floon
    Offline / Send Message
    floon greentooth
    Hey @pasha_sevez!
    I am really happy to hear that you like working [email protected]_sevez - especially when it comes from someone who has been using it for so long!
    Have you had a chance to try the QuickSelect feature yet? I really like the concept and will probably work more in that direction.
  • pasha_sevez
    Offline / Send Message
    pasha_sevez polycounter lvl 9
    floon said:
    Have you had a chance to try the QuickSelect feature yet? I really like the concept and will probably work more in that direction.
    Haven't tried all of the new features, but I've checked the tutorials and gonna test it very soon. I'll leave you a feedback on this functionality afterwards surely.
  • floon
    Offline / Send Message
    floon greentooth
    Looking forward to hear from you then :)!
  • pOgOstyle
    Offline / Send Message
    pOgOstyle polycounter lvl 5
    Did't wanted to spam this thread - but im also a day one user and this tools are gold now! Never got my hp faster rdy to bake! Thanks.
  • floon
    Offline / Send Message
    floon greentooth
    Thank you very much for your comment @pOgOstyle ! Definitely no spam!
    I don't get too much feedback, so hearing that people are actually using the plugin, really makes me happy!
    Please let me know if you are heaving any issues, or ideas that could improve the plugin further.
  • floon
    Offline / Send Message
    floon greentooth
    Hey Polycount,
    I am currently looking for a few mac users who would be willing to try FJTools. The port is almost complete, but I want to get some feedback, before I fully release it.
    Should you be interessted, please let me know so I can hook you up with a free version :)!
  • floon
    Offline / Send Message
    floon greentooth
    Sneak Peak of an upcoming new feature that allows you to select multiple Subtools at once!
    This will allow you to set up Boolean Groups in no time and will work with most of the existing features :).




  • torba
    Offline / Send Message
    torba null
    Looks promising!
  • floon
    Offline / Send Message
    floon greentooth
    Hey folks!
    I am back with some news about the upcoming 1.3 release:
    All features I wanted to implement are done and I will start polishing now.
    If everything goes according to plan, the release will be in the end of February!

    I also wrote a blogpost on ArtStation talking about some of the new features:
    https://www.artstation.com/floj/blog
    One of which are are “Visibility Sets”. Using them you will be able to quickly save/load different visibility setups :)!


  • floon
    Offline / Send Message
    floon greentooth

    I just published an article regarding FJTools in ZBrush 2019 on ArtStation and also showcased a few changes regarding the color swatches!

    Tl;dr:
    Neither old, nor the upcoming version 1.3 of FJTools will be compatible with ZBrush  2019 :(.
    After the 1.3 release, which will be very soon now, I’ll focus on porting it though.
    Also more (customizable) swatches and settings:


  • floon
    Offline / Send Message
    floon greentooth

    FJTools 1.3 is live!

    Check out the video below, to see what has changed in action:



    A minor downer: This update will not bring FJTools to ZBrush 2019. I will start porting right away, but all early adopters among you will have to be a bit more patient.


    New features:

    • QPick which addition to the QuickSelect feature. It allows to select multiple Subtools, that then can be used by other features of FJTools
    • Visibility Sets that allow to store the currently visible Subtools in a config file and load them whenever needed
    • new sorting features (SortBelow/SortToBottom)
    • “Fix names duplicates” feature, that will make sure every Subtool has a unique name
    • a setting section, in which the plugin can be customized


    Fixes and improvements:

    • improved responsiveness of the UI
    • restructured the UI (the Grouping section was divided into a new Visibility-section and the Mange-Subtools-section)
    • reworked the Naming section, which now is more compact. It was also extended to support Boolean Groups and QPicked meshes
    • extended the visibility based features to Boolean Groups and QPicked meshes
    • some visibility based functions caused problems, when the selected Subtool was also topmost
    • pre- and suffixes will now automatically be separated by an underscore (this can be disabled via the settings)
    • QHide will no longer hide the currently selected Subtools, which often happened unintentionally (this can be disabled via the settings)
    • QMask no longer creates gaps between adjacent Polygroups and should only rarely create artifacts
    •  QMerge will now maintain UVs
    • textures will now be disabled when colorizing Subtools, to better show what is happening (this can be disabled via the settings)
    • amount of color swatches has more than doubled
    • color swatches and their labels, can now be customized via the settings
    • fixed an issue that occurred when colorizing Subtools with multiple layers
    • random color generator was not as random as I thought it was. Now it is!
    • the Manage-Subtools section now also supports multiple modes
    • fixed an issue with Apply Array when the Subtool had multiple subdivisions
    • SortToTop now will maintain Boolean Groups
    • Copy and Paste will now maintain the state of the pasted Subtools
  • floon
    Offline / Send Message
    floon greentooth
    Hey fellow Polycounters!
    The good news is, that I am almost done porting FJTools to ZBrush 2019.
    I would love to get some feedback tough before releasing it. So if any of you would be interested to get a preview version, please let me know!

    The bad news,.. well  there are none. No need for bad news all the time  :p!


  • CrazyMoon
    Offline / Send Message
    CrazyMoon polycounter lvl 3
    Can't wait to get the 2019 >< !! It's been such a key part in my pipeline lately been recommending it everywhere lol . Tragedy to not have it in 2019 yet  :persevere: . Love the plugin man!! So helpful! 
  • floon
    Offline / Send Message
    floon greentooth
    Hey @CrazyMoon
    It’s always nice to hear that the plugin is well received! Also thank you for spreading the word :D!
    I wish I could have been faster, but because of the heavy changes in the Subtool palette it took a while.
    Feature wise the update is done though. I only need to play around with it a bit more to make sure everything works as intended.
    So expect the update to be released soonish :)!
  • floon
    Offline / Send Message
    floon greentooth
    The port to ZBrush 2019 is finally done and FJTools 1.4 will be released next week!
    Featuring folder support for all functions and a more intuitive way to work with the plugin:


  • torba
    Offline / Send Message
    torba null
    This looks very cool!
    Looking forward to the release.
  • floon
    Offline / Send Message
    floon greentooth

    FJTools 1.4 is live!

    Check out the "Feature Highlight"- video to get  detailed information about all the changes.



    New features:

    • The “QuickMenu” was introduced to improve the usability of the plugin
    • All categories were extended to support folders
    • A new “Create Folder” function was added in “Manage Subtools”  
    • General performance was improved
    • Countless bug fixes


    Special Thanks:

    • Marcus Civis (a special thanks to Marcus for his effortless help on ZBrushCentral)
    • Gabriel Bona ArtStation
    • Stefan Berentzen ArtStation
    • Rafal Zelazo
    • Felix Wolf ArtStation
    • Fabio Goncalves Gumroad


Sign In or Register to comment.