Miért a 4-el?
Ha, a még mindíg javában a legnagyobb népszerűségnek örvendő Kinetix
féle 3d Studio Max 3.1-et hasonlítjuk össze, a még mindíg nem teljesen stabil Discreet féle 3d Studio Max 4.0-el, nagyon sok apró és hasznos lehetőséget veszünk észre. A Max 4-es
más hasznos jóságaival egyetemben a max script nyelve kiegészítésével válik majd
közkedvelté.
Bármit amit e pillanatig
megalkottunk, megalkothatjuk a max script nyelvből is. Ennek
köszönhetően a Max-nak elég, ha csak annyit mondunk: A ká változó egy
kocka amelynek egy oldala pl. 25 egységnyi
és a 5,5,5 térbeli ponton áll középpontja, és megjelenik előttünk a kocka.
A térbeli pontot, a nagyságát, elfordulásait a továbbiakban úgy is
változtathatjuk, hogy azzal egy mozgás jöjjön létre. Az első képkockánál
legyen a kocka nagysága 5, az utolsón 50 - a kocka fokozatosan növekszik. Ezt,
mindkét Max változat helyesen számolná ki, akkor is, ha a kockánknak
jellegzetes színe van, és akkor is, ha pöttyös. No, de miért is lesz majd érdemes a Max 4-el
foglalkozni, ha majd megjelenik a kész, jó 4.1-es, hibátlan változata? Már most
jól járunk, ha a Max 3.1-ben készített animációinkat a Max 4-ben készítjük el.
A 3-as max scripteket pedig némileg át kell írnunk, ahoz, hogy működjenek
a 4-el, azért mert, a script elején a global
megnevezésel teljes érvényű változókká kell, hogy megnevezzünk minden változót,
ha pl. fileIn(„”)-t is használunk, hogy azok a program minden részén, így az
alprogramokban, a fileIn-ekben, is működjenek. Tehát, ha az a változónkat nem akarjuk
„undefined” állapotban találni, akkor a programunk elején nevezzük meg így: global
a=1, és nem áll majd meg a program futása.
Ez egy jó tulajdonsága a Max 4-nek, hogy az egy nyomógomb, alprogram, két
zárójel, () között igénybe vett változókat csak abban, és ott használja, ha,
csak nem globalizáltuk őket! Ha abból másikra hivatkozunk, esetleg
fileIn(„”)-t hívunk, változóink ott már nem érvényesek, de onnan visszatérve
ismét jók. Ám mindvégig is érvényesek lehetnek, ha a program elején úgy
óhajtjuk.
Bizonyára örülnek a Bčzier felületeket egyesével rajzolók is. Mivel, a Max 4
(lásd a mellékelt példa "../Zerodro.ms" max scriptet)
jól számolja rá a festékképet a kiválasztott felületre! Rajzoljunk meg egy 4
szakaszból (5 mozgatható pontból) álló egyenest, és utolsó pontját az
elsőre illesztetjük. A képet úgy tudja erre az alakzatra ráhúzni, hogy
bal alsó sarka mindíg az első, jobb alsó sarka mindíg a második, jobb
fölső sarka mindíg a harmadik, és bal fölső sarka mindíg a negyedik
pontnál legyen (?!). A kép szélei pedig a pontokat összekötő vonalakon
legyenek. Ha ezek a vonalak görbék, úgy ezen az 5 ponton álló kép torzul,
de mint leírtam sarkai a pontokon, szélei a pontokat összekötő vonalakon
vannak. Ehez pedig, ha az ötödik pontot az elsőre tettük, és vonalunk
kiválasztott álapotban található; nyomjuk meg a „Surface”-t! Húzunk rá egy olyan anyagot amelynek képe is van, és
érvényesítsük rajta az UVW mapot, és választjuk ki a Mappingnél a hatodik,
vagyis a „Face” pöttyöt. Miután az öt pontból, vagyis Knot-ból álló vonalunk megvan, ezt
maxscriptből így tehetjük meg:
max select all
--Minden alakzatot kiválaszt
(feltételezem, hogy mindegyik
rejtett,
csak a vonal található meg)
--Felületté
alakít
$.modifiers[#Surface].steps = 99
--Részletesség,
4-es fejlesztés közben megfelelő
$.material = currentMaterialLibrary
["Metal_Rust"]
--Mely kép
legyen rajta, milyen anyagból legyen
--A kép
kordinátáinak a felületre való illesztése
$.modifiers[#UVW_Mapping].maptype = 5
--Ettől
lesz a felület olyan, hogy pontosan
minden sarokban található egy
pontja, és
oldalai a széleken vannak.
Ezért
vizsgázik az új Max kitűnőre.
$.name = "A_Felulet_Neve"
for i=1 to 112 do (
x[i]=random -50 50
y[1]=random -90 90
z[i]=random -60 60
)
Az X,Y,Z pont-kordináták véletlen számokkal való föltöltése,
példaként az egyszerűség kedvéért
A script
elejére:
Function w w1 w2 w3 w4
w5 w6 w7 w8 w9 wa wb wc =(