bitmap switcher
Another script...another newbie problem!
I'm trying to develop a script that let me change diffuse texture of a certain material.
I started studying Joe Gunn old script "face switcher": this script change material ID (but first we need to create a multiamterial with a lot of submaterials with different textures), while I think it's faster to have only one material and change its texture.
The script let you choose a directory to sort bitmap from, create thumbnails and...nothing.
The scope is to change material texture clicking on the corresponding thumbnail and to create a keyframe for material diffuse slot.
This is my result:
try(destroyDialog ::texchange)catch() rollout texchange"TEXTURE CHANGE" ( --interface button btnSetD "Set Dir:" pos:[5,5] width:50 height:20 toolTip:"directory immagini" edittext Fdir "" pos:[55,5] width:100 height:20 button btn01 "01" pos:[5,30] width:30 height:30 button btn02 "02" offset:[-30,-35] width:30 height:30 button btn03 "03" offset:[0,-35] width:30 height:30 button btn04 "04" offset:[30,-35] width:30 height:30 button btn05 "05" offset:[60,-35] width:30 height:30 --choose bitmap path on btnSetD pressed do ( local curpath = Fdir.text local newPath = getSavePath initialDir:(curpath) caption:"Select the path where your Face Images are located" if newPath != undefined then --create thumbnails ( Fdir.text = newpath btn01.images = #(Fdir.text + "\01.png", Fdir.text + "\01.png", 1, 1, 1, 1, 1) btn02.images = #(Fdir.text + "\02.png", Fdir.text + "\02.png", 1, 1, 1, 1, 1) btn03.images = #(Fdir.text + "\03.png", Fdir.text + "\03.png", 1, 1, 1, 1, 1) btn04.images = #(Fdir.text + "\04.png", Fdir.text + "\04.png", 1, 1, 1, 1, 1) btn05.images = #(Fdir.text + "\05.png", Fdir.text + "\05.png", 1, 1, 1, 1, 1) ) ) --actions on btn01 pressed do ( --and here the problem... load 1st thumbnail image to object material ) on btn02 pressed do ( --same, and so on... ) ) createdialog texchange 160 200 10 110 style:#(#style_titlebar, #style_sysmenu, #style_toolwindow)
I hope to have been clear enought... any idea?
Comments
...
It's easy to implement this to works with any material that include VRayMtl but
you need to decide which VRayMtl must be changed.
Let say you have multimaterial with 10 sub-materials that is assigned to one object. Which sub-mat you want to have switch operation?
bga
.
It's the same.. let's say submat 1
...
bga
.
Yes, You are the man!
And now the nice part, I need to keyframe my bitmap change, but I'm not sure it is possible...I just realized that, right?
...
It's not posible but...
You can use "Mix" procedural map. Put two maps and use mix amount to switch between these. Also this parameter can be animated for sure
bga
.
Uff...I know!
With mix map I can only mix up two maps.. I need more, at least 10.
I have the idea, but I need help to develop it.
1. We have a folder with 2 textures, each with 5 images side by side
2. First texture is lowres, to use for buttons thumbnail (to sort with .images array, and this is done)
3. Second texture is highres: now I put this texture in diffuse slot of my material, and then with buttons from 1 to 5 I will change its cropping and placement (btn01->place 0 crop 0.2, btn02->place 0.2 crop 0.2, btn03->place 0.4 crop 0.2, btn04->place 0.6 crop 0.2, btn05->place 0.8 crop 0.2), crating keyframes.
Is it a good idea?
...
I think that this is not possible with mxs, but not sure.
bga