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/2020/2021/2022/2023 and was thoroughly tested on a Windows machine. Mac support was verified as well, but as I do not own a Mac, I could not test it myself.
Previous versions of ZBrush are NOT supported.
![Image: https://us.v-cdn.net/5021068/uploads/editor/zo/1ntitmnrwhsm.jpg](https://us.v-cdn.net/5021068/uploads/editor/zo/1ntitmnrwhsm.jpg)
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_5.zsc" file,
along with the "FJTools_1_5_Data"-folder into the Zplugs64-folder of
your ZBrush 2019/2020/2021/2022/2023 installation. The path should look similar to
this:
...\Pixologic\ZBrush 2019[2020][2021][2022]\ZStartup\ZPlugs64
...\Maxon ZBrush 2023\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.
Special thanks for helping to find a nasty bug:
Replies
Anyways hoping to see some nice features in the future.
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
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!
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.
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
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
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
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
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
I just released FJTools version 0.3 , which you can download via gumroad
Check out the top post for more infos!
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
But before testing blindly clicking the options randomly...what´s the workflow with the "isolate prefix" showed on the gif??
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:
Let me know if that worked for you, or when you have any further questions!
Dropping by to thank you for the plugin. Will definitely come in handy
Let me know if you encounter any problems, or have an idea for a feature that would improve the plugin
Thanks for the hint!
Edit:
Good news, it seems to be doable and will most likely be part of the next update
Other option for this feature can : Copies Count, Aligned to points or mesh, masked and unmasked portions of mesh.
+
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.
I am very happy to announce today’s release of FJTools Version 1.0!
New feature:
Fixes:
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! ArtstationI am happy to announce that FJTool 1.2 just went live!
Special Thanks for the awesome feedback to:
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
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.
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
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
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!
I am really happy to hear that you like working wit@pasha_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.
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.
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
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
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:
FJTools 1.3 is live!
New features:
Fixes and improvements:
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
It’s always nice to hear that the plugin is well received! Also thank you for spreading the word
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
Featuring folder support for all functions and a more intuitive way to work with the plugin:
Looking forward to the release.
FJTools 1.4 is live!
New features:
Special Thanks:
I found a some bugs and a few minor incompatibilities with ZBrush 2020 I want to fix.
But this would also be a good time for some quality feedback! So should you have any troubles with the plugin (especially in combination with ZBrush 2020), or ideas on how to improve it:
Please let me know
In the next update QHide will hide Polygroups of the currently selected Subtool, while still hiding Subtools if the mesh below the cursor is not part of the selected Subtool.
The update 1.5 for ZBrush 2020 is also almost feature complete and I'll start testing soon.
Let’s try something new!
In the past I often reached out to individuals, to get feedback for my plugin. This time around I want to mix things up a bit by doing an open beta test!Here you can see a few of the new features:
So feel free to grab a version and share this with anyone you think might be interested!
I’m looking forward to hearing all of your feedback. Be that on issues, anything you think could be improved/added to the plugin, or simply if the plugin helps you in your workflow.
Version 1.5b runs in ZBrush 2019/2020.1+ on Mac and PC and you can download it hassle free from here:
http://tiny.cc/fjtools15beta