I am looking for material cycling script

Foward and …backward!
Great! :smiley:

Marcus thank you so much, I will try asap.

Do you accept paypal donations? :slight_smile:

I do not see a website , page to send you paypal donation?


This is generous of you but there is really no need. I’m employed by Pixologic to help out here, specifically to answer zscripting questions. Although I can’t always provide scripting solutions, in this instance I had been working on something similar so it was straightforward to adapt the code.



This script officially rocks! I know you said you would not have time for fine tuning but seriously I am very grateful that you have refined it.

Thanks for explaning your position on donations.

marcus this is pretty awesome and something i wanted as well for awhile, i’ve hit a snag, right now i have 479 mats in my material folder, but for some reason it only reads 222 of them, only from mats named A to M. as you said in another thread i changed the zscript to have 600 max instead of 100, deleted both the settings.zvr, and the LoadMats.zsc (reloaded the .txt to make a new one, should i have not done this?EDIT: i reinstalled that file and still no change).


I’ve no idea why you should be getting this problem. I just tested with over 260 materials and although I didn’t cycle thru them all they appeared to load OK.

When you select the folder what number is shown in the NoteBar [progress bar] as the files are read? (If you have other files besides materials in the folder then this number will reflect that.)

And when you load a material what number is given as the total in the NoteBar?

all i’m seeing is “1/222 2tone_clay loaded” this will change if i change the mat to 2/222, etc. if it says something when i first run the script its going way to fast to be read. also i tried selecting a mat after Marble which was the last one it was doing, it still only reads the first 222, not any after that even if i try to start it at them, hope the makes sense. is this only for Matcaps? or for all mats?

BTW i have only 30 files in that folder that are not matcaps, but they are jpgs or .zlights

okay i removed everything that wasnt a mat in that folder and now it reads as 1/237
so it went up but still not all the mats, barely half.
just to note, i selected all the mats from the name of the first one its giving me and the last and in my folder that comes out to be 254, so its definitly dropping some. also still only stopping halfway through the alphabet.
i found out which of the above it was skipping, it seems they were named M_blue etc, i removed the underscore and reloaded the script and the missing ones showed up, its still topping out at 242 though.
LAST EDIT b4 i go to bed:
i removed all mats that had _ in them, now it tops out at 257.
is it possible i didn’t edit the txt file correctly, there was only one number to change correct? this one:

even stranger if i have it look at the folder that has all the mats with _ then it finds them all, but there are only 151 of them. strange

I don’t think you’ve done anything wrong with editing the code. What may be causing a problem is that for some reason the material files are not been identified correctly. Try this version to see if it makes any difference (I’ve edited the fileMax already).

if i do it on a folder with no _ files it stops at 250, a to o.
if i do it with the _ files mixed in it reads 242, a to m.

okay i also tried this, i removed all my other plugins. same result.
with above removed i renamed all my mats (copied them first of course) to something like : 1 (1).ZMT, 1 (2).ZMT, etc.
now it will read 342 out of 475 materials. so getting there but who knows what the issue is.

(i accidentally deleted 4 mats somewhere in all of this, oh well)

It’s seems like it’s a file recognition issue but I’ve no idea why it should go so far and stop like that. It’s an odd one. Probably the simplest thing is to have fewer materials in a single folder. :slight_smile:


DO you think that I can duplicate this script file and give a different name to use it as seperate profile? I know you do not have time so I do not want you to spend more time on this. What I want is to have 4 5 different profiles. So I am hoping that I can duplicate this script 5 times give different names(also the settings file) and have seperate shortcuts for all profiles. This way I can have clays, metals, rocks as seperate profiles etc Does it sound like a stupid idea? :slight_smile:

marcus just wanted to give you an update, i renamed the files again with the simple 001.zmt 002.zmt etc. naming convention and it did finally recognize them all, guess it didn’t like those (). i then attempted to use the above naming along with the files original names but once again it didn’t work correctly. this is unfortunate. i agree about using less mats as well, these were just my 3.1 mats not even including all the z2 mats, haha. sigh.


That would be possible but duplicating everything would be unnecessarily complex. Here’s a solution which perhaps will solve your issue. Again this was code I had elsewhere and perhaps other zscripters will find it interesting.

This saves a ‘last used list’ of folders (10 maximum) so by clicking on the folder in the list it is moved to the top and becomes the current folder. The folders are scanned when selected so you don’t have to worry if you have added files.

I’m not surprised that it was a naming problem, though I don’t know where the issue arises. I’ll do some more testing. Meanwhile you might find this latest version helpful too.

EDIT: Delete the previous install before installing this version - it allows for 200 materials in a folder.


Thanks Marcus, I will try.

I use direct folders as an explorer extension. It works especially great to browse folder and file history in ZBrush open-save dialog. It is free for personal use give try, it is amazing.


i just wanted to note a somewhat strange behavior. say i select one of my mats using the plugin, and they are numbered, so for example i use #42, i then do some sclupting etc. now say i want to go to mat #43, when i hit the mat> button it starts at #01 again. is there a way to fix this? or have a slider along with the buttons?

It’s because the index is not being stored, so if you use another plugin the index reverts to 0. Try this version (just put the file in the ZStartup/ZPlugs). I’ve not tested so if you get any errors, let me know.:slight_smile:

Marcus thanks for the update. I actually liked old behaviour, at the same time I was having the same issue spaceboy was having. In that respect can I use these 2 (new and old version) as seperate plugins? I just want them to show up in the material menu as seperate plugins :slight_smile: So that I can assign different shortcuts to them.