I mana iz prethodnog posta je otklonjena. Problem se javio kod:
slika = selectBitmap caption:”Izaberite Bitmap”
Što je rezultovalo da kad god se skripta pokrene, prvo iskoči prozor za izbor slike, bez obzira na to što se gore pomenuti kod nalazi unutar button koda. Dalje, čim izaberemo sliku, ostatak skripte se odmah aktivira bez obzira na to što je i ostatak pod sopstvenim button-om, što je pravilo problem oko dodeljivanja parametara, jer naime, skripta ni ne stigne da da prozor za unos parametara, a već gotov posao.
Da bi se to izbeglo mora se uraditi sledeće:
local slika – da se dodeli varijabla zvana slika
button load “Izaberi sliku” – da se postavi dugme za izbor slike
i konačno kod:
on load pressed do
(
img = selectBitMap()
if img != undefined then slika = img
)
Koji će sliku sačuvati kao varijablu img, a zatim ako se pokaže da je bitmap dodeljen, varijabla slika će preuzeti parametre varijable img. Takođe primetite da selectBitMap sada ima dve zagrade () i nema caption:”…” . Ova nova funkcija sa zagradama ne može da ima caption, i nje nema u Help-u za MaxScript, te je i bila uzrok problemu.
Sad kad je problem rešen, mogu da se dodaju svakakvi parametri koji će uticati na krajnji izgled mozaika. Da ne dužim prvo ću postaviti čitavu skriptu sa rollout-om.
Prvi promenljivi parametar koji je uveden je oblik mozaika, koji može biti: chamferbox, sfera, cilindar i piramida. Iako bi bilo moguće ubaciti i druge oblike, ova četiri daju najbolje rezultate za mozaik (chamferbox postaje kocka kada se fillet opcija stavi na nulu).
Drugi parametar je , zapravo, skup parametara za dimenzije oblika mozaika, radius koji određuje radijus, širinu i debljinu delića mozaika (maksimalna dimenzija je 10), height koji određuje visinu za sve oblike sem sfere i fillet koji određuje zakrivljenost ivica samo za chamferbox-a.
Treći parametar nazvan Rezolucija služi za smanjivanje broja mozaičnih delova, kako bi se izbeglo zakucavanje 3dsmax-a pri obradi većih slika, s tim da i dalje se mogu stvoriti problemi ako unesete pogrešnu brojku na većoj slici. Uglavnom, 1 za velike slike preko 4500 pixela u bar jednom pravcu, a 7 za male slike sa samo 80 pixela. Ostali brojevi su za sve veličine između.
Tu je dugme za unos slike (koje smo objašnjavali na početku posta), dugme za brisanje svih mozaika kako se ne bi usporio kompjuter zbog previše elemenata u 3dsmax-u i naravno dugme za pravljenje mozaika.
Za kraj malo primera rendera izvedenih koristeći ovu skriptu.