Home Technical Talk

My Zbrush Plugin!

2

Replies

  • nyx702
    Update!

    I added a few Miscellaneous scripts and I made a new sub-section for the new SubD related scripts. A couple bugs were fixed. A UI issue that caused buttons to overlap and something that was causing the batch rename Set to store incorrectly.

    Oh... and probably the biggest fix for this update is it now works on Mac!
    newScripts_1.08.jpg
    New Features

    - ExportOptions: This script will toggle the Subtool Export Options, Texture, Merge UV Cords, and Sub Group, for all your Subtools. This is a minor annoyance but with large/many subtools Mrg UVs can be time consuming and has been known to crash Zbrush.

    - Undo/Redo All: These buttons will Undo or Redo multiple times on each visible Subtool. How many times the script Undo/Redos is based on the "Amt" slider. This is perfect if you want to Undo actions that happen to all subtools such as Decimation.

    - All SubTools to SubD level: this script is the same as it has been in the past however it is now used with the "All Minus" and "All Plus" buttons.

    - All Minus/Plus: These buttons will go up or down SubDivision levels for all visible based on the SubD Lvl slider. If the slider is at 3 then pressing "All Minus" will take all your subtools down 3 SubD levels from their current.

    - 1-9 buttons: Pressing these will put your SubD level at the number indicated. Ideally these would be hotkeyed for quick SubD level changes. If you mesh doesn't have SubD levels, pressing one of those buttons will divide that many times. So if you press "5" it will be like essentially pressing "Divide" five times.

    - H button: Puts the active subtool at the highest SubD level.
  • Ace-Angel
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    So wait, you mean now we can Batch-Export the subtools?
  • nyx702
    Ace-Angel wrote: »
    So wait, you mean now we can Batch-Export the subtools?

    Subtool Master has always had this feature. This just tweaks the options for each of the subtools. :)
  • Ace-Angel
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    Ah OK, that makes sense, cheers!
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    must say it again and again ::: love this script and thanks for deeveloping it more and more ... and im so glad it works with the latest version of zbrush ...
  • Justin DeVore
    Offline / Send Message
    Justin DeVore polycounter lvl 4
    Oh man... Its like you're spoiling me every few weeks...real Christmas is going to be a let down this year.
  • Fred2303
    Offline / Send Message
    Fred2303 polycounter lvl 7
    mask grow!!! :poly122:

    thank tou so much! thats gonna be soo helpful!
  • nyx702
    Shoot! I forgot to mention a feature!

    With the 1 thru 9 buttons. If you mesh doesn't have SubD levels, pressing one of those buttons will divide that many times. So if you press "5" it will be like essentially pressing "Divide" five times.

    Thanks so much everyone! If you have any feedback or script suggestions shout them out! I will see if I can make it happen.
  • jaffajuice
    Brilliant tools mate. Nice ONE!!
  • nyx702
    Update time!

    Just in time for the holidays. I have made a few new scripts as well as tweaks to others. The biggest addition is probably Smart Dynamesh. An edit to note is that the "AutoMask PG" button is now a toggle. Before you could not tell if AutoMask Polygoups was on or off. Now you can. It shouldn't cause any problems if you have it in your UI.

    As Always let me know if you have any problems or have any ideas for new scripts. I realize the menu is getting pretty long. I may add some sub-menus in the future updates.


    newScripts_1.09.jpg

    New Features

    TxtrAssignAll_lg.gif

    - TxtrAsignAll: This button will assign the currently selected texture (in the texture menu) to all visible subtools. The subtool must have UVs.
    CheckerToggle_lg.gif

    - Checker Toggle: This script will turn on the Checkerboard texture for the current subtool or all subtools if the "All" button is toggled. When the button is toggled off it will turn the checkerboard off or reassign the previous texture. The subtool must have UVs.
    [ame="http://www.youtube.com/watch?v=fngVhl2D2Q0"]Smart DynaMesh Preview - YouTube[/ame]

    - Smart DynaMesh: This script takes the guess work out of getting an acceptable poly density with DynaMesh. No more moving the Dynamesh Resolution slider around and repeatedly undoing to get polygons you want. The script will create a Dynamesh near the "Target Polycount" slider. This is especially useful for hard surfaces that you know you will need a dense mesh.

    Use this script instead of initially pressing Dynamesh then just Dynamesh as normal. This script is also great for reducing the polycount of your Dynamesh when the mesh gets too heavy. Reducing the polycount this way has very little detail loss.

    - Target Polygoncount: Slider used for the Smart Dynamesh. Number is in Millions.

    - Use Backups Folder: If this is enabled all the files created with "Iterate Save" will be put into a new folder called "Backups."

    - Info/Help: This button will take you to the plugin's homepage (my website). There you can check for updates or lookup how to use a particular feature.
  • Bal
    Offline / Send Message
    Bal polycounter lvl 17
    Smart Dynamesh looks great nyx, thanks for the tools!
  • sculptn
    Offline / Send Message
    sculptn polycounter lvl 7
    Your a legend love this plugin :)
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    nice additions...thanks nyx!
  • Funky Bunnies
    Offline / Send Message
    Funky Bunnies polycounter lvl 17
    yay! nice release, Nyx! thanks for another awesome update :)
  • nyx702
    Haha! Thanks guys. Much love, much love.
  • BeatKitano
    Offline / Send Message
    BeatKitano polycounter lvl 16
    Smart dynamesh is a game changer, I still don't understand why they still don't have this by default, it's much more user friendly and forgiving.
    Tnx !
  • nyx702
    Thanks so much BeatKitano. That means alot. I totally agree.

    Gah! I forgot to mention something again.
    quickSave_1.09.jpg

    - Added "Save" feature to the Quick Load. When you press this button it will save over whatever mesh is stored in that Quick Load slot. There is a basic confirmation that will check if the name of your Tool is different than the name of the existing one. Otherwise it will save over the stored mesh without browsing or a popup. Just be careful you don't overwrite something accidentally!

    No need to re-download. This is in the latest version. Just forgot to mention it.
  • nyx702
    Hey guys. Just wanted to pimp my Zscript tutorial that just released.

    I teamed up with the guys at Eat3D and made a 4 hour tutorial on scripting in Zbrush. No need to be a smarty-pants-programmer to learn Zscripting. It's very easy to learn. The tutorial starts with an introduction and goes through the process of making a final plugin.

    Check it out.
    http://eat3d.com/zscripting
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    wow congratz...really cool and very interesting ... you're the man!
  • [Deleted User]
    Offline / Send Message
    [Deleted User] insane polycounter
    The user and all related content has been deleted.
  • VictorSantos
    Offline / Send Message
    VictorSantos polycounter lvl 13
    Congratulations Nick!! Seems VERY interesting.
  • ljsketch
    Offline / Send Message
    ljsketch polycounter lvl 6
    Hey Nick, first, thanks for the plugin. Really awesome stuff. Second, just tried to run the script on the new release of Zbrush and no success. Did not know if you were aware of this or not but thought I'd give you the heads up.

    **UPDATE** IT WORKS! I was not loading the files correctly. pardon my ignorance. Again, thanks dude!
  • nyx702
    ljsketch: Hey no worries. You reminded me I should probably check to make sure everything still works.

    I finally have some free time so I am going to write up a couple new scripts and post them soon. This menu is getting pretty huge tho. I added a poll to the thread to see what you guys think. Should I break the plugin into a couple different ones? Or do you think I should just add collapsible sub pallets? Both have pros and cons. Let me know what you guys think and if you have any ideas/suggestions.
  • jaffajuice
    Hi mate. Loving the tools and I have a tools request if your interested ....

    I'm looking for a way within Zbrush to align the view ( model ) to a tangent of the tools surface, which you can find using the transpose action line with a single click. The transpose action line has a white circle that will rotate and align the view but this is next to useless. There have been more than a few occasions where this would have been useful so I thought I'd ask a master such as your self.

    Thanks
  • nyx702
    Thanks for the comment and suggestion!

    While ago I started tinkering with the transpose line. Pixologic updated their script commands and made alot more Transpose and Curve functions available. I wanted to do something similar to what you mentioned. As well as aligning other meshes to the transpose line. BUT I got kind-of stuck. I might pick it up again soon however. Maybe fresh eyes will let me see the problems.
  • nyx702
    Got some updates I have been working on for a long time. It's alot of information so bear with me.

    Firstly the plugin was getting too big big so I made sub-Pallets for related scripts. Here is an exploded view of all the menus. New stuff is outlined in red.

    Notable updates are Color Blending and some Subtool Group Hiding/Unhiding/Organizing. Also updated Batch Rename so that its considerably faster. The Quick Load subtools now update their buttons to the subtools name (but only after you restart Zbrush.) And lastly a small set to scripts that save your Brushes/Alphas/Mats/Textures to the startup folder so you don't have to browse every time.
    znewStuff_1.11.jpg

    And for your viewing pleasure I made an overview video of all the new features. Sorry about the length! I tried to condense it but it's alot of info.
    [ame="http://www.youtube.com/watch?v=kKg53SuCL8U"]Nicks Tool's New Features Update 1.11 - YouTube[/ame]


    DOWNLOAD!

    To instal:
    Place ZSC file in your *\ZStartup\ZPlugs directory.

    I recommend removing previous versions, especially the "NicksTools_data" folder, before copying the files over.
  • nyx702
    AND since its been so long and there might be some new people using it. I thought I would include the descriptions for all the scripts. If you are only interested in the new stuff they they are ** asterisked.

    Hopefully you can figure most of it out from the tool tips. All this info is also in the README and on my site.

    Mis Scripts

    - Colorize Toggle: this script sets Colorize (Polypaint) on or off for all your SubTools at once. This script is now somewhat redundant now that you can SHIFT + CLICK the paint brush icon to do the same thing. However the button is still useful if you wish to make this a hotkey.

    - Random Color: This script will assign a random color to each of your subtools. This is useful when rendering a flat color pass so you can easily select your subtools when compositing.

    ** - Color Blend: Requires a hotkey to use! This button will blend your active color with the Polypaint color under your mouse cursor. The "Shadow-Highlight" slider will skew the hue and value towards a lighter or darker color. Higher values moves the color towards a highlight and lower values moves towards a darker color. At 0.5 it will blend between the two colors.

    - TxtrAsignAll: This button will assign the currently selected texture to all visible subtools. The subtool must have UVs.

    - Checker Toggle: This script will turn on the Checkerboard texture for the current subtool or all subtools if the "All" button is toggled. When the button is toggled off it will turn the checkerboard off or reassign the previous texture.The subtool must have UVs.

    - ExportOptions: This script will toggle the Subtool Export Options, Texture, Merge UV Cords, and Sub Group, for all your Subtools.

    - Undo/Redo All: These buttons will Undo or Redo multiple times on each visible Subtool. How many times the script Undo/Redos is based on the "Amt" slider.

    ** - Target Multi-Append: This script appends all the visible Subtools from one Tool to another. With the target Tool active press "1-Pick Tool" then switch to the source Tool and press "2-AppendTool" and the new Subtools will be added from the target tool.

    Masking

    - Mask Grow: this script will attempt to grow your mask similar to how you can grow a selection in Photoshop. Enter how many polygons you want it to grow by in the slider and click grow. This is best used at medium to low SubD levels. At higher SubD levels it takes forever and the effect is barley noticeable. Zbr3 does have a "Grow" and "Shrink" mask now but it works differently and blurs the mask.

    - PP to Mask: if you have any Polypaint this script will convert it into a mask based on color value with a single click. This is useful if you want a way to preserve complex masks.

    - AutoMask PG: ordinarily the brush setting "AutoMask by Polygroup" is a slider. While this feature is awesome when you want it... it's irksome when you don't. This button toggles between 100 (on) and 0 (off) with a button press. Ideally this button should be pulled into your interface somewhere so it's handy.

    ** - Mask PG Under Cursor: Requires a hotkey! When pressed the Polygroup under the cursor will be masked. This adds to the mask and does not clear any already masked geometry.

    ** - Unmask PG Under Cursor: Requires a hotkey! When pressed the Polygroup under the cursor will be unmasked. This does not clear any other mask except for the Polygroup.

    SubDivision

    - SubD Lvl All: this script will put all your visible subtools at the SubD level indicated by the slider. This is similar to "All High" and "All Low" in the SubTool menu only with more customization.

    ** - SubDivide All: this button divides all visible Subtools multiple times based on the SubD Lvl slider.

    - All Minus/Plus: These buttons will go up or down SubDivision levels for all visible based on the SubD Lvl slider. If the slider is at 3 then pressing "All Minus" will take all your subtools down 3 SubD levels from their current.

    - 1-9 buttons: Pressing these will put your SubD level at the number indicated. Ideally these would be hotkeyed for quick access.

    - H button: Puts the active subtool at the highest SubD level.

    - Smart DynaMesh: This script takes the guess work out of getting an acceptable poly density with DynaMesh. No more moving the Dynamesh Resolution slider around and repeatedly undoing to get polygons you want. The script will create a Dynamesh near the "Target Polycount" slider. This is especially useful for hard surfaces that you know you will need a dense mesh. Use this script instead of initially pressing Dynamesh then just Dynamesh as normal. This script is also great for reducing the polycount of your Dynamesh when the mesh gets too heavy. Reducing the polycount this way has very little detail loss.

    - Target Polygoncount: Slider used for the Smart Dynamesh. Number is in Millions.

    ** - Match Current: This script looks at your current point count and tries to Dynamesh close to it.

    Material Cycle

    - With these set of buttons you can "store" up to 6 materials on the "Material" slider numbers. Start by picking a number and a commonly used Material. Then click "Set Mat." That Material is now set to the slider number. You can either move the slider manually or use the "<<Mat/Mat>>" keys. For best use assign those buttons to hotkeys. To remove a Material from a number you can use the "Clear Mat" button or overwrite it with a new material.

    **Note 1: If a number is "blank" the "<<Mat/Mat>>" buttons will not skip it. The Material will not change but you will have to press the buttons to move on to the next number.
    **Note 2: Stored Materials must be loaded for the script to assign them to your mesh. Please use Materials in your ZStartup folder or load them before hand.

    Visibility

    **- Define Group: Use this button to define a keyword that the script looks for in the name of each Subtool you want in a group. This is case sensitive. The keyword can be anywhere in the Subtool name. Groups are chosen by the "Group" slider below.

    **- Check: This button displays the keyword for the chosen group.

    **- <-G/G->: These progress the slider forward or backwards. Because you cannot assign hotkeys to sliders these are primarily there to assign hotkeys too if you wish.

    **- Hide/Unhide Group: Press these to hide/unhide any Subtool with the Group Keyword.

    **- Send Group to Top/Bottom: Press these to send each Subtool with the Group Keyword to the top of the Subtool stack.

    **- Add Visible to Group: This script adds the keyword as a prefix for the selected Group to all visible Subtools.

    **- Isolate Current Group: If the active Subtool is in ANY group this script hides other subtools if they are not in the same group. Pressing again with un-hide those subtools.

    - Hide Above/Below: this script hides Subtools above or below the active Subtool in the Subtool menu. This DOES NOT hide Subtools above or below based on the canvas position, only based on menu order.

    - Store/Restore Visibility: when you press "Store Visibility" the current visibility status of all your Subtools are stored. You can hide/unhide subtools any way you want and then recall the stored visibility later. This is saved in between ZB sessions as well.
    ** Note: It is very important you do not add/delete or rearrange subtools after storing. It will give you an error and you will have to store the visibility again.

    **- Set Subtool: This script "tags" a Subtool to be used with the "Quick Select" and "Quick Hide" buttons below.

    **- Quick Select: This button will toggle between your selected Subtool and the "tagged" Subtool (from the "Set Subtool" button).

    **- Quick Hide: This button will toggle hide and unhide the "tagged" Subtool (from the "Set Subtool" button).

    Quick Load/Save

    - Load Stored ZPR: This button will load a project stored with the "Open" button to the right.

    - Pick: This button will open the browser for you to select a project. This button also automatically stores the project you open. So after you "Open" a project once its forever stored until you open other with this button.

    - Save 1-3: These buttons will save over the mesh saved with the corresponding "Store Tool" slot. If a different mesh is selected or the mesh has a different name than the one saved a warning prompt will appear. This is so you don't accidentally Overwrite a file.

    - Store Tool 1-3: These buttons will store the current tool you are on. You can have three different tools stored at once. Clicking it again will overwrite the previous save. The names of these buttons are updated to the name of the stored subtool AFTER you restart Zbrush.

    - Load Tool 1-3: These buttons will load the Ztools assigned to the neighboring buttons.
    **Note: To get optimal use out of these scripts I HIGHLY recommend making a custom menu with these buttons and docking it above the "Tools" palette so that it will be close to your other Save/Load buttons.

    - Set Save: Press this to set a file to iterate on. You can choose an existing file or create a new one. This must be done before the "Iterate Save" button will work.

    - S: If enabled, the original file will be saved as well when Iterate Save is pressed.

    - ZPR/ZTL: Choose if you want to save a ZProject or a Ztool.

    - Iterate Save: When pressed a copy of the current Tool or Project will be saved. A file must be set using the "Set Save" button before this will work.

    - Use Backups Folder: If this is enabled all the files created with "Iterate Save" will be put into a new folder called "Backups."

    Batch Rename

    - Rename: These set of buttons will rename all visible Subtools. Start by entering optional Prefix or Suffix.

    - Serial Start: What number the serial at the end of the name will start at.

    - Set Prefix/Suffix: Use this to add a prefix/suffix at the time of batch rename.

    ** - Add Prefix: Adds a prefix only to the existing name to all visible subtools. Uses an underscore if enabled.

    ** - Add Suffix: Adds a suffix only to the existing name all visible subtools. Uses an underscore if enabled.

    - Padding: Use to add a letter or number in front of the serial.

    Save 2 ZStartup

    **- Set Zbrush Dir: Use this to set the ZStartup directory to save the files too. Example: C:\Program Files\Pixologic\ZBrush 4R5 (with no backslash at the end.) This only needs to be done once unless the directory changes.

    **- Check: Displays the saved directory.

    **- Auto Rename Copies: If this is enabled, files with the same name will not be overwritten but saved as a copy.

    ** - Save "X" 2 ZStartup: Saves the cosponsoring asset to the correct Zstartup directory.
  • dtschultz
    Offline / Send Message
    dtschultz polycounter lvl 12
    There's some great looking stuff here, Nick! Now, can you just redesign my Zbrush GUI for me? :)
  • Ootrick
    Offline / Send Message
    Ootrick polycounter lvl 6
    It's....beaaaaaauutifullll TY!
  • Funky Bunnies
    Offline / Send Message
    Funky Bunnies polycounter lvl 17
    long live Nick Miller!
  • Pabs
    Offline / Send Message
    Pabs polycounter lvl 12
    hey thanks for these
    anyway you can make Material Cycle use a timer so that it automatically switches them for you?
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    long live Nick Miller!

    +1
  • nyx702
    Awesome guys thanks!
    can make Material Cycle use a timer so that it automatically switches them for you?

    That is an interesting idea. Without looking into it my gut tells me that it's not possible. There is no real way to run a script in the background on a timer or something. However I might be able to do something where it changes after a certain number of mouse clicks/strokes? I would "seem" like its on a timer. That could be interesting.
  • Inhert
    Offline / Send Message
    Inhert polycounter lvl 9
    OMG that "Define Group" and "Hide/Unhide Group" is like a god send!! Now I don't have to individually hide and unhide subtools in the Subtool pallete, it's now based off of groups. I think this is the closest we can ever get to have some form of folder type organization in Zbrush which I know many Zbrush users have been wanting for ages. Pixologic are you looking at this?

    Maybe it's too much ask but Nick is it possible to increase the number of "Define Group" to maybe like 10 or even 15? Thanks Nick!
  • sculptn
    Offline / Send Message
    sculptn polycounter lvl 7
    Always great stuff thanks for sharing.
  • mad-
    Offline / Send Message
    mad- polycounter lvl 4
  • nyx702
    Thanks :D
    Inhert wrote: »
    Maybe it's too much ask but Nick is it possible to increase the number of "Define Group" to maybe like 10 or even 15? Thanks Nick!

    Yea shouldn't be a problem. I'll add that soon-ish.
  • Holi
    Offline / Send Message
    Holi polycounter lvl 16
    Awesome!
    off topic/ Can I ask the name of the band/song used in your video?
  • nyx702
    Thanks! They are a cool little folky band. Been around for awhile but not very well known.

    A Hawk and a Hacksaw
    The song is Laughter in the Dark
    http://youtu.be/kKg53SuCL8U
  • nyx702
    I updated the "Visibility Groups" so you can have 15 groups instead of 6.

    Please delete previous version. If you want to save any of your settings you can copy over all of the .zvr files in NicksToolsdata EXCEPT the visG.zvr.

    DOWNLOAD!
  • 3mm
    Thanks so much for sharing,i was looking at Batch rename and found your plugin which works best,thanks Again.
  • nyx702
    Thanks alot 3mm!

    Just to give you guys a headsup I decided to start hosting these plugins on Gumroad. They are still free but Gumroad will allow for easier donations and analytics. Plus it will alert you guys whenever there is an update. Hopefully this is not an inconvenience to anyone.

    I'll might be updating soon with some new features.
  • Beddall
    Offline / Send Message
    Beddall polycounter lvl 6
    Hey,

    Both the batch rename subtools and tile helper look like they would be really useful for my current task, however, I can't seem to see a download link... only a donate link. does the link only appear after I dontate?

    cheers
  • nyx702
    Donation is optional but always appreciated. If you enter $0 and your email you should get an email link. If you want to donate you'll need to signup for Gumroad and it will always appear in your Gumroad "library."

    The extra step is annoying I know, but it helps tremendously with updates and organization for me.
  • Beddall
    Offline / Send Message
    Beddall polycounter lvl 6
    Hey,

    I haven't had chance to try out the zbrush tools yet, but I did download your photoshop plugin for saving / naming textures :).. it's the most awesome thing ever. now referred to as 'my magic buttons'
    So i donated for that... but I was wondering if there is any possibility of an update that would allow you to set the suffix's... or add new ones. currently I'm not using that naming convention due to pbr etc and AO being seperate maps.
    But it greatly speeds up the authoring phase of being able to quickly get iterations into UE4, literally 2 clicks and it's in.!!! I'm getting way too excited over this plug in I know lol

    if i could set my own suffix's then it would eliminate the clean up / renaming once the asset is complete and it would make this plugin perfect !

    cheers
  • nyx702
    Thanks so much for your support and kind words! Honestly, out of all the little things I have made, that saving plugin is the one I use the most by far and it's one of the first things I have ever scripted in PS. :D

    It's really not that popular of a download however. I'm guessing because there are lots of other options for this and some with way more customization. I dont really promote it either. I didn't even make a thread for it here. But I like the simplicity/small footprint of it. I used a tablet PC for awhile which is why I wanted a floating UI. It's always there so I don't have dig in menus for scripts or need a keyboard for hotkeys.

    But anyways yea that is a good idea to make a version for PBR! I hadn't even thought about doing that. I'll have to hardcode the suffix in for now but I have been wanting to look into a way to customize it more. Of course Adobe doesn't make it easy. I'll send you a PM.
  • peanut™
    Offline / Send Message
    peanut™ polycounter lvl 19
    Thanks nyx702, im going to have to read the whole thread from the beginning. Have a good one.
  • Beddall
    Offline / Send Message
    Beddall polycounter lvl 6
    Hey,

    I can't seem to get the scripts to work any more now that I have upgraded to 4r7 64bit.
    Is there a way to get this working? here is the error i get.

    SCRIPT: NicksTools.txt

    [FileExecute,[Var,dllPath],Version]

    cheers

    seems to still work fine in 32bit mode so have gone back to using that for now :)
  • nyx702
    Heya thanks for the report.

    Yea I have been getting mixed responses on what works and doesn't work in r7. Both 32 and 64bit versions work for me but I had to do clean install and didn't copy over any of the preferences. Try downloading the latest version and see if a clean install works. Let me know and we'll get it figured out.

    I have some new things I have added. Just need to find the time to document it up :)
  • Beddall
    Offline / Send Message
    Beddall polycounter lvl 6
    Hey,

    I donwloaded the latest version. well, the latest one that is on your site. v1.1 but that hasn't been modified since early 2014 according to the file date stamp thingies.

    Not sure how to do a clean install... what I did was delet 3 files that had 'nick' in them.. then replaced them with the files i downloaded today. no joy I'm afraid.
2
Sign In or Register to comment.