About this site

ScriptSpot is a diverse online community of artists and developers who come together to find and share scripts that empower their creativity with 3ds Max. Our users come from all parts of the world and work in everything from visual effects to gaming, architecture, students or hobbyists.

3dsMas - Assign multiple textures/shaders to mesh (Tables)

Submitted by alexish657 on Fri, 2016-02-12 15:10

Hi,

i'm a new user here but I know this site for long time and already used somes of the scripts.

I got a demand. A big at my point of view.

I got a project that's pretty simple. Theres is 30 3D models of tables (a surface and the legs). The surface will be in 20 differents textures (bitmap) of wood and the legs in 4 type of metals (shaders).

So if you do the calcul here, I got 20 3D X 4 shaders X 30 bitmaps = 2400 renders to do.

Do you think it will be possible to create a script which automate the process of changing the texture of surface of the table and change the material of the legs and save the image ?

Comment viewing options

Is it possible to name the rendered images the same name of the bitmap that is currently assigned to it when it render ? If I named, for example, my wood bitmap "Brown_Wood.jpeg","Dark_Wood.jpeg",Pale_Wood.jpeg", etc, can I drive the names of the rendered image by the bitmap assigned to it when it render ?

Because if not, I will need to rename all the 19 files of the 39 3D models by hand, for a great total of 741 files to be renamed.

I don't have the scene and can help you that way.
Can the script works that way:
1- the scene is loaded - "Top", "Legs", "BG" objects and Vray Planes.
2- the script load a vrayMTL to the "Top". You will tell the script the path to the material.
3- the script load vrayMTL to the "Legs". You will tell the script the path to the materials - 4 materials if I understand you correctly.
4- the script start changing the textures of the "TOP". Load first texture - render, load second texture - render and so on.
5- After all 19 textures are loaded and rendered the script will cnahge the material of the "Legs". Then the step 4 will be repeated.
Step 5 will be repeated as many times as the count of the materials for the "Legs".

The answer of this question;

"Is it possible to name the rendered images the same name of the bitmap that is currently assigned to it when it render ?"

thanks a lot for the fast answer. I think this scripts that you created can work, but when I try it nothing happen. I correctly set my texture folder and then I hit the render button of your script and nothing happen.

In my scene I will have a 3D plane set as a background named "BG". I will also have some vray planes for the light and a HDRI light.

The 3D object that need to change it texture will be a 3D table. There will be two 3D mesh, the top and the legs. The top will be named "Top" and the legs "Legs".

My textures map will be jpeg files assigned to a vrayMtl. There will be a material for the top of the table that have 19 textures variations and the legs will stay with the same metl material for all the 19 textures of the top.

Hope that you can help me with this. As you see I'm a perfect beginner with the maxscript.