Yes! *FINALLY* somebody has written a decent material library manager for Blender. Awesome. Now all we need is a connection to an on-line materials repository :)
tinangel writes:
Hi!
ShaderTools is a Material Library for Blender and includes more than four hundred and fifty materials. It uses an SQLite database to save and import materials.
You can export your material and to share easily.
It is currently a beta release but you can without problem use the material list includes to use them in your projects.
Link
111 Comments
Very nice, indeed. Seems like it took a long time for this pretty standard feature to come to. Thanks for it.
Very cool. Are these nodes based materials? (ie. will they work with cycles?)
yay!!!!
hopefully a cycles version is written/adapted
How do i install this add-on?
same question! I can't understand the language of the page with plugin shadertools.tuxfamily.org
Can somebody describe in english how to download and use the plugin?
Hi, It's a French page,
I have active langage choice with Google Translate on top of page :-)
wow this is fantastic!
I think the lack of material presets as a starting point has been a major stumbling block for people adopting blender. I can't wait to use this and stop rebuilding materials every time I start a new project.
thanks for your work!!!!
:-)
I installed the addon but I can't check the box to enable it. I'm on Mac OSX.
Same here.
Same here
Please lauch Blender with console mode. Currently It's a Béta version. I need console to see errors :-)
Lauch Blender with console mode and active add-on with "Install add-on" and you can check box.
You ca see video installation for "Blender 2.60" to know how to lauch Blender with console mode.
:-)
OK, I started Blender through the Terminal and was able to enable the add-on.
YES!
But.. they should make it easier to use.. now it look's like for hackers.
If it was anything other than "it look's' like for hackers", it would not really fit in with Blender current UI philosophy.
I don't agree. New blender UI is quite intuitive and gets better every day.. would be good if people who make addons would think about user friendlines as well.
Awesome!
This is so COOL! Just when 2.61 was released, I asked myself: Can there be anything exciting developments in the next month? Well, Blender community never fails to surprise!
Holy. Monkey. Stank.
This is freaking awesome and more than a little useful!! I really REALLY can't wait to really dig into these .. what, 400 or so materials? AMAZING!
Christmas time is here!
REALLY COOL!
Excellent, Blender never ceases to amaze.
Well done mate, this is needed.
cant enable it and there seems to be errors in the console
Ditto, on my Ubuntu there are problems with paths.
At the beginning I was figting with no configuration file (creatde empty one), next I've
redirected script by brutal force to /lang/en_US which was not found, but my invention
had died within the GUI and the database location.
Connexion.execute("SELECT Mat_Index, Ren_Preview_Object FROM RENDER")
sqlite3.OperationalError: no such table: RENDER
location::-1
location::-1
:)
you can give me your version of Ubuntu please ?
Ubuntu 10.04 LTS, 64 bit.
Running static version of official Blender 2.61.
OK, thanks I wil test in your Ubuntu version ;-)
Un outils très utile.
A usefull tool
Where is the link for script download?
The download link is the one at the top:
http://shadertools.tuxfamily.org/?page_id=103
i just unzipped the thing, copied the resulting folder to scripts/addons and its working
This is a fantastic addition! Every little bit helps, and with this and b-mesh and cycles in the trunk, we are fast closing in on the time when we will be able to fend off the usual scoffing we get from competitors when we point out that Blender is the best 3D ever made!
Here too i can't enable the addon in blender 2.61 under ubuntu 11.10 ..damn ;(
Can I know if the console return an error message please?
Lauch Blender with console mode please.
ok, i got this in console mode:
Traceback (most recent call last):
File "/home/alexander/blender/blender-2.61-linux-glibc27-i686/2.61/scripts/modules/addon_utils.py", line 259, in enable
mod = __import__(module_name)
File "/home/alexander/.blender/2.61/scripts/addons/shader_tools/__init__.py", line 232, in
config = open(AppPath + "config",'w')
IOError: [Errno 2] No such file or directory: '/home/alexander/blender/blender-2.61-linux-glibc27-i686/2.61/scripts/addons/shader_tools/config'
He don't found config file in add-on folder and he can't create a new config file. I looking for this error in ubuntu. It's a strange error.
Hey, diud you found already what causing this error? Bacause i have the same problem:
Traceback (most recent call last): File "/usr/share/blender/2.62/scripts/modules/addon_utils.py", line 259, in enable mod = __import__(module_name) File "/home/XXX/.blender/2.62/scripts/addons/shader_tools/__init__.py", line 122, in config = open(ConfigPath,'w')IOError: [Errno 2] No such file or directory: '/usr/share/blender/2.62/scripts/addons/shader_tools/config' ubuntu 11.10 64bit, blender installed via ppa irie
Sweet!
Hi all,I create this Add-on with Blender Clan Community.It's an Béta version.There are still certain errors which I am correcting in particular for the users Windows 7 x64. I'm French I tried as well as possible to adapt it for the other languages. Thank you for your comprehensions.Web Link --> http://shadertools.tuxfamily.com
I forgot to specify that currently you must launch blender in mode comforts to activate the add one in the menu. I use the console to correct the errors you can look at the videos of the site to see how to activate it on the three OS.
*console mode (excuse me)
Thanks, that worked for me on OSX. :)
Thanks, but how do I launch Blender in "Console Mode" I am on Mac OSX?
clic right on "blender.app" select option "show packet contain" (I think in an English version of Mac OSX). Folder Contents, Mac OS folder and you can drag and drop blender on your Desktop to create an alias.
Double clic on this alias for lauch blender with console.
:-)
Thank you for working on this script. I have windows 7 64 bit. I can see the script in my add -on's but it will not allow me to check the box to enable. Is that the problem right now that is occurring with Windows 7 64 bit? Just curious to see if any Windows 7 64 bit users has gotten this to work properly?
It is exactly this problem under Seven. You see the add-on without being able to activate it. I am installing a version of Windows Seven 64bits (I was on a 32bits). I think that it is a problem of formatting but I must check.
I keep you informed as soon as it is done
: -)
Thanks for the quick reply, I am looking forward to trying it out. I noticed that on one of the videos, you see that cycles render is picked in your settings, but does this currently work with cycles or only blender internal?
You can use Blender Internal, Cycles, PovRay and I think it's compatible with Yafray. (the last version of Yafray Mac need python 2.5 and I'm in Python 3.2.)
:-)
I follow all the instructions and its not working, in 2.61 , I try to install both releases the shader_tools.zip and the shader_tools_rc.zip . I try to install it manually by putting the addon folder in the right path, and using the install addon in the preferences panel inside blender. Not working. Windows 7 64 bits.
I'm currently correct this error for Win 7 x64bits systems.
;-)
I think unless you are French, German or American you won't enable this addon. Tough luck.
I can't run it either. (something about system locale language, I try to look into it.)
Win 7 x64bits ???
wow really?I've been having the same problems as mentioned above but the solutions don't work. I'm from belgium (just to acknowledge the system locale theory).Anyone know how to create those lang files yourself?
Bonjour,
Si tu es Belge la version actuelle est une version béta. Je l'ai tester sur un environnement français/anglais et un test Allemand.
Je ne connais pas le type de clavier utilisé en Belgique par exemple en france ce sera 'fr_FR' en angleterre/americain ce sera "en_US". Dans ton répertoire lang qui est dans le shader_tools tu peux prendre le fr_FR ou le en_US et le remplacer par ce que tu as comme message d'erreur dans la console.
J'ai eu un italien qui c'est retrouver avec une erreur du type "/lang/it_IT" admettons si tu es en belgique et tu devrait avoir un truc de se type là "be_BE". Tu prends un des fichier de lang dans le dossier "lang" du shader tools et tu le renomme en be_BE si c'est bien ça.
Les fichiers ne sont que des fichiers texte que tu peux modifier à la main si tu le désire.
Par contre si c'est qu'un problème de type de clavier tu pourrais me dire si c'est bien le type "be_BE" s'il te plait que je l'implemente pour les prochaines versions.
Merci d'avance.
You can create your propers langages. Open "lang" folder and copy for example "en_US" and modify contains. Or you can just rename "en_US" with your keyboard locale type for example ('it_IT' for Italie).
I've been wanting to do something like this myself, but I'm no coder....this is awesome, I've been hoping for something like this for a while now.
hey same here with win 7 64 bit
big up for your work !
Below the error i'm getting trying to enable plugin on a Windows 7 x64 system... (running as administrator or using XP/Vista compatiblity mode does not help)
found bundled python: C:Program FilesBlender FoundationBlender2.61python
Traceback (most recent call last):
File "C:Program FilesBlender FoundationBlender2.61scriptsmodulesaddon_utils.py", line 259, in enable
mod = __import__(module_name)
File "C:Program FilesBlender FoundationBlender2.61scriptsaddonsshader_tools__init__.py", line 40, in
from . import ShaderTools
File "C:Program FilesBlender FoundationBlender2.61scriptsaddonsshader_toolsShaderTools.py", line 8512, in
os.remove(shaderFolderPath+f)
WindowsError: [Error 5] Access is denied: 'C:\Program Files\Blender Foundation\Blender\2.61\scripts\addons\shader_tools\\\lang'
Hi,
I looking for this error on windows seven x64 bits.
Please can be patient.
Looks like the files are readonly and therefore the call to "os.remove(shaderFolderPath+f)" throws an exception..... I'm not a python or blender addin expert but this link might be helpful:
http://stackoverflow.com/questions/2656322/python-shutil-rmtree-fails-on-windows-with-access-is-denied
It seems like a backslash problem - you can use os.path.join() instead of just concatenating strings for a portable and safe way to join multiple file paths together.
Of course, I'm no Python expert either :).
This isn't just a 64 bit issue. I have 7 32 bit and I get the same exact message. The only difference from the above comment is my path.
I'm on XP and have the same problem, I can't click on the Enable box. This is what is written in the console:
found bundled python: C:Program FilesBlender FoundationBlender2.61pythonTraceback (most recent call last): File "C:Program FilesBlender FoundationBlender2.61scriptsmodulesaddon_utils.py", line 259, in enable mod = __import__(module_name) File "C:Program FilesBlender FoundationBlender2.61scriptsaddonsshader_tools__init__.py", line 1231, in LangageValuesDict = LangageValues(langage, LangageValuesDict) File "C:Program FilesBlender FoundationBlender2.61scriptsaddonsshader_tools__init__.py", line 374, in LangageValues for readValue in langageFile: File "C:Program FilesBlender FoundationBlender2.61pythonlibencodingscp1253.py", line 23, in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0]UnicodeDecodeError: 'charmap' codec can't decode byte 0x9c in position 2915: character maps to good luck and thanks for your hard work!
Hi,
I have update add-on for Win7 x64bits users.
The "en_US" file in "lang" wasn't correctly formatting (he was in UTF-8 and not in ASCII mode).
Cloudsquall88 : I think that it was the same error :-)
Thanks for your comments.
Note: Now I looking for resolve Ubuntu problems :-)
*in "lang" folder
@tinangel Thanks for suggestion .
Just a note that your downloads have a bunch of OS X cruft included in them: “_MACOSX” directories, “.DS_Store’ and “.com.apple.timemachine.supported” files, that kind of thing. Oh, and you can leave off the __pycache__ subdirectories as well.
Have you thought of putting the source on a repo site like GitHub?
Quicker way of splitting the version components:
majorVersion, minorVersion, subVersion = bpy.app.version
Saves a couple dozen lines of code. :)
Another tip: I believe Python allows you to use “/” instead of “\” as the path separator on Windows, just like on *nix—less confusing that way, you can remove a whole lot of tedious special-case tests, and you can avoid mistakes like where you forgot to double the backslash on line 132 (luckily harmless in this case).
In fact, you can use os.path.join and never have to worry about path separators at all.
After going to the trouble of defining majorVersion, minorVersion and subVersion above, you end up referrencing the components of bpy.app.version directly anyway.
Don’t write
if condition == True :
instead write
if condition :
History file handling: you can avoid duplicating the code that does the loading of the history file. Also removing the “history=” prefix should not be done with ‘replace”, which will remove all occurrences in the string.
Thanks, ^^ testing some of your materials now. Really good.
Works for me ^^. Any plans adapting this for Cycles as well?
This is how I do it if it helps
1st. Install the add-on on the add-on list in the preference window. (Install Add-on then I point it to the .zip)
2nd: extract the shader_tools folder to the add-ons folder inside Blender 2.61
Don’t do “select *” and expect the fields to be returned in a particular order. Explicitly specify the field names you want, in the order you want, instead. This is less fragile against changes to the database schema.
Thanks for your comments,
I add new values at last position in my database schema. This method makes it possible not to change the basic structure.
You are right however :-) .
No need to do database commits if you'e just querying data.
You have two lots of code for creating CopyBlendFolder; the second will never find anything to do.
Hi,
Finally I include langages files into script. Errors of encodings will be avoided.
I have include US/English - French - Deutch but if your langages is not found the script use US/English.
I have testing on OSX Lion, Win 7 32b (French & English), Win 7 x64b (English & French), Ubuntu 32b (English & French).
I must to install a 64bits version of Ubuntu in my computer.
:-)
Instead of e.g.
MY_EXPORT_INFORMATIONS.append(line1)
MY_EXPORT_INFORMATIONS.append(line2)
MY_EXPORT_INFORMATIONS.append(line2)
how about
MY_EXPORT_INFORMATIONS.extend([line1, line2] line3])
Sorry, let me try again
Instead of e.g.
MY_EXPORT_INFORMATIONS.append(line1)
MY_EXPORT_INFORMATIONS.append(line2)
MY_EXPORT_INFORMATIONS.append(line3)
how about
MY_EXPORT_INFORMATIONS.extend([line1, line2, line3])
"SELECT Mat_Index FROM MATERIALS WHERE Mat_Index = (select max(Mat_Index) from MATERIALS)"
can be just shortened to
"select max(Mat_Index) from MATERIALS"
and similarly for the others.
Instead of
row.label(text="------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------")
how about
row.label(text = 498 * "-")
Your choice of bl_idname values is not very distinctive, and could lead to name collisions.
Merci , for this great extension to Blender.
This is a very important step for Blender to be more user friendly.
Amazing 450 shaders.
Works on my computer WIn7 64. Blender 2.61.
Merci again and good work !
Anoki
You seem to be trying to create files in the first element of bpy.utils.script_paths(), which is a system area not writable by ordinary users. Put them in bpy.utils.user_resource("SCRIPTS") instead.
It fails reading the lang/en_US file on a UTF-8 locale, because of some junk characters. I have included a fix in my GitHub fork:
https://github.com/ldo/ShaderTools/tree/ldo
Je vous complimente, monsieur. Votre programme est très utile.
En outre, vos vidéos d'instructions sont claires et compréhensibles… même pour un pauvre flamand comme mois (mon Français est très faible).
In English, please.
Translation:
My compliments to you, sir. Your program is very useful.
In addition, your instruction videos are concise and very understandable... even for a poor Flemish fellow like me (my French is very weak).
Hi,
Ignatz : thanks you.
Lawrence D’Oliveiro : thanks for all your corrections in the source code. I'm currently creating new sections in the shadertools
site for coders.
I am creating a page for coders and other for evolution project
I make this at my time of free and if persons want to give help without being coders you can help the Blender community translating program in your native langage. You can use this link for more details --> http://shadertools.tuxfamily.org/?page_id=126
The persons having a German version then which would like to have an English version or French version you can download the new update. I correct errors.
you can if you like it to make claim of on this page --> http://shadertools.tuxfamily.org/?page_id=142
I will not lie to you by saying to you that I not this fact not in all its reactions. Thanks to all. I am going to do my best to move forward this plan. By hoping that this can help the community to blender. :-)
Uh,
Im totally CONFUSED now ! Which is the best download for win 7 - 64 ?
thanks
It's ok for Win 7 64 bits.
the link is http://shadertools.tuxfamily.org/?page_id=103
:-)
Very much want to use your addon! Having trouble installing on OSX 10.58. Have seen it in Addons; but will not allow check to enable. Download location for latest/working English version? Thank you in advance.
run great under Win7 64 bit here
thanks for a great addition to the blender arsenal
Does anyone have a vid on how to install this?
Im terrible with plugins. I just check em off in preferences addons, and hope for the best
thanks
I Susie,
If you are in Mac/Linux (load blender in console mode)
Copy shader_tools folder in Blender add-on folder
Lauch Blender.
Open User Preferences
Go to Add-on / System
Clic to "Install Add-on"
Select "__init__.py" in shader_tools folder
Check box for activate add-on
Clic "Save as Default" button
Go to Material Properties
Clic "Open..." (in English version)
A windows appeared (it's a Bookmarks update)
Close and reload Blender
Clic "Open..."
Select "Materials Database" bookmarks and select your material :-)
I hope this explains are help you.
Tinangel.
Wow, thank you very much. You're a star.
I am a blender newbie on a Mac. Initially I had some difficultly until I actually read over Tinangels instructions. They worked. Great add-on. Thanks Tinangel for making Blender more usable for us beginners.
This is what I did- hope it helps. Sorry for basic step by step drill instructions but I am new to all this
Downloaded file and saved initially to desktop
Found Blender 2.61 release on my mac (applications) right clicked blender icon and then double clicked "show package contents". A new finder window opened. Opened folders/contents/mac os/2.61/scripts- you should see now the add-on folder. Copied the downloaded folder to add-ons - ensuring the folder is then shown not just the py file.
I then opened Blender, file/user preferences/disabled and addon shown and was able to be ticked. Saved user preferences
I closed blender, reopened (used blender render not cycles) and then with object selected goto materials and chose Material defined. Choose open and then on left hand side - bookmark section on Blender screen selected blender database.
note 3rd icon to right of "Create new directory" is the visual panels of the materials available for selection
Again thanks Tinangel.
Thanks Kathy Mark that really simplified things. But, I am having a problem saving textures, are there any settings I need to change so I can save out my own textures?
File "C:Program FilesBlender FoundationBlender2.61scriptsaddonsshader_tools__init__.py", line 201, in val = KeyboardLanguage.readline().rstrip("n") File "C:Program FilesBlender FoundationBlender2.61pythonlibcodecs.py",line 300, in decode (result, consumed) = self._buffer_decode(data, self.errors, final)UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 3131: invalid start byte
win7, 64bit
Hi trsh,
Please download current version (0.8.1).
I think you have download Developer Version.
You can use this link --> http://shadertools.tuxfamily.org/ and click on "Version actuelle 0.8.1"(in french) or "Current Version 0.8.1" if you use Google Translate. :-)
Or you can use this link too --> http://shadertools.tuxfamily.org/?page_id=103 (it's the first link).
I hope this version correct your problems.
:-)
Hello!
I installed the add-on and it seems to work but then i have imported an material and render the material isn't applied to the object how come?
Kind regards
Windows 7 x 64 bit
In order to check the plug.
Right mouse button and choose Run as administrator.
great addon ! :)...but I'm having the same prob as inkoqnito....''' installed the add-on and it seems to work but then i have imported an material and render the material isn't applied to the object how come?'''
regarding my last comment/?..''the material isn't applied to the object how come?''...resolved....when I select 'assign' in the mat panel, then it renders just fine
thanks again,tinangel for these fantastic materials ! :)
I'm on the Mac running 10.7.3, I love to use this add-on but I can't click on the check box (because it's greyed out) even after I went throughout instructions. Can someone help me out please I would seriously appreciate it. :)
i have the same problem after I installed 2.63a. Before it was working great ! No any more :(